Пример #1
0
        public object Action(Buttons button, int param, Coord pos)
        {
            switch (button)
            {
            case Buttons.SpawnUnit:
                return(IAction.SpawnUnit((Unit.typeUnit)param));

            case Buttons.UpgradeTown:
                IAction.UpgradeTown();
                break;

            case Buttons.Market:
                IAction.Market();
                break;

            case Buttons.NextTurn:
                nextTurn();
                break;

            case Buttons.Left:
            case Buttons.Right:
                switch (map.Map[pos.X, pos.Y].type)
                {
                case GameObj.typeObj.empty when button == Buttons.Left:
                    return(IAction.MoveUnit(pos));

                case GameObj.typeObj.unit when button == Buttons.Left:
                    IAction.SelectUnit((Unit)map.Map[pos.X, pos.Y]);
                    break;

                case GameObj.typeObj.unit when button == Buttons.Right:
                case GameObj.typeObj.town when button == Buttons.Right:
                    return(IAction.Attack(map.Map[pos.X, pos.Y]));

                case GameObj.typeObj.mine when button == Buttons.Right:
                    IAction.CaptureMine((Mine)map.Map[pos.X, pos.Y]);
                    break;
                }
                break;
            }
            return(null);
        }