Пример #1
0
 // Start is called before the first frame update
 void Start()
 {
     navMeshAgent    = transform.GetComponent <NavMeshAgent>();
     esScript        = transform.GetComponent <EnemySpine>();
     animator        = transform.GetComponent <Animator>();
     capsuleCollider = transform.GetComponent <CapsuleCollider>();
     SearchPlayer    = transform.GetChild(2).gameObject;
 }
Пример #2
0
    private void OnTriggerEnter2D(Collider2D collision)
    {
        GameObject collistionObject = collision.gameObject;

        switch (collistionObject.tag)
        {
        case "Hero":
            if (currentTarget == TargetType.Hero)
            {
                HeroSpine heroSpine = collistionObject.GetComponent <HeroSpine>();
                heroSpine.GetHit(AttackBlood);
                Destroy(gameObject);
            }
            break;

        case "Enemy":
            if (currentTarget == TargetType.Enemy)
            {
                if (isAttacked)
                {
                    return;
                }
                EnemySpine enemySpine = collistionObject.GetComponent <EnemySpine>();
                enemySpine.GetHit(AttackBlood);
                switch (arrowType)
                {
                case ArrowType.rain:
                    if (!isAttacked)
                    {
                        isAttacked = true;
                    }
                    break;

                default:
                    Destroy(gameObject);
                    break;
                }
            }
            break;

        case "Arrow":
            ArrowController otherArrow = collistionObject.GetComponent <ArrowController>();
            if (otherArrow.Target != currentTarget)
            {
                Destroy(gameObject);
            }
            break;

        case "Down":
            if (arrowType == ArrowType.rain)
            {
                EventManager.Send("ArrowRainRecord");
                EventManager.Send <Vector3>("HeroRainPlay", transform.localPosition);
            }
            Destroy(gameObject);
            break;
        }
    }