Ejemplo n.º 1
0
    protected virtual void OnAwake()
    {
        enemyDir = 0;
        if (player == Player.unit)
        {
            canMove = false;
        }
        else
        {
            canMove = true;
        }
        rigid2d = GetComponent <Rigidbody2D>();
        foreach (Transform child in transform)
        {
            if (child.tag == "Feet")
            {
                jumpDetection = child.GetComponent <JumpDetection>();
            }
        }

        //
        if (tag == "Ice" || tag == "Odetta")
        {
            charactor = GetComponent <CharactorBase>();
        }
    }
Ejemplo n.º 2
0
    protected override void Damage(CharactorBase cb)
    {
        base.Damage(cb);
        Quaternion rot = transform.rotation;

        transform.rotation = Quaternion.Euler(rot.x, player.GetPlayerDirection() == facingLeft ? 180 : 0, rot.z);
    }
Ejemplo n.º 3
0
 void OnCollisionStay2D(Collision2D col)
 {
     if (col.collider.tag == "Ice")
     {
         CharactorBase c = col.collider.GetComponent <CharactorBase>();
         if (c)
         {
             if (damage > 0)
             {
                 c.DamageTaken(-damage);
             }
             if (consumable)
             {
                 Destroy(gameObject);
             }
         }
     }
     else if (col.collider.tag == "Odetta")
     {
         CharactorBase c = col.collider.GetComponent <CharactorBase>();
         if (c)
         {
             if (fireDamage > 0)
             {
                 c.DamageTaken(-fireDamage);
             }
             if (consumable)
             {
                 Destroy(gameObject);
             }
         }
     }
 }
Ejemplo n.º 4
0
 void OnCollisionEnter2D(Collision2D collision)
 {
     if (collision.gameObject.tag == "Enemy")
     {
         CharactorBase cb = collision.gameObject.GetComponent <CharactorBase>();
         Damage(cb);
     }
 }
Ejemplo n.º 5
0
    protected override void Damage(CharactorBase cb)
    {
        base.Damage(cb);

        float damageMove = direction * -1f;

        rg2.velocity = new Vector2(1 * damageMove, rg2.velocity.y);
    }
Ejemplo n.º 6
0
    void OnTriggerEnter2D(Collider2D colider)
    {
        if (colider.gameObject.tag == "PlayerSpear")
        {
            if (!withoutRise && !isAnimationRiseEnd)
            {
                return;
            }

            CharactorBase cb = colider.gameObject.transform.root.gameObject.GetComponent <CharactorBase>();
            Damage(cb);
        }
    }
Ejemplo n.º 7
0
    //protected virtual void Update()
    //{
    //}

    protected virtual void Damage(CharactorBase cb)
    {
        isDamaged = true;

        int superLayer = LayerMask.NameToLayer("SuperLayer");

        gameObject.layer = superLayer;

        hitpoint -= cb.attack;
        if (hitpoint < 1)
        {
            Dead();
            return;
        }

        animator.SetTrigger("Damage");
    }
Ejemplo n.º 8
0
 void OnTriggerEnter2D(Collider2D col)
 {
     if (col.tag == "Enemy")
     {
         Enemy e = col.GetComponent <Enemy>();
         if (e && !enemies.Contains(e))
         {
             enemies.Add(e);
             e.DamageTaken(damage, fireDamage);
             if (transform.root.tag == "Odetta" && e.type == Enemy.Type.fire)
             {
                 CharactorBase c = transform.root.GetComponent <CharactorBase>();
                 c.healthChange(-40f);
             }
             if (consumable)
             {
                 Destroy(gameObject);
             }
         }
     }
 }
Ejemplo n.º 9
0
 public WhoSayWhat(CharactorBase c, string w)
 {
     who  = c;
     what = w;
 }