Пример #1
0
    public IEnumerator moveToTileCor(Tile dest, action actionFinished)
    {
        Vector3 singleAxisPosition = transform.position;

        singleAxisPosition.x = dest.transform.position.x;

        move.Invoke(this); //unlinks old tile from this unit
        dest.setUnit(this);
        if (sprite)
        {
            sprite.SetAnimation("move");
        }

        yield return(moveToPositionEnum(singleAxisPosition, moveSpeed, false));

        yield return(moveToPositionEnum(dest.transform.position, moveSpeed, false));

        if (sprite)
        {
            sprite.SetAnimation("idle");
        }

        move += dest.unsetUnit;

        if (actionFinished != null)
        {
            actionFinished.Invoke();
        }
    }
Пример #2
0
        public virtual void interact(MouseState mouseState, MouseState pastMouseState)
        {
            if (visible)
            {
                if (rectangle.Contains(mouseState.X, mouseState.Y))
                {
                    if (hovered == false)
                    {
                        buttonSoundEffects[0].Play();
                        hovered = true;
                    }

                    if (mouseState.LeftButton == ButtonState.Released && pastMouseState.LeftButton == ButtonState.Pressed)
                    {
                        //Button has been pressed. Invoke clickAction
                        buttonSoundEffects[1].Play();
                        clickAction.Invoke();
                    }
                }
                else
                {
                    hovered = false;
                }
            }
            else
            {
                hovered = false;
            }
        }
Пример #3
0
 public void SetAction(GameObject[,] buttons, action act)
 {
     foreach (GameObject but in buttons)
     {
         but.GetComponent <Button>().onClick.AddListener(delegate { act.Invoke(but); });
     }
 }
Пример #4
0
        void keyboardMgnt(KeyboardState kbState, GameTime gameTime)
        {
            Keys[] KeyPressed = kbState.GetPressedKeys();

            if (KeyPressed.Contains(Keys.Left))
            {
                mainChar.setAction(Character.walk.LEFT);
            }
            else if (KeyPressed.Contains(Keys.Right))
            {
                mainChar.setAction(Character.walk.RIGHT);
            }
            else if (KeyPressed.Contains(Keys.Up))
            {
                mainChar.setAction(Character.walk.UP);
            }
            else if (KeyPressed.Contains(Keys.Down))
            {
                mainChar.setAction(Character.walk.DOWN);
            }
            else
            {
                mainChar.setAction(Character.walk.NOP);
            }

            if (!KeyPressed.Contains(Keys.Escape))
            {
                if (OldKeyPressed.Contains(Keys.Escape))
                {
                    _game.ChangeState(ConstVar.menu);
                }
            }

            if (!KeyPressed.Contains(Keys.Space))
            {
                if (OldKeyPressed.Contains(Keys.Space) && ban.isVisible)
                {
                    ban.isVisible = false;
                    ban.isActive  = false;
                    mainChar.move = false;
                    effectOpenWindow.Play();
                    ConstVar.chooseBucket.window.widget = ConstVar.main.mainChar.Inventory;
                    _game.ChangeState(ConstVar.chooseBucket);
                }

                if (OldKeyPressed.Contains(Keys.Space))
                {
                    space_button_action?.Invoke();
                }
            }

            OldKeyPressed = KeyPressed;
        }
Пример #5
0
    public IEnumerator checkHealth(action actionFinished)
    {
        yield return(new WaitForSeconds(0.5f));

        if (health <= 0)
        {
            move.Invoke(this); //unlinks old tile from this unit
            death.Invoke(this);
        }

        if (actionFinished != null)
        {
            actionFinished.Invoke();
            actionFinished = null;
        }
    }
Пример #6
0
 private void OnCollisionEnter2D(Collision2D collision)
 {
     die.Invoke();
 }
Пример #7
0
 public void SetAction(GameObject button, action act, int index)
 {
     button.GetComponent <Button>().onClick.AddListener(delegate { act.Invoke(index); });
 }
Пример #8
0
 public void SetAction(GameObject button, action act, ControlStatesScript newState)
 {
     button.GetComponent <Button>().onClick.AddListener(delegate { act.Invoke(newState); });
 }
Пример #9
0
 public void SetAction(GameObject button, int players, action act)
 {
     button.GetComponent <Button>().onClick.AddListener(delegate { act.Invoke(players); });
 }