diff options
Diffstat (limited to 'marching/Assets/Scripts/Unit/Characters/CharacterInfo.cs')
-rw-r--r-- | marching/Assets/Scripts/Unit/Characters/CharacterInfo.cs | 93 |
1 files changed, 75 insertions, 18 deletions
diff --git a/marching/Assets/Scripts/Unit/Characters/CharacterInfo.cs b/marching/Assets/Scripts/Unit/Characters/CharacterInfo.cs index 4a39895..950b7ae 100644 --- a/marching/Assets/Scripts/Unit/Characters/CharacterInfo.cs +++ b/marching/Assets/Scripts/Unit/Characters/CharacterInfo.cs @@ -3,35 +3,92 @@ using System.Collections; using System.Collections.Generic; using Unity.VisualScripting; using UnityEngine; +using WK.Data; +using WK; -public class CharacterInfo +namespace WK { - /// <summary> - /// 角色所有属性 - /// </summary> - private List<CharacterStatsBase> m_Stats; + public class CharacterStatsCollection + { + + } + + public class CharacterBuffsCollection + { + + } + + public class CharacterPerksCollection + { + + } /// <summary> - /// 角色当前所有buff - /// </summary> - private List<Buff> m_Buffs; - - /// <summary> - /// 角色当前所有被动 + /// 角色当前状态 /// </summary> - private List<PerkBase> m_Perks; - - public CharacterStatsBase GetStats(string statsUID) + public class CharacterInfo { - for(int i = 0; i < m_Stats.Count; ++i) + + /// <summary> + /// 角色当前所有属性 + /// </summary> + private List<CharacterStats> m_Stats; + + public CharacterStatsCollection stats { get { return m_AllStats; } } + private CharacterStatsCollection m_AllStats; + + /// <summary> + /// 角色当前所有buff + /// </summary> + private List<Buff> m_Buffs; + + /// <summary> + /// 角色当前所有被动 + /// </summary> + private List<PerkBase> m_Perks; + + public CharacterStats this[string statsUID] { - if (m_Stats[i].UID == statsUID) + get { - return m_Stats[i]; + if (m_Stats == null) + { + return null; + } + return GetStats(statsUID); } } - return null; + + public CharacterStats GetStats(string statsUID) + { + for (int i = 0; i < m_Stats.Count; ++i) + { + if (m_Stats[i].uid == statsUID) + { + return m_Stats[i]; + } + } + return null; + } + + public bool HasStats(string statsUID) + { + for (int i = 0; i < m_Stats.Count; ++i) + { + if (m_Stats[i].uid == statsUID) + { + return true; + } + } + return false; + } + + public bool HasBuff(string buffUID) + { + return false; + } + } } |