From adcb6e7f54e76eb8879f579b53aaab2939a0dbb4 Mon Sep 17 00:00:00 2001 From: wlt233 <1486185683@qq.com> Date: Tue, 16 Apr 2024 21:06:15 +0800 Subject: [PATCH] add action ui; add hotkey; add face override --- Assets/Scenes/Main.cs | 218 +++++++++++++++--- Assets/Scenes/MainScene.unity | Bin 131608 -> 213448 bytes Assets/Scenes/UIFunction.cs | 82 ++++++- Assets/Scenes/{UI.cs => UIHideshow.cs} | 20 +- .../Scenes/{UI.cs.meta => UIHideshow.cs.meta} | 4 +- 5 files changed, 272 insertions(+), 52 deletions(-) rename Assets/Scenes/{UI.cs => UIHideshow.cs} (52%) rename Assets/Scenes/{UI.cs.meta => UIHideshow.cs.meta} (76%) diff --git a/Assets/Scenes/Main.cs b/Assets/Scenes/Main.cs index 17754ff..387a621 100644 --- a/Assets/Scenes/Main.cs +++ b/Assets/Scenes/Main.cs @@ -8,12 +8,14 @@ using UnityEngine.UI; public class Main : MonoBehaviour { #region var - private GameObject chara; + public GameObject chara; private GameObject weapon; private GameObject weaponL; private GameObject weaponR; private GameObject attachment; private RuntimeAnimatorController originAnimator; + private SkinnedMeshRenderer charaFaceRender; + private int faceOverride = 0; private string basePath = "F:/Ongeki_Unity/ab/"; public Dictionary> charaAssetsNames = new Dictionary>(); @@ -21,6 +23,7 @@ public class Main : MonoBehaviour public Dictionary> attachmentAssetsNames = new Dictionary>(); public Dictionary charaWeapon = new Dictionary(); public Dictionary attachmentPosition = new Dictionary(); + public float speed; #endregion void Start() @@ -29,7 +32,8 @@ public class Main : MonoBehaviour loadCharaCSV(); loadWeaponCSV(); loadAttachmentCSV(); - + speed = 1.0f; + GameObject.Find("charaDropdown").GetComponent().value = 14; } @@ -122,6 +126,8 @@ public class Main : MonoBehaviour charaAssetsNames.TryGetValue(charaName, out assetNames); loadPrefab(charaName, assetNames, ref chara); if (charaWeapon[charaName] != null) loadWeapon(charaWeapon[charaName]); + originAnimator = chara.GetComponent().runtimeAnimatorController; + charaFaceRender = chara.GetComponentsInChildren()[1]; } #endregion @@ -155,6 +161,7 @@ public class Main : MonoBehaviour Destroy(parent.GetChild(i).gameObject); Transform childL = Utils.findChildRecursive(weaponL.transform, "l_weapon"); Transform childR = Utils.findChildRecursive(weaponL.transform, "r_weapon"); + removeWeaponButtonListener("L"); if (childL != null) { addWeaponButtonListener(childL.gameObject.AddComponent(), "L"); @@ -181,6 +188,7 @@ public class Main : MonoBehaviour Destroy(parent.GetChild(i).gameObject); Transform childL = Utils.findChildRecursive(weaponR.transform, "l_weapon"); Transform childR = Utils.findChildRecursive(weaponR.transform, "r_weapon"); + removeWeaponButtonListener("R"); if (childL != null) { addWeaponButtonListener(childL.gameObject.AddComponent(), "R"); @@ -263,8 +271,6 @@ public class Main : MonoBehaviour var animatorName = names[i]; var bundle = AssetBundle.LoadFromFile(basePath + animatorName); var aoc = bundle.LoadAsset(animatorName); - if (originAnimator == null) - originAnimator = chara.GetComponent().runtimeAnimatorController; chara.GetComponent().runtimeAnimatorController = aoc; bundle.Unload(false); } @@ -273,18 +279,31 @@ public class Main : MonoBehaviour - #region Internal - void addWeaponButtonListener(RemoveAnimationTransfrom rat, string LR) + #region Face + public void setFace(int i) + { + GameObject.Find("faceDropdown").GetComponent().value = i; + faceOverride = i; + } + #endregion + + + + #region Model Internal + void removeWeaponButtonListener(string LR) { GameObject.Find(string.Format("weapon{0}x", LR)).GetComponent