コード例 #1
0
ファイル: Creature.cs プロジェクト: JHNUXER/Roguelike
 public void Update(GameTime gameTime)
 {
     if (Health.Current <= 0)
     {
         DeathStrategy.Die(this);
     }
 }
コード例 #2
0
ファイル: Health.cs プロジェクト: mylemim/effector
    public virtual void Die()
    {
        //Notify all listeners about the death
        OnObjectDeath.Invoke();

        deathStrategy.Die(gameObject);

        //Clear all listeners for reusability of the object in the pool
        OnHealthChanged.RemoveAllListeners();
        OnObjectDeath.RemoveAllListeners();
    }
コード例 #3
0
ファイル: Projectile.cs プロジェクト: mylemim/effector
    void OnTriggerEnter2D(Collider2D other)
    {
        //If we hit active game objects (world, enemy, player)
        if (!other.CompareTag("Untagged"))
        {
            deathStrategy.Die(gameObject);
        }

        //If we hit an object with health
        Health targetHealth = other.gameObject.GetComponent <Health>();

        if (targetHealth)
        {
            targetHealth.ApplyDamage(Damage);
        }
    }