private string MoveToLevel(string[] strings) { if (_game.Levels?[int.Parse(strings[0])] == null) { return("World is null, or doesn't exist!"); } _game.SetMenu(new LevelTransitionMenu(int.Parse(strings[0]), true)); return("Moved to new level"); }
protected internal override void HandleInput(InputHandler input) { if (!input.Attack.Clicked && !input.Menu.Clicked) { return; } if (!Enabled) { return; } if (ClickSound) { GameEffectManager.Play("test"); } _game.SetMenu(new AnimatedTransitionMenu(_goto)); }
public override void Init(McGame game, InputHandler input) { base.Init(game, input); var options = new List <Option> { new ChangeMenuOption("Color Test", new ColorTestMenu(this), game), new ChangeMenuOption("UI Object Test", new UiObjectTestMenu(this), game), new ActionOption("Alert Dialog", () => { game.SetMenu(new AlertMenu(this, new[] { "I am a test", "So am i", "But also am i" }, YesAction)); }), new ChangeMenuOption("Main Menu", Parent, game) }; _titleLabel = new Label(Game.UiManager, "Debug Tools", (GameConts.ScreenMiddleWidth - ("Debug Tools".Length * 8 / 2)), 15, Color.White); Game.UiManager.Add(_titleLabel); RenderScrollingListTable(options); }
public override void Tick() { base.Tick(); if (InvulnerableTime > 0) { InvulnerableTime--; } Tile onTile = Level.GetTile(X >> 4, Y >> 4); if (onTile == Tile.StairsDown || onTile == Tile.StairsUp) { if (_onStairDelay == 0) { ChangeLevel((onTile == Tile.StairsUp) ? 1 : -1); _onStairDelay = 10; return; } _onStairDelay = 10; } else { if (_onStairDelay > 0) { _onStairDelay--; } } if (Stamina <= 0 && StaminaRechargeDelay == 0 && StaminaRecharge == 0) { StaminaRechargeDelay = 40; } if (StaminaRechargeDelay > 0) { StaminaRechargeDelay--; } if (StaminaRechargeDelay == 0) { StaminaRecharge++; if (IsSwimming()) { StaminaRecharge = 0; } while (StaminaRecharge > 10) { StaminaRecharge -= 10; if (Stamina < MaxStamina) { Stamina++; } } } int xa = 0; int ya = 0; if (_input.Up.Down) { ya--; } if (_input.Down.Down) { ya++; } if (_input.Left.Down) { xa--; } if (_input.Right.Down) { xa++; } if (IsSwimming() && TickTime % 60 == 0) { if (Stamina > 0) { Stamina--; } else { Hurt(this, 1, Dir ^ 1); } } if (StaminaRechargeDelay % 2 == 0) { Move(xa, ya); } if (_input.Attack.Clicked) { if (Stamina != 0) { Stamina--; StaminaRecharge = 0; Attack(); } } if (_input.Menu.Clicked && !Use()) { Game.SetMenu(new InventoryMenu(this)); } if (_attackTime > 0) { _attackTime--; } }