Esempio n. 1
0
    BaseCharecter damagedCharacter;  // для проверки, в кого попала пуля. Чтобы не был нанесен повторный урон

    private void OnTriggerEnter2D(Collider2D collision)
    {
        if (LastTarget == null || collision != LastTarget)
        {
            if (collision.gameObject.tag == TargetTag) // если тег столкновения равен тегу цели, то нанести урон персонажу и уничтожить пулю
            {
                BaseCharecter character = collision.transform.GetComponentInParent <BaseCharecter>();


                if (character != damagedCharacter)// если пуля продолжает сталкиваться с тем же персонажем, то не надо повторно наносить урон
                {
                    damagedCharacter = character;
                    if (character != null)
                    {
                        character.TakeDamage(Damage);
                    }
                    Destroy(gameObject);
                }
            }

            LastTarget = collision;
        }
        if (collision.gameObject.tag == GroundTag) // если пуля столкнулась с землей, то уничтожить пулю
        {
            Debug.Log("Destroy bullet" + collision.gameObject.tag);
            // Destroy(gameObject);
            GetComponent <Rigidbody2D>().velocity = Vector2.zero;
        }
    }
Esempio n. 2
0
    private void OnTriggerStay2D(Collider2D collision)
    {
        Debug.Log("COLLISION");
        if (timeShot <= 0)
        {
            if (collision.tag == "Player")
            {
                charecter = collision.GetComponent <BaseCharecter>();


                Debug.Log(charecter);
                charecter.addHealth(AddHealth);
                timeShot = Waittime;
            }
        }
    }
Esempio n. 3
0
    BaseCharecter damagedCharacter;  // для проверки, в кого попала пуля. Чтобы не был нанесен повторный урон

    private void OnTriggerEnter2D(Collider2D collision)
    {
        {
            if (collision.gameObject.tag == TargetTag) // если тег столкновения равен тегу цели, то нанести урон персонажу и уничтожить пулю
            {
                Debug.Log("Collisiob");

                BaseCharecter character = collision.transform.GetComponentInParent <BaseCharecter>();

                //   if (character != damagedCharacter)// если пуля продолжает сталкиваться с тем же персонажем, то не надо повторно наносить урон
                {
                    damagedCharacter = character;
                    if (character != null)
                    {
                        character.TakeDamage(Damage);
                    }
                }
            }
        }
    }