From c9e0870b3875e5bea28468ca481017f83c4cdcec Mon Sep 17 00:00:00 2001 From: chai <215380520@qq.com> Date: Tue, 15 Nov 2022 12:45:13 +0800 Subject: - UnitState --- Erika/Assets/Scripts/Test2/TestErika.cs | 4 +- .../Unit/Components/UnitState/Erika/PCState.cs | 2 +- .../Scripts/Unit/Controller/MonsterController.cs | 4 +- .../Assets/Scripts/Unit/Controller/PCController.cs | 4 +- .../Scripts/Unit/Controller/UnitController.cs | 44 +++++++++------------- 5 files changed, 25 insertions(+), 33 deletions(-) diff --git a/Erika/Assets/Scripts/Test2/TestErika.cs b/Erika/Assets/Scripts/Test2/TestErika.cs index a658f9a0..249080d0 100644 --- a/Erika/Assets/Scripts/Test2/TestErika.cs +++ b/Erika/Assets/Scripts/Test2/TestErika.cs @@ -83,7 +83,7 @@ public class TestErika : SingletonMB //} erika.unit.GetComponent().runtimeAnimatorController = overrideController; - unitCtr.pcState.ChangeState(PCState.EUnitState.Idle, new PCState.IdleParam(), true); + //unitCtr.pcState.ChangeState(PCState.EUnitState.Idle, new PCState.IdleParam(), true); UnitManager.Instance.SetPlayerCharacter(unitCtr as PCController); } @@ -110,7 +110,7 @@ public class TestErika : SingletonMB animCtr.name = monster.unitPrefab.name + " Override Controller"; animator.runtimeAnimatorController = animCtr; - unitCtr.monsterState.ChangeState(MonsterState.EUnitState.Idle, new MonsterState.IdleParam(), true); + //unitCtr.monsterState.ChangeState(MonsterState.EUnitState.Idle, new MonsterState.IdleParam(), true); monster.unitController.transform.position = new Vector3(2, 0, 0); monster.unitController.transform.rotation *= Quaternion.Euler(0, 180, 0); diff --git a/Erika/Assets/Scripts/Unit/Components/UnitState/Erika/PCState.cs b/Erika/Assets/Scripts/Unit/Components/UnitState/Erika/PCState.cs index 083f5a17..4a7d489c 100644 --- a/Erika/Assets/Scripts/Unit/Components/UnitState/Erika/PCState.cs +++ b/Erika/Assets/Scripts/Unit/Components/UnitState/Erika/PCState.cs @@ -165,7 +165,7 @@ public partial class PCState : UnitState { float offset = owner.isTowardRight ? 1.2f : -1.2f; TestErika.Instance.monster.owner.center = owner.center + new Vector3(offset, 0.5f, 0); - ((MonsterController)TestErika.Instance.monster.owner).monsterState.ChangeState(MonsterState.EUnitState.HitInAir, new MonsterState.HitInAirParam(), true); + //((MonsterController)TestErika.Instance.monster.owner).monsterState.ChangeState(MonsterState.EUnitState.HitInAir, new MonsterState.HitInAirParam(), true); return true; } return false; diff --git a/Erika/Assets/Scripts/Unit/Controller/MonsterController.cs b/Erika/Assets/Scripts/Unit/Controller/MonsterController.cs index 28123cdc..d222ea3f 100644 --- a/Erika/Assets/Scripts/Unit/Controller/MonsterController.cs +++ b/Erika/Assets/Scripts/Unit/Controller/MonsterController.cs @@ -10,8 +10,8 @@ public class MonsterController : UnitController { base.Initialize(); - unitState = GetOrAddUnitComponent(); - unitState.Initialize(); + //unitState = GetOrAddUnitComponent(); + //unitState.Initialize(); //unitMotion = GetOrAddUnitComponent(); //unitMotion.Initialize(); diff --git a/Erika/Assets/Scripts/Unit/Controller/PCController.cs b/Erika/Assets/Scripts/Unit/Controller/PCController.cs index a8862b2d..d9ad395c 100644 --- a/Erika/Assets/Scripts/Unit/Controller/PCController.cs +++ b/Erika/Assets/Scripts/Unit/Controller/PCController.cs @@ -24,8 +24,8 @@ public class PCController : UnitController { base.Initialize(); - unitState = GetOrAddUnitComponent(); - unitState.Initialize(); + //unitState = GetOrAddUnitComponent(); + //unitState.Initialize(); //unitMotion = GetOrAddUnitComponent(); //unitMotion.Initialize(); diff --git a/Erika/Assets/Scripts/Unit/Controller/UnitController.cs b/Erika/Assets/Scripts/Unit/Controller/UnitController.cs index 29adff5a..880383ec 100644 --- a/Erika/Assets/Scripts/Unit/Controller/UnitController.cs +++ b/Erika/Assets/Scripts/Unit/Controller/UnitController.cs @@ -16,55 +16,46 @@ public class UnitController : MonoBehaviour/*, Interactable*/ { public enum UnitType { - PC, - Monster, - Prop, + PC, // 玩家角色 + Monster, // 怪物 + Prop, // 场景道具 } public virtual UnitType type { get; } - // 角色共有的组件 + //public UnitState unitState; + //public PCState pcState { get { return unitState as PCState; } } + //public MonsterState monsterState { get { return unitState as MonsterState; } } - public UnitRender unitRender; + //public PCAnimation pcAnimation { get { return unitMotion as PCAnimation; } } + //public MonsterAnimation monsterAnimation { get { return unitMotion as MonsterAnimation; } } - public UnitStatemachine unitStatemachine; + // 角色共有的组件 - public UnitState unitState; - public PCState pcState { get { return unitState as PCState; } } - public MonsterState monsterState { get { return unitState as MonsterState; } } + public UnitRender unitRender; + public UnitStatemachine unitStatemachine; public UnitMotion unitMotion; - //public PCAnimation pcAnimation { get { return unitMotion as PCAnimation; } } - //public MonsterAnimation monsterAnimation { get { return unitMotion as MonsterAnimation; } } - public UnitSkill unitSkill; - public UnitRootMotion unitRootMotion; - public UnitCollider unitCollider; - public UnitDetail unitDetail; - public UnitPhysicsBoxCollection unitPhysicsBoxes; - public UnitBody unitBody; - public UnitLensEffect unitLensEffect; - public UnitPreprocessing unitPreprocessing; public GameObject unitObj; // 角色模型 + public CharacterController unitCharacterController; protected List unitComponents; - public CharacterController unitCharacterController; - #region 事件监听 public delegate void OnTimelineEventHandle(AnimationEventBase animEvent); public OnTimelineEventHandle onTimelineEvent { get; set; } #endregion - #region 朝向 + #region 位置 // 朝向 public Quaternion faceRotation { @@ -91,7 +82,6 @@ public class UnitController : MonoBehaviour/*, Interactable*/ return isTowardRight ? 1 : -1; } } - #endregion public virtual bool isOnGround { @@ -184,10 +174,13 @@ public class UnitController : MonoBehaviour/*, Interactable*/ } } + #endregion + public virtual void Initialize( GameObject obj , string folder) { - unitObj = obj; m_Folder = folder; + + unitObj = obj; unitComponents = new List(); Initialize(); @@ -227,7 +220,6 @@ public class UnitController : MonoBehaviour/*, Interactable*/ unitCharacterController.radius = unitDetail.characterControllerSetting.radius; unitCharacterController.height = unitDetail.characterControllerSetting.height; unitCharacterController.skinWidth = unitDetail.characterControllerSetting.skinWidth; - } private void OnPostInitailize() @@ -251,7 +243,7 @@ public class UnitController : MonoBehaviour/*, Interactable*/ public virtual void Update() { unitRender.OnUpdate(); - unitState.OnUpdate(); + //unitState.OnUpdate(); unitMotion.OnUpdate(); unitSkill.OnUpdate(); unitRootMotion.OnUpdate(); -- cgit v1.1-26-g67d0