diff options
Diffstat (limited to 'Assets/Scripts/AbilitySystem/AbilitySystem.cs')
-rw-r--r-- | Assets/Scripts/AbilitySystem/AbilitySystem.cs | 90 |
1 files changed, 0 insertions, 90 deletions
diff --git a/Assets/Scripts/AbilitySystem/AbilitySystem.cs b/Assets/Scripts/AbilitySystem/AbilitySystem.cs deleted file mode 100644 index 46156c55..00000000 --- a/Assets/Scripts/AbilitySystem/AbilitySystem.cs +++ /dev/null @@ -1,90 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -/// <summary> -/// 每个角色拥有一个ablity system -/// </summary> -public class AbilitySystem -{ - private static List<AbilitySystem> AbilitySystems = new List<AbilitySystem>(); - - /// <summary> - /// 当前执行的ability - /// </summary> - private AbilityBase m_Currrent; - - public AbilityBase Current - { - get - { - return m_Currrent; - } - } - - private List<AbilityBase> m_Abilities = new List<AbilityBase>(); - - public AbilitySystem() - { - AbilitySystems.Add(this); - } - - public static void Update() - { - foreach(var systems in AbilitySystems) - { - systems.OnUpdate(); - } - } - - public static void LateUpdate() - { - foreach (var systems in AbilitySystems) - { - systems.OnLateUpdate(); - } - } - - public void ForceStart(AbilityBase ability) - { - if (ability == null) - return; - - if (m_Currrent != null) - m_Currrent.OnExit(); - - m_Currrent = ability; - m_Currrent.OnEnter(); - } - - public void AddAbility(AbilityBase ability) - { - m_Abilities.Add(ability); - } - - public void OnUpdate() - { - if(m_Currrent != null) - { - m_Currrent.OnUpdate(); - } - } - - public void OnLateUpdate() - { - if(m_Currrent != null) - { - m_Currrent.OnLateUpdate(); - } - } - - - public void SwitchToAbility(AbilityBase targetAbility) - { - if (m_Currrent != null) - m_Currrent.OnExit(); - m_Currrent = targetAbility; - m_Currrent.OnEnter(); - } - -}
\ No newline at end of file |