using System.Collections.Generic; using UnityEngine; public class BattleManager : GameSystemManager { protected Dictionary battleFields = new Dictionary(); public override void Init() { base.Init(); EventBroadcast.Instance.AddListener(EventName.BATTLE_ACTION_OVER, OnActionOver); } public override void Release() { base.Release(); } private void OnActionOver(int battleFieldId, int attackId) { BattleField battleField = null; if (battleFields.TryGetValue(battleFieldId, out battleField)) { battleField.OnActionOver(attackId); } else { Debug.LogError("BattleManager OnActionOver battleFieldId:" + battleFieldId + " not find"); } } public void Run() { foreach (var battleField in battleFields) { battleField.Value.Run(); } } }