diff options
21 files changed, 165 insertions, 58 deletions
diff --git a/Documents/设定/关卡.xlsx b/Documents/设定/关卡.xlsx Binary files differnew file mode 100644 index 0000000..65c4fb4 --- /dev/null +++ b/Documents/设定/关卡.xlsx diff --git a/WorldlineKeepers/Assets/Scripts/Phase/GameStages.cs b/WorldlineKeepers/Assets/Scripts/Phase/GamePhase.cs index fd12758..fd12758 100644 --- a/WorldlineKeepers/Assets/Scripts/Phase/GameStages.cs +++ b/WorldlineKeepers/Assets/Scripts/Phase/GamePhase.cs diff --git a/WorldlineKeepers/Assets/Scripts/Phase/GameStage_Battle.cs.meta b/WorldlineKeepers/Assets/Scripts/Phase/GamePhase.cs.meta index 9104992..26696f8 100644 --- a/WorldlineKeepers/Assets/Scripts/Phase/GameStage_Battle.cs.meta +++ b/WorldlineKeepers/Assets/Scripts/Phase/GamePhase.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: ad0f7465a835f2942ab4a37df3a827b4 +guid: 3354f74823c957545919ce2ee26955ca MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/WorldlineKeepers/Assets/Scripts/Phase/GameStageBase.cs b/WorldlineKeepers/Assets/Scripts/Phase/GamePhaseBase.cs index a285d68..ddad500 100644 --- a/WorldlineKeepers/Assets/Scripts/Phase/GameStageBase.cs +++ b/WorldlineKeepers/Assets/Scripts/Phase/GamePhaseBase.cs @@ -27,7 +27,7 @@ namespace WK protected void GotoStage(EGamePhase target) { - owner.AsyncLoadStage(target); + owner.AsyncLoadPhase(target); } } diff --git a/WorldlineKeepers/Assets/Scripts/Phase/GameStageBase.cs.meta b/WorldlineKeepers/Assets/Scripts/Phase/GamePhaseBase.cs.meta index 15a5c56..8fd6b14 100644 --- a/WorldlineKeepers/Assets/Scripts/Phase/GameStageBase.cs.meta +++ b/WorldlineKeepers/Assets/Scripts/Phase/GamePhaseBase.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 432eadb305e58da4897534478987c4da +guid: ae7c01c4716e3d044ae7614b794621d4 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/WorldlineKeepers/Assets/Scripts/Phase/GameStageManager.cs b/WorldlineKeepers/Assets/Scripts/Phase/GamePhaseManager.cs index d2edf01..bb63732 100644 --- a/WorldlineKeepers/Assets/Scripts/Phase/GameStageManager.cs +++ b/WorldlineKeepers/Assets/Scripts/Phase/GamePhaseManager.cs @@ -14,9 +14,9 @@ namespace WK public sealed class GamePhaseManager : Singleton<GamePhaseManager>, ISubsystem { private AsyncStatemachine m_Statemachine; - private int[] stages = new int[(int)EGamePhase.Num]; - private EGamePhase prevStage = EGamePhase.Launch; - private EGamePhase curStage = EGamePhase.Launch; + private int[] phases = new int[(int)EGamePhase.Num]; + private EGamePhase prevPhase = EGamePhase.Launch; + private EGamePhase curPhase = EGamePhase.Launch; public void OnAwake() { @@ -28,12 +28,12 @@ namespace WK { m_Statemachine = new AsyncStatemachine(); - stages[(int)EGamePhase.Launch] = m_Statemachine.RegisterState(new GamePhase_Launch()); - stages[(int)EGamePhase.Main] = m_Statemachine.RegisterState(new GamePhase_Main()); - stages[(int)EGamePhase.Battle] = m_Statemachine.RegisterState(new GamePhase_Battle()); - stages[(int)EGamePhase.Dojo] = m_Statemachine.RegisterState(new GamePhase_Dojo()); + phases[(int)EGamePhase.Launch] = m_Statemachine.RegisterState(new GamePhase_Launch()); + phases[(int)EGamePhase.Main] = m_Statemachine.RegisterState(new GamePhase_Main()); + phases[(int)EGamePhase.Battle] = m_Statemachine.RegisterState(new GamePhase_Battle()); + phases[(int)EGamePhase.Dojo] = m_Statemachine.RegisterState(new GamePhase_Dojo()); - m_Statemachine.Start(stages[(int)EGamePhase.Launch]); + m_Statemachine.Start(phases[(int)EGamePhase.Launch]); } public void OnStart() @@ -61,10 +61,10 @@ namespace WK { } - public void AsyncLoadStage(EGamePhase stage, bool forceLoad = false, AsyncStatemachine.LoadStateComplete loadStateComplete = null) + public void AsyncLoadPhase(EGamePhase phase, bool forceLoad = false, AsyncStatemachine.LoadStateComplete loadStateComplete = null) { - int curRunStage = m_Statemachine.GetCurStateID(); - if (!forceLoad && curRunStage == stages[(int)stage]) + int curRunPhase = m_Statemachine.GetCurStateID(); + if (!forceLoad && curRunPhase == phases[(int)phase]) { if (null != loadStateComplete) { @@ -73,21 +73,21 @@ namespace WK return; } - //LogHelper.LogEditorError("==> StageChange:" + curStage + " --> " + (EGamePhase)stage); + //LogHelper.LogEditorError("==> PhaseChange:" + curPhase + " --> " + (EGamePhase)phase); - prevStage = curStage; - curStage = stage; - m_Statemachine.GotoState(stages[(int)stage], false, forceLoad, loadStateComplete); + prevPhase = curPhase; + curPhase = phase; + m_Statemachine.GotoState(phases[(int)phase], false, forceLoad, loadStateComplete); } - public EGamePhase GetCurStage() + public EGamePhase GetCurPhase() { - return curStage; + return curPhase; } - public EGamePhase GetPrevStage() + public EGamePhase GetPrevPhase() { - return prevStage; + return prevPhase; } } diff --git a/WorldlineKeepers/Assets/Scripts/Phase/GameStage_Dojo.cs.meta b/WorldlineKeepers/Assets/Scripts/Phase/GamePhaseManager.cs.meta index d4e25cf..5362aae 100644 --- a/WorldlineKeepers/Assets/Scripts/Phase/GameStage_Dojo.cs.meta +++ b/WorldlineKeepers/Assets/Scripts/Phase/GamePhaseManager.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 30c90d11e59fd3f42b4568e275bb3fbe +guid: 0a301d589b1561b4992640f89bb36326 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/WorldlineKeepers/Assets/Scripts/Phase/GameStage_Battle.cs b/WorldlineKeepers/Assets/Scripts/Phase/GamePhase_Battle.cs index 9cb86e3..9cb86e3 100644 --- a/WorldlineKeepers/Assets/Scripts/Phase/GameStage_Battle.cs +++ b/WorldlineKeepers/Assets/Scripts/Phase/GamePhase_Battle.cs diff --git a/WorldlineKeepers/Assets/Scripts/Phase/GameStageManager.cs.meta b/WorldlineKeepers/Assets/Scripts/Phase/GamePhase_Battle.cs.meta index 0ce1cb9..2fb4c80 100644 --- a/WorldlineKeepers/Assets/Scripts/Phase/GameStageManager.cs.meta +++ b/WorldlineKeepers/Assets/Scripts/Phase/GamePhase_Battle.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 4b7f17be1928ff849ba0d7d28ca8e87d +guid: 7ca12b5cd06d61b46b0818a7f0dd509a MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/WorldlineKeepers/Assets/Scripts/Phase/GameStage_Dojo.cs b/WorldlineKeepers/Assets/Scripts/Phase/GamePhase_Dojo.cs index 2b7acd7..2b7acd7 100644 --- a/WorldlineKeepers/Assets/Scripts/Phase/GameStage_Dojo.cs +++ b/WorldlineKeepers/Assets/Scripts/Phase/GamePhase_Dojo.cs diff --git a/WorldlineKeepers/Assets/Scripts/Phase/GamePhase_Dojo.cs.meta b/WorldlineKeepers/Assets/Scripts/Phase/GamePhase_Dojo.cs.meta new file mode 100644 index 0000000..7696aeb --- /dev/null +++ b/WorldlineKeepers/Assets/Scripts/Phase/GamePhase_Dojo.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 2b34c3f536ca90641a06139dfd3750c6 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/WorldlineKeepers/Assets/Scripts/Phase/GameStage_Launch.cs b/WorldlineKeepers/Assets/Scripts/Phase/GamePhase_Launch.cs index 2f5abe0..2f5abe0 100644 --- a/WorldlineKeepers/Assets/Scripts/Phase/GameStage_Launch.cs +++ b/WorldlineKeepers/Assets/Scripts/Phase/GamePhase_Launch.cs diff --git a/WorldlineKeepers/Assets/Scripts/Phase/GamePhase_Launch.cs.meta b/WorldlineKeepers/Assets/Scripts/Phase/GamePhase_Launch.cs.meta new file mode 100644 index 0000000..bda1403 --- /dev/null +++ b/WorldlineKeepers/Assets/Scripts/Phase/GamePhase_Launch.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 9977d480dc2050649b94f8b5361b4e53 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/WorldlineKeepers/Assets/Scripts/Phase/GameStage_Main.cs b/WorldlineKeepers/Assets/Scripts/Phase/GamePhase_Main.cs index 8b8b321..8b8b321 100644 --- a/WorldlineKeepers/Assets/Scripts/Phase/GameStage_Main.cs +++ b/WorldlineKeepers/Assets/Scripts/Phase/GamePhase_Main.cs diff --git a/WorldlineKeepers/Assets/Scripts/Phase/GamePhase_Main.cs.meta b/WorldlineKeepers/Assets/Scripts/Phase/GamePhase_Main.cs.meta new file mode 100644 index 0000000..4396690 --- /dev/null +++ b/WorldlineKeepers/Assets/Scripts/Phase/GamePhase_Main.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: d779d373139838f48b3d55f18397b398 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/WorldlineKeepers/Assets/Scripts/Phase/GameStage_Launch.cs.meta b/WorldlineKeepers/Assets/Scripts/Phase/GameStage_Launch.cs.meta deleted file mode 100644 index aa30aaa..0000000 --- a/WorldlineKeepers/Assets/Scripts/Phase/GameStage_Launch.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 140927b1845ec1846814b71c4e114ad8 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/WorldlineKeepers/Assets/Scripts/Phase/GameStage_Main.cs.meta b/WorldlineKeepers/Assets/Scripts/Phase/GameStage_Main.cs.meta deleted file mode 100644 index 5add0f2..0000000 --- a/WorldlineKeepers/Assets/Scripts/Phase/GameStage_Main.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 102ce3dadc4654b44838f17cf9415384 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/WorldlineKeepers/Assets/Scripts/Phase/GameStages.cs.meta b/WorldlineKeepers/Assets/Scripts/Phase/GameStages.cs.meta deleted file mode 100644 index ea2c442..0000000 --- a/WorldlineKeepers/Assets/Scripts/Phase/GameStages.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: a4b80a072bd95b643a7c2295281f3174 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/WorldlineKeepers/Assets/Scripts/Tools/ChildLocator.cs b/WorldlineKeepers/Assets/Scripts/Tools/ChildLocator.cs new file mode 100644 index 0000000..bc550ac --- /dev/null +++ b/WorldlineKeepers/Assets/Scripts/Tools/ChildLocator.cs @@ -0,0 +1,96 @@ +using System; +using UnityEngine; + +[DisallowMultipleComponent] +public class ChildLocator : MonoBehaviour +{ + [Serializable] + private struct NameTransformPair + { + public string name; + + public Transform transform; + } + + [SerializeField] + private NameTransformPair[] transformPairs = Array.Empty<NameTransformPair>(); + + public int Count => transformPairs.Length; + + public int FindChildIndex(string childName) + { + for (int i = 0; i < transformPairs.Length; i++) + { + if (childName == transformPairs[i].name) + { + return i; + } + } + return -1; + } + + public int FindChildIndex(Transform childTransform) + { + for (int i = 0; i < transformPairs.Length; i++) + { + if ((object)childTransform == transformPairs[i].transform) + { + return i; + } + } + return -1; + } + + public string FindChildName(int childIndex) + { + if ((uint)childIndex < transformPairs.Length) + { + return transformPairs[childIndex].name; + } + return null; + } + + public Transform FindChild(string childName) + { + return FindChild(FindChildIndex(childName)); + } + + public GameObject FindChildGameObject(int childIndex) + { + Transform transform = FindChild(childIndex); + if (!transform) + { + return null; + } + return transform.gameObject; + } + + public GameObject FindChildGameObject(string childName) + { + return FindChildGameObject(FindChildIndex(childName)); + } + + public Transform FindChild(int childIndex) + { + if ((uint)childIndex < transformPairs.Length) + { + return transformPairs[childIndex].transform; + } + return null; + } + + public T FindChildComponent<T>(string childName) + { + return FindChildComponent<T>(FindChildIndex(childName)); + } + + public T FindChildComponent<T>(int childIndex) + { + Transform transform = FindChild(childIndex); + if (!transform) + { + return default(T); + } + return transform.GetComponent<T>(); + } +} diff --git a/WorldlineKeepers/Assets/Scripts/Tools/ChildLocator.cs.meta b/WorldlineKeepers/Assets/Scripts/Tools/ChildLocator.cs.meta new file mode 100644 index 0000000..cb7b5a6 --- /dev/null +++ b/WorldlineKeepers/Assets/Scripts/Tools/ChildLocator.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: c368a27551e7eb042a9e8cbb0735be81 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/WorldlineKeepers/Assets/Scripts/UI/Panels/PanelEntries/PanelEntries.cs b/WorldlineKeepers/Assets/Scripts/UI/Panels/PanelEntries/PanelEntries.cs index 12bf678..8c44777 100644 --- a/WorldlineKeepers/Assets/Scripts/UI/Panels/PanelEntries/PanelEntries.cs +++ b/WorldlineKeepers/Assets/Scripts/UI/Panels/PanelEntries/PanelEntries.cs @@ -19,7 +19,7 @@ namespace WK.UI private void OnClickDojo() { - GamePhaseManager.Instance.AsyncLoadStage(EGamePhase.Dojo); + GamePhaseManager.Instance.AsyncLoadPhase(EGamePhase.Dojo); } |