/// <summary>
 /// Mono update
 /// </summary>
 void Update()
 {
     if (!ScreenPositionUtility.InScreen(transform.position, Vector2.one * 2))
     {
         if (enteredScreen)
         {
             Destroy(gameObject);
         }
     }
     else
     {
         enteredScreen = true;
     }
 }
Пример #2
0
    /// <summary>
    /// Take damage metho
    /// </summary>
    /// <param name="damage"></param>
    public void TakeDamage(float damage)
    {
        if (CanTakeDamage && ScreenPositionUtility.InScreen(transform.position, Vector2.one * 0.25f) && DependencyHolder.MainStateController.CurrentState.StateID == StateController.States.Game)
        {
            if (totalHealth < 0)
            {
                totalHealth = Health;
            }
            Health -= damage;

            HealthUpdated?.Invoke(Health / totalHealth);
        }

        if (Health <= 0)
        {
            SignalOnDeath();
            OnDeath();
        }
    }