using System.Collections.Generic; using UnityEngine; using UnityEngine.Serialization; namespace Game { [System.Serializable] public class NumAttacker { public EAIModuleType type; public int num; } public class LevelNodeMonsterWave : LevelNode { [FormerlySerializedAs("AttackRound")] [Header("攻击周期(秒)")] public float attackRound; [FormerlySerializedAs("AttackFrequency")] [Header("攻击频率(秒/次)")] public float attackFrequency; [FormerlySerializedAs("AttackTimes")] [Header("攻击次数")] public int attackTimes; [FormerlySerializedAs("NumAttackers")] [Header("同时攻击人数")] public NumAttacker[] numAttackers; private int _mWaveIndex; private LevelNodeMonster[] _mMonsterList; private Dictionary _mNumAttackerDict = new Dictionary(); public override void OnInit() { _mMonsterList = GetComponentsInChildren(); for (EAIModuleType i = 0; i < EAIModuleType.Max; i++) { _mNumAttackerDict[i] = 0; } for (int i = 0; i < numAttackers.Length; i++) { var item = numAttackers[i]; _mNumAttackerDict[item.type] += item.num; } } public LevelNodeMonster[] GetMonsters() { return _mMonsterList; } public int GetModuleNum(EAIModuleType type) { return _mNumAttackerDict[type]; } public void SetWaveIndex(int index) { _mWaveIndex = index; } public int GetWaveIndex() { return _mWaveIndex; } } }