void OnTriggerExit2D(Collider2D otherCollider)
 {
     if (otherCollider.gameObject.tag == "Enemy")
     {
         enemy = null;
     }
 }
 void OnTriggerEnter2D(Collider2D otherCollider)
 {
     if (otherCollider.gameObject.tag == "Enemy")
     {
         enemy = otherCollider.gameObject.GetComponent <CombatantComponent>();
     }
 }
Пример #3
0
 protected override void Awake()
 {
     base.Awake();
     m_combatant            = GetComponentInChildren <CombatantComponent>() ?? GetComponentInParent <CombatantComponent>();
     GetPowerLevel          = GetCombatantLevel;
     lastRumor              = null;
     lastOtherFactionMember = null;
     lastAura = null;
 }
    private void Hit(GameObject target, Combatant targetCombatant)
    {
        //PlayerStat ownerStat = this.owner.GetComponent<PlayerStat>();
        //PlayerStat targetStat = target.GetComponent<PlayerStat>();
        GenerateDamageText targetText         = target.GetComponent <GenerateDamageText>();
        CombatantComponent combatantComponent = gameObject.GetComponent <CombatantComponent>();
        Combatant          combatant          = combatantComponent.combatant;

        targetText.ReceiveDamage(combatant.Status[4].GetValue());
    }
    public void ReceiveDamage(int damage)
    {
        CombatantComponent combatantComponent = gameObject.GetComponent <CombatantComponent>();
        Combatant          unit = combatantComponent.combatant;

        currentHealth  = unit.Status[1].GetValue();
        currentHealth -= damage;
        unit.Status[1].InitValue(currentHealth);
        GameObject canvas = GameObject.Find("Canvas");

        damageTextObject = Instantiate(this.damageText) as GameObject;
        damageTextObject.transform.SetParent(canvas.transform, false);
        damageTextObject.GetComponent <Text>().text = "" + damage;

        damageTextObject.transform.position = new Vector3(transform.position.x + damageTextOffset,
                                                          transform.position.y + 1.0f, transform.position.z);
        if (currentHealth <= 0)
        {
            if (BattleManager.instance.isFirstTurn == true)
            {
                if (this.gameObject.tag == "Enemy")
                {
                    BattleManager.instance.enemyList.Remove(unit);
                    Destroy(this.gameObject);
                }
                else
                {
                    this.gameObject.tag = "DeadUnit";
                }
            }
            if (BattleManager.instance.isFirstTurn == false)
            {
                if (this.gameObject.tag == "Enemy")
                {
                    BattleManager.instance.enemyList.Remove(unit);
                    BattleManager.instance.isEnemyDead[BattleManager.instance.enemySelectedPositionIndex] = true;
                    Destroy(this.gameObject);
                }
                else
                {
                    this.gameObject.tag = "DeadUnit";
                }
            }
        }
    }
 void Start()
 {
     combatant = GetComponent <CombatantComponent>();
 }