| | |
| | | // 记录正在处理死亡的角色ID,防止重复处理 |
| | | private HashSet<uint> processingDeathObjIds = new HashSet<uint>(); |
| | | |
| | | private Dictionary<long, List<SkillBase>> castingSkillDict = new Dictionary<long, List<SkillBase>>(); |
| | | |
| | | public BattleSoundManager soundManager; |
| | | |
| | | #if UNITY_EDITOR |
| | |
| | | processingDeathObjIds = new HashSet<uint>(); |
| | | } |
| | | |
| | | public void AddCastingSkill(long objID, SkillBase skill) |
| | | { |
| | | List<SkillBase> skillBases = null; |
| | | |
| | | if (castingSkillDict.TryGetValue(objID, out skillBases)) |
| | | { |
| | | skillBases.Add(skill); |
| | | } |
| | | else |
| | | { |
| | | skillBases = new List<SkillBase>(); |
| | | skillBases.Add(skill); |
| | | castingSkillDict.Add(objID, skillBases); |
| | | } |
| | | } |
| | | |
| | | public void RemoveCastingSkill(long objID, SkillBase skillBase) |
| | | { |
| | | List<SkillBase> skillBases = null; |
| | | |
| | | if (castingSkillDict.TryGetValue(objID, out skillBases)) |
| | | { |
| | | skillBases.Remove(skillBase); |
| | | |
| | | if (skillBases.Count == 0) |
| | | { |
| | | castingSkillDict.Remove(objID); |
| | | } |
| | | } |
| | | } |
| | | |
| | | public bool IsCastingSkill(long objID) |
| | | { |
| | | return castingSkillDict.ContainsKey(objID); |
| | | } |
| | | |
| | | public virtual void Init(int _MapID, int _FuncLineID, JsonData _extendData, |
| | | List<TeamBase> _redTeamList, List<TeamBase> _blueTeamList, byte turnMax) |
| | | { |