remove splash; add icon; add folder picker; fix MotionEffectManager (version 1.0)

master 1.0
wlt233 8 months ago
parent 118bfbfba8
commit 07c81e832b

@ -0,0 +1,115 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using UnityEngine;
public static class FolderPicker
{
public static string GetPath()
{
OpenDialogDir ofn2 = new OpenDialogDir();
ofn2.pszDisplayName = new string(new char[2000]);
ofn2.lpszTitle = "请选择至 package\\mu3_Data\\StreamingAssets\\assets";
// ofn2.pidlRoot = IntPtr.Zero;
IntPtr pidlPtr = DllOpenFileDialog.SHBrowseForFolder(ofn2);
// return "";
char[] charArray = new char[2000];
for (int i = 0; i < 2000; i++)
charArray[i] = '\0';
DllOpenFileDialog.SHGetPathFromIDList(pidlPtr, charArray);
string fullDirPath = new String(charArray);
fullDirPath = fullDirPath.Substring(0, fullDirPath.IndexOf('\0'));
fullDirPath += "\\";
Debug.Log(fullDirPath);
return fullDirPath;
}
public static string GetFilePath()
{
string filepath = "";
OpenDialogFile pth = new OpenDialogFile();
pth.structSize = Marshal.SizeOf(pth);
pth.filter = "All files (*.*)|*.*";
pth.file = new string(new char[256]);
pth.maxFile = pth.file.Length;
pth.fileTitle = new string(new char[64]);
pth.maxFileTitle = pth.fileTitle.Length;
pth.initialDir = Application.dataPath; //默认路径
pth.title = "请选择文件";
pth.defExt = "";
pth.flags = 0x00080000 | 0x00001000 | 0x00000800 | 0x00000200 | 0x00000008;
if (DllOpenFileDialog.GetSaveFileName(pth))
// if (DllOpenFileDialog.GetOpenFileName(pth))
{
filepath = pth.file; //选择的文件路径;
Debug.Log(filepath);
}
return filepath;
}
}
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Auto)]
public class OpenDialogFile
{
public int structSize = 0;
public IntPtr dlgOwner = IntPtr.Zero;
public IntPtr instance = IntPtr.Zero;
public String filter = null;
public String customFilter = null;
public int maxCustFilter = 0;
public int filterIndex = 0;
public String file = null;
public int maxFile = 0;
public String fileTitle = null;
public int maxFileTitle = 0;
public String initialDir = null;
public String title = null;
public int flags = 0;
public short fileOffset = 0;
public short fileExtension = 0;
public String defExt = null;
public IntPtr custData = IntPtr.Zero;
public IntPtr hook = IntPtr.Zero;
public String templateName = null;
public IntPtr reservedPtr = IntPtr.Zero;
public int reservedInt = 0;
public int flagsEx = 0;
}
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Auto)]
public class OpenDialogDir
{
public IntPtr hwndOwner = IntPtr.Zero;
public IntPtr pidlRoot = IntPtr.Zero;
public String pszDisplayName = null;
public String lpszTitle = null;
public UInt32 ulFlags = 0;
public IntPtr lpfn = IntPtr.Zero;
public IntPtr lParam = IntPtr.Zero;
public int iImage = 0;
}
public class DllOpenFileDialog
{
[DllImport("Comdlg32.dll", SetLastError = true, ThrowOnUnmappableChar = true, CharSet = CharSet.Auto)]
public static extern bool GetOpenFileName([In, Out] OpenDialogFile ofn);
[DllImport("Comdlg32.dll", SetLastError = true, ThrowOnUnmappableChar = true, CharSet = CharSet.Auto)]
public static extern bool GetSaveFileName([In, Out] OpenDialogFile ofn);
[DllImport("shell32.dll", SetLastError = true, ThrowOnUnmappableChar = true, CharSet = CharSet.Auto)]
public static extern IntPtr SHBrowseForFolder([In, Out] OpenDialogDir ofn);
[DllImport("shell32.dll", SetLastError = true, ThrowOnUnmappableChar = true, CharSet = CharSet.Auto)]
public static extern bool SHGetPathFromIDList([In] IntPtr pidl, [In, Out] char[] fileName);
}

@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: add8a7c7b82cf764f97c8366cdc08527
timeCreated: 1713283664
licenseType: Pro
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

@ -15,9 +15,10 @@ public class Main : MonoBehaviour
private GameObject attachment; private GameObject attachment;
private RuntimeAnimatorController originAnimator; private RuntimeAnimatorController originAnimator;
private SkinnedMeshRenderer charaFaceRender; private SkinnedMeshRenderer charaFaceRender;
private MotionEffectManager charaMotion;
private int faceOverride = 0; private int faceOverride = 0;
private string basePath = "F:/Ongeki_Unity/ab/"; private string basePath;
public Dictionary<string, List<string>> charaAssetsNames = new Dictionary<string, List<string>>(); public Dictionary<string, List<string>> charaAssetsNames = new Dictionary<string, List<string>>();
public Dictionary<string, List<string>> weaponAssetsNames = new Dictionary<string, List<string>>(); public Dictionary<string, List<string>> weaponAssetsNames = new Dictionary<string, List<string>>();
public Dictionary<string, List<string>> attachmentAssetsNames = new Dictionary<string, List<string>>(); public Dictionary<string, List<string>> attachmentAssetsNames = new Dictionary<string, List<string>>();
@ -28,6 +29,8 @@ public class Main : MonoBehaviour
void Start() void Start()
{ {
basePath = FolderPicker.GetPath();
loadCommonAssets(); loadCommonAssets();
loadCharaCSV(); loadCharaCSV();
loadWeaponCSV(); loadWeaponCSV();
@ -117,9 +120,15 @@ public class Main : MonoBehaviour
var assetNames = new List<string>(); var assetNames = new List<string>();
charaAssetsNames.TryGetValue(charaName, out assetNames); charaAssetsNames.TryGetValue(charaName, out assetNames);
loadPrefab(charaName, assetNames, ref chara); loadPrefab(charaName, assetNames, ref chara);
if (charaWeapon[charaName] != null) loadWeapon(charaWeapon[charaName]); if (charaWeapon[charaName] != null) loadWeapon(charaWeapon[charaName]);
originAnimator = chara.GetComponent<Animator>().runtimeAnimatorController; originAnimator = chara.GetComponent<Animator>().runtimeAnimatorController;
charaFaceRender = chara.GetComponentsInChildren<SkinnedMeshRenderer>()[1]; charaFaceRender = chara.GetComponentsInChildren<SkinnedMeshRenderer>()[1];
charaMotion = chara.GetComponent<MotionEffectManager>();
charaMotion.isAttached = true;
charaMotion.attachmentMotionIndex = 0;
charaMotion.initialize();
} }
#endregion #endregion
@ -384,6 +393,7 @@ public class Main : MonoBehaviour
{ {
setState(1); setState(1);
if (i == 1 || i == 2 || i == 3) setFace(1); if (i == 1 || i == 2 || i == 3) setFace(1);
//if (i == 0 || i == 1 || i == 2 || i == 3) charaMotion.TriggerEffect("StartEffect_attack_a_001");
string[] names = { string[] names = {
"Attack_A", "Attack_A",
"Attack_A_002", "Attack_A_002",
@ -478,22 +488,7 @@ public class Main : MonoBehaviour
t.isOn = !t.isOn; t.isOn = !t.isOn;
} }
// if (Input.GetMouseButtonDown(0)) { }
if (Input.GetMouseButtonDown(1))
{
//MotionEffectManager mem = chara.GetComponent<MotionEffectManager>();
//mem.isAttached = true;
//mem.attachmentMotionIndex = 0;
//mem.initialize();
//mem.TriggerEffect("StartEffect_attack_c_003");
}
} }
void LateUpdate() void LateUpdate()

Binary file not shown.

After

Width:  |  Height:  |  Size: 282 KiB

@ -0,0 +1,68 @@
fileFormatVersion: 2
guid: db03af20c99b3cc478aea1152a0cd2bd
timeCreated: 1713282190
licenseType: Pro
TextureImporter:
fileIDToRecycleName: {}
serializedVersion: 4
mipmaps:
mipMapMode: 0
enableMipMap: 1
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
filterMode: -1
aniso: -1
mipBias: -1
wrapMode: -1
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spritePixelsToUnits: 100
alphaUsage: 1
alphaIsTransparency: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
platformSettings:
- buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
spritePackingTag:
userData:
assetBundleName:
assetBundleVariant:
Loading…
Cancel
Save