Exemplo n.º 1
0
        public void HandleThreats()
        {
            List <Task>     tasks           = new List <Task>();
            List <Creature> threatsToRemove = new List <Creature>();

            foreach (Creature threat in Threats)
            {
                if (threat != null && !threat.IsDead)
                {
                    Task g = new KillEntityTask(threat.Physics, KillEntityTask.KillType.Auto);

                    if (!IsTaskAssigned(g))
                    {
                        Designations.AddEntityDesignation(threat.Physics, DesignationType.Attack);
                        tasks.Add(g);
                    }
                    else
                    {
                        threatsToRemove.Add(threat);
                    }
                }
                else
                {
                    threatsToRemove.Add(threat);
                }
            }

            foreach (Creature threat in threatsToRemove)
            {
                Threats.Remove(threat);
            }

            TaskManager.AssignTasks(tasks, Minions);
        }