public Space(int _levelIndex) { unitPlayer = new Unit[MAX_UNITS]; unitEnemy = new Unit[MAX_UNITS]; cursor = new Cursor(new Point(0, 0)); isRunning = true; isShowPhase = true; phase = SpacePhase.SET_UFO; actionPhase = ActionPhase.SELECT_UNIT; selectedUnit = -1; turnNo = 1; isPlayerTurn = true; isShowTurnInfo = false; actionCursor = 1; phaseDelegate = (string _text) => Console.WriteLine(_text); clsScreenDelegate = () => { Console.WriteLine(" Жми любую клавишу для продолжения"); Console.ReadKey(); Console.Clear(); }; for (int i = 0; i < MAX_UNITS; ++i) { unitPlayer[i].SetData(UnitType.NO_UNIT, new Point(0, 0)); unitEnemy[i].SetData(UnitType.NO_UNIT, new Point(0, 0)); } elements = null; switch (_levelIndex) { default: { /*nothing to do*/ } break; case 1: { elements = new Element[3]; elements[0] = new Element(new Point(0, 0), "Зира", Type.STAR, Status.NO_STATUS); // 40 9 elements[1] = new Element(new Point(0, Settings.SPACE_HEIGHT - 1), "Унив", Type.PLANET, Status.OPONENT_OWNER); elements[2] = new Element(new Point(Settings.SPACE_WIDTH - 1, Settings.SPACE_HEIGHT - 1), "Кло", Type.PLANET, Status.OPONENT_OWNER); unitPlayer[0].SetData(UnitType.AVENGER, new Point(0, 3)); unitPlayer[1].SetData(UnitType.BATTLE_WAGON, new Point(10, 3)); unitPlayer[2].SetData(UnitType.BOMBER, new Point(20, 3)); unitPlayer[3].SetData(UnitType.UFO, new Point(30, 3)); unitPlayer[4].SetData(UnitType.ROBO_WARRIOR, new Point(40, 3)); unitPlayer[5].SetData(UnitType.SOCIALIST, new Point(50, 3)); unitEnemy[0].SetData(UnitType.AVENGER, new Point(5, 0)); unitEnemy[1].SetData(UnitType.BATTLE_WAGON, new Point(10, 0)); unitEnemy[2].SetData(UnitType.BOMBER, new Point(15, 0)); unitEnemy[3].SetData(UnitType.UFO, new Point(20, 0)); } break; case 2: { elements = new Element[3]; elements[0] = new Element(new Point(40, 9), "Зира", Type.STAR, Status.NO_STATUS); elements[1] = new Element(new Point(20, 5), "Унив", Type.PLANET, Status.OPONENT_OWNER); elements[2] = new Element(new Point(60, 10), "Кло", Type.PLANET, Status.OPONENT_OWNER); } break; case 3: { elements = new Element[3]; elements[0] = new Element(new Point(40, 10), "Зира", Type.STAR, Status.NO_STATUS); elements[1] = new Element(new Point(20, 5), "Унив", Type.PLANET, Status.OPONENT_OWNER); elements[2] = new Element(new Point(60, 15), "Кло", Type.PLANET, Status.OPONENT_OWNER); } break; } }
public DelegateBlock(HaxeEmitterContext context, PhaseDelegate type) : base(context) { _type = type; }