public void ApplyDamage(float damage)
 {
     if (Stats != null)
     {
         Stats.ChangeHealth(-damage);
     }
 }
Example #2
0
 // Update is called once per frame
 void Update()
 {
     if (Input.GetButtonDown(ShotButton))
     {
         Shot.TryOpenFire(Movement.LookDirection);
     }
     if (Input.GetButtonDown(ShareButton))
     {
         OtherStats.ChangeHealth(Delta);
         Stats.ChangeHealth(-Delta);
     }
 }
    private void Update()
    {
        if (isGameStart)
        {
            switch (currentState)
            {
            case GameStates.start:
            {
                roundTime -= timeDelta;
                if (roundTime < 0.5)
                {
                    currentState = GameStates.endGame;
                    break;
                }
                leftTime    = roundTime;
                currentType = Random.Range(0, 4);
                if (previousType == currentType)
                {
                    currentType = currentType % 3 + 1;
                }
                previousType = currentType;
                image.color  = UIColors[currentType];
                currentState = GameStates.wait;
                break;
            }

            case GameStates.wait:
            {
                leftTime -= Time.deltaTime;
                if (leftTime <= 0)
                {
                    currentState = GameStates.end;
                    //TODO negative feedback
                    playerLeft.ChangeHealth(-5);
                    playerRight.ChangeHealth(-5);
                }
                if (PanelsPairs[currentType].left.isPressed && PanelsPairs[currentType].right.isPressed)
                {
                    currentState = GameStates.end;
                    playerLeft.ChangeHealth(10);
                    playerRight.ChangeHealth(10);
                }
                break;
            }

            case GameStates.end:
            {
                image.color  = Color.white;
                currentState = GameStates.start;
                break;
            }

            case GameStates.endGame:
            {
                isGameStart = false;
                Debug.Log("Dealed with it");
                Door.Open();
                image.enabled = false;
                //TODO open the door and destroy itself
                break;
            }
            }
        }
    }