private void AddTask(GameState s, RTSSquad squad) { // Init The Squad if (squad.TargetingController != null) { squad.TargetingController.Init(s, this, squad.Team.Race.SCTargeting); } if (squad.MovementController != null) { squad.MovementController.Init(s, this, squad.Team.Race.SCMovementInitArgs); } if (squad.ActionController != null) { squad.ActionController.Init(s, this, squad.Team.Race.SCActionInitArgs); } var bts = new BTaskSquadDecision(s, squad); squad.OnDeath += (o) => { tbSquadDecisions.RemoveTask(bts); }; tbSquadDecisions.AddTask(bts); }
private void AddTask(GameState s, RTSSquad squad) { // Init The Squad if(squad.TargetingController != null) squad.TargetingController.Init(s, this, squad.Team.Race.SCTargeting); if(squad.MovementController != null) squad.MovementController.Init(s, this, squad.Team.Race.SCMovementInitArgs); if(squad.ActionController != null) squad.ActionController.Init(s, this, squad.Team.Race.SCActionInitArgs); var bts = new BTaskSquadDecision(s, squad); squad.OnDeath += (o) => { tbSquadDecisions.RemoveTask(bts); }; tbSquadDecisions.AddTask(bts); }