Beispiel #1
0
        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;
            }
        }
Beispiel #2
0
 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();
     }
 }
Beispiel #3
0
        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);
        }
Beispiel #4
0
        public void UpdateView(Scene s)
        {
            transition.UpdateTransition(Time.Delta() * 2);

            if (Input.CloseKeyPressed)
            {
                game.SetView(game.PauseMenu);
            }

            game.GameStats.PlayerInventory.HandleInput();
        }
Beispiel #5
0
        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;
            }
        }