Наследование: RTSEngine.Algorithms.ACBudgetedTask
Пример #1
0
        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);
        }