コード例 #1
0
ファイル: UnitObject.cs プロジェクト: jeremy2spade/MCNTactics
    public void Damaged(AttackActor actor)
    {
        Damaged(actor, (eCombatState state) =>
        {
            if (state == eCombatState.DEAD)
            {
                ShapeDead();

                GameManager.Get <GameManager.Turn>().Unsubscribe(this);
            }
        });
    }
コード例 #2
0
    public void Damaged(AttackActor actor, ICombatCallback callback)
    {
        _hp -= actor.Damage;

        if (Hp < 0)
        {
            _combatState = eCombatState.DEAD;
        }

        if (callback != null)
        {
            callback(_combatState);
        }
    }
コード例 #3
0
 public float hitByTarget(AttackActor actor, float damages)
 {
     this.currentHealth      = this.currentHealth - damages;
     this.currentHealth      = this.currentHealth >= 0 ? this.currentHealth : 0;
     this.healthSlider.value = this.currentHealth;
     if (currentHealth <= 0)
     {
         this.isAlive = false;
         gameOver();
     }
     Debug.Log("[HIT] Enemy hit player (Damage: " + damages + ")");
     //TODO Add anims
     return(damages);
 }
コード例 #4
0
    public float hitByTarget(AttackActor actor, float damages)
    {
        Debug.Log("[HIT] Enemy receives damage (damage: " + damages + ")");
        //TODO receive damage

        this.currentHealth = this.currentHealth - damages;
        this.currentHealth = this.currentHealth >= 0 ? this.currentHealth : 0;
        if (currentHealth <= 0)
        {
            this.isAlive = false;
        }
        Debug.Log("[HIT] Enemy hit player (Damage: " + damages + ", health: " + this.currentHealth + ")");
        if (this.IsLowLife())
        {
            this.SetState(MoleStateFactory.creaRunAway());
        }
        if (this.IsAlive() == false)
        {
            Debug.Log("[DEAD] Enemy just die");
            Destroy(this.gameObject, this.timeBeforeDeadRemoved);
        }
        //TODO Add anims
        return(damages);
    }
コード例 #5
0
ファイル: UnitObject.cs プロジェクト: jeremy2spade/MCNTactics
    public void Damaged(AttackActor actor, ICombatCallback callback)
    {
        _impl.Damaged(actor, callback);

        Debug_DisplayStatus();
    }
コード例 #6
0
 public MeleeHandAttackType(AttackActor o)
 {
     this.attackActor = o;
 }
コード例 #7
0
 public void Damaged(AttackActor actor, ICombatCallback callback)
 {
     _decoTarget.Damaged(actor, callback);
 }