예제 #1
0
        public static void Main()
        {
            Logger combatLog = new CombatLogger();
            Logger eventLog  = new EventLogger();

            combatLog.SetSuccessor(eventLog);

            Warrior warrior = new Warrior("Mountain", 10, combatLog);
            Dragon  dragon  = new Dragon("Dracarys", 100, 25, combatLog);

            IExecutor executor = new CommandExecutor();

            ICommand targetCommand = new TargetCommand(warrior, dragon);

            targetCommand.Execute();
        }
예제 #2
0
파일: IANormal.cs 프로젝트: bobemv/swarm
    void SearchTargets(Unit unit)
    {
        float minDistance = Mathf.Infinity;
        Unit  target      = null;

        for (int i = 0; i < _playManager.allyUnits.Count; i++)
        {
            float distance;
            distance = Vector3.Distance(_playManager.allyUnits[i].transform.position, unit.transform.position);
            if (distance < minDistance)
            {
                target      = _playManager.allyUnits[i];
                minDistance = distance;
            }
        }

        if (target != null)
        {
            TargetCommand targetCommand = new TargetCommand(target);
            targetCommand.Execute(unit);
        }
    }