예제 #1
0
    void FlameBulletFire()
    {
        GameObject bullet = Instantiate(flameBullet, flame1.gameObject.transform.position, Quaternion.identity);

        float cosMoving = Mathf.Cos(this.transform.eulerAngles.y / 180 * Mathf.PI);
        float sinMoving = Mathf.Sin(this.transform.eulerAngles.y / 180 * Mathf.PI);

        //Moving
        bullet.GetComponent <Rigidbody>().velocity = new Vector3(sinMoving * GameMechanics.Mechanics.FlamerBulletSpeed, 0, cosMoving * GameMechanics.Mechanics.FlamerBulletSpeed);

        FlameBullet bullatIn = bullet.GetComponent <FlameBullet>();

        if (GameMechanics.Mechanics.flameDamage)
        {
            bullatIn.damage = damage + GameMechanics.Mechanics.BonusFlameDamage;
        }
        else
        {
            bullatIn.damage = damage;
        }
        if (GameMechanics.Mechanics.burningTime)
        {
            bullatIn.burningTime = GameMechanics.Mechanics.FlamerBurningTime + GameMechanics.Mechanics.BonusBurningTime;
        }
        else
        {
            bullatIn.burningTime = GameMechanics.Mechanics.FlamerBurningTime;
        }


        bullatIn.lifeTime           = GameMechanics.Mechanics.FlamerBulletLifeTime;
        bullatIn.RadiusModification = GameMechanics.Mechanics.FlamerRadiusModification;
    }
예제 #2
0
    void OnTriggerEnter2D(Collider2D collision)
    {
        if (collision.gameObject.tag == "Player")
        {
            //Debug.Log("you hit the " + name);
            collision.gameObject.GetComponent <Character>().SayTextHit();
            collision.gameObject.GetComponent <Character>().Hit = true;

            //! Reduce player health
            collision.gameObject.GetComponent <Character>().GetDamage(damage);
        }

        if (collision.gameObject.tag == "Bullet")
        {
            //Debug.Log("bullet hit!");
            Bullet bullet = collision.gameObject.GetComponent <Bullet>();

            //! Reduce Enemy health by bullet power
            life -= bullet.Damage;

            Destroy(collision.gameObject);

            if (life <= 0)
            {
                GameManager.UpdateScore(1);
                Destroy(gameObject);
            }
        }

        if (collision.gameObject.tag == "Flame")
        {
            Debug.Log("flame hit!");
            FlameBullet bullet = collision.gameObject.GetComponent <FlameBullet>();

            //! Reduce Enemy health by bullet power
            life -= bullet.Damage;

            Destroy(collision.gameObject);

            if (life <= 0)
            {
                GameManager.UpdateScore(1);
                Destroy(gameObject);
            }
        }
    }