public override void OnButtonPressed(int button) { switch (button) { case 0: game.SetView(PrevView); return; case 1: game.GameStats.SaveGame(); game.SetView(PrevView); return; case 2: game.LoadGame(); return; case 3: game.ShowMainMenu(); return; case 4: game.Exit(); return; } }
public void InteractionPerformed(object source) { game.GameStats.PlayerInventory.Deselect(); game.SetView(this); if (game.Player.GetSolidX1() < GetSolidX2() & game.Player.GetSolidX2() > GetSolidX1() & game.Player.GetSolidY1() < GetSolidY2() & game.Player.GetSolidY2() > GetSolidY1()) { game.Player.LookAt(Pos.X, Pos.Y); game.Player.Pos.X = Pos.X - (float)Math.Cos(game.Player.Rot.Z) * 5; game.Player.Pos.Y = Pos.Y - (float)Math.Sin(game.Player.Rot.Z) * 5; game.Player.UpdateModelspaceMatrix(); } }
public void InteractionPerformed(object source) { if (game.GameStats.PlayerInventory.HasSelectedItem()) { var bladeItem = game.GameStats.PlayerInventory.GetSelectedItem() as BladeItem; if (bladeItem != null) { game.GameStats.PlayerInventory.Deselect(); OnTableUsed(new float[bladeItem.Type.Points.Length], bladeItem); parentView = game.CurrentView; game.SetView(this); return; } } game.ErrortipHelper.ShowError(Localization.GetLocalization("ui.error.nobladeselected"), Input.OrthoMouseX, Input.OrthoMouseY, 1.4f, false); }
public void UpdateView(Scene s) { transition.UpdateTransition(Time.Delta() * 2); if (Input.CloseKeyPressed) { game.SetView(game.PauseMenu); } game.GameStats.PlayerInventory.HandleInput(); }
public void UpdateView(Scene s) { transition.UpdateTransition(Time.Delta() * 2); if (Input.CloseKeyPressed) { OnAnvilNotUsed(); game.SetView(parentView); return; } if (Input.InteractKeyPressed | Input.MousePressed & Input.OrthoMouseX > 50 & Input.OrthoMouseX < 300 & Input.OrthoMouseY > 50 & Input.OrthoMouseY < 300) { game.SetView(table); table.OnTableUsed(heat, blade); OnAnvilNotUsed(); return; } for (int i = 0; i < heat.Length; i++) { if (heat[i] > 25) { heat [i] -= Time.Delta() * (i == diamond? 100 : 200); } } if (!hammerDown && Input.MousePressed & hammerMove <0.3f& Input.OrthoMouseX> OrthoRenderEngine.GetCanvasWidth() / 2 - 100 & Input.OrthoMouseX <OrthoRenderEngine.GetCanvasWidth() / 2 + 100 & Input.OrthoMouseY> OrthoRenderEngine.GetCanvasHeight() / 2 - 70 & Input.OrthoMouseY < OrthoRenderEngine.GetCanvasHeight() / 2 + 70) { hammerDown = true; hammerX = Util.NextFloat() - 0.5f; hammerY = Util.NextFloat() - 0.5f; } if (hammerDown) { if (hammerMove < 1) { hammerMove += Time.Delta() * 10; if (hammerMove >= 1) { hammerDown = false; hammerMove = 1; if (diamond >= 0) { blade.Sharpness [diamond] = Math.Min(1, blade.Sharpness [diamond] + KnownMetal.GetRedEmmission(blade.Metal, heat[diamond]) * 0.01f * (1 - blade.Sharpness [diamond])); blade.UpdateSharpnessMap(); } } } } else if (hammerMove > 0) { hammerMove = Math.Max(0, hammerMove - Time.Delta() * 4); } if (Input.LeftKey) { panAngle -= (panAngle + 0.6f) * Time.Delta() * 3; } else if (Input.RightKey) { panAngle -= (panAngle - 0.6f) * Time.Delta() * 3; } else { panAngle -= panAngle * Time.Delta() * 3; } if (Input.DownKey) { panAngleY -= (panAngleY + 0.3f) * Time.Delta() * 3; } else if (Input.UpKey) { panAngleY -= (panAngleY - 0.28f) * Time.Delta() * 3; } else { panAngleY -= panAngleY * Time.Delta() * 3; } }