Пример #1
0
    // Update is called once per frame
    void Update()
    {
        timer += Time.deltaTime;
        if (timer >= interval)
        {
            timer -= interval;

            //spawn
            GameObject spawned = Instantiate(spawn, transform.position, Quaternion.Euler(spawnRotation));

            if (spawned)
            {
                DamagePlayer dp = spawned.GetComponent <DamagePlayer>();

                if (dp)
                {
                    dp.despawnAfterTime = despawnSpawned;
                    dp.despawnTime      = despawnTime;
                }


                Rigidbody rb = spawned.GetComponent <Rigidbody>();

                if (rb)
                {
                    rb.velocity = spawnLaunchSpeed;
                }
            }
        }
    }
Пример #2
0
    // Start is called before the first frame update
    private void Start()
    {
        _source = GetComponent <AudioSource>();
        _damage = GetComponent <DamagePlayer>();
        _sprite = GetComponent <SpriteRenderer>();

        _damage.damageDealt += Explode;
    }
Пример #3
0
 protected override void Start()
 {
     base.Start();
     try {
         attackData = GetComponentInChildren <DamagePlayer>();
     } catch {
         Debug.LogError("Failed to get DamagePlayer component in Attack Hitbox for enemy " + gameObject);
     }
 }
Пример #4
0
 void OnTriggerEnter2D(Collider2D collider)
 {
     if (collider.tag == "PlayerShip")
     {
         DamagePlayer damagePlayerEvent = new DamagePlayer(transform.gameObject, 1, false);
         GameEvents.GameEventManager.post(damagePlayerEvent);
         anim.SetTrigger("Death");
         Invoke("Death", 0.5f);
     }
 }
Пример #5
0
 void OnTriggerEnter2D(Collider2D collider)
 {
     if (collider.tag == "PlayerShip")
     {
         DamagePlayer damagePlayerEvent = new DamagePlayer (transform.gameObject, 1, false);
         GameEvents.GameEventManager.post (damagePlayerEvent);
         anim.SetTrigger("Death");
         Invoke("Death", 0.5f);
     }
 }
Пример #6
0
    void OnCollisionEnter2D(Collision2D collider)
    {
        if (collider.gameObject.tag.Equals("PlayerShip"))
        {
            DamagePlayer damagePlayerEvent = new DamagePlayer(transform.gameObject, 1, false);
            GameEvents.GameEventManager.post(damagePlayerEvent);

            CameraShake cameraShakeEvent = new CameraShake(0.1f, 0.15f);
            GameEvents.GameEventManager.post(cameraShakeEvent);
        }
    }
Пример #7
0
    void OnCollisionEnter2D(Collision2D collider)
    {
        if(collider.gameObject.tag.Equals ("PlayerShip"))
        {
            DamagePlayer damagePlayerEvent = new DamagePlayer (transform.gameObject, 1, true);
            GameEvents.GameEventManager.post (damagePlayerEvent);

            CameraShake cameraShakeEvent = new CameraShake ();
            GameEvents.GameEventManager.post (cameraShakeEvent);
        }
    }
 void Start()
 {
     //Variables for the Mechanics/Controller
     BoxSpawner          = GetComponent <DeployBox>();
     Damage              = GetComponent <DamagePlayer>();
     bossPath.repathRate = TimeBetweenBossMove;
     bossPath.maxSpeed   = BossMaxSpeed;
     Damage.strength     = BossDamage;
     BoxSpawner.MaxBoxes = BoxMaxCount;
     resetTimer          = timeBetweenSpawns;
     resetTimerBox       = timeBoxSpawns;
     anim = GetComponentInChildren <Animator>();
 }
Пример #9
0
        protected override void OnCollisionEnter2D(Collision2D col)
        {
            if (((col.gameObject.GetComponent <Player>()) != null) && (AllowCollisionDamage))
            {
                DamagePlayer.Invoke();
            }

            // If the mine has hit an object which is not the player, then it will head towards
            // the player with the chain force, just to add some variation to the game.
            else
            {
                ImpulseToTarget(ChainForce);
            }
        }
Пример #10
0
    void OnTriggerEnter2D(Collider2D collider)
    {
        if (playerBullet && collider.tag.Equals ("PlayerShip") || (collider.isTrigger && !collider.tag.Equals ("Boss")))
        {
            return;
        }
        else if(collider.gameObject.tag.Equals ("PlayerShip"))
        {
            DamagePlayer damagePlayerEvent = new DamagePlayer (transform.gameObject, 1);
            GameEvents.GameEventManager.post (damagePlayerEvent);
        }
        Destroy(this.gameObject);

        var expl = Instantiate(explosion, transform.position, Quaternion.identity);
        Destroy(gameObject); // destroy the grenade
        Destroy(expl, 1); // delete the explosion after 1 second
    }
Пример #11
0
    void OnTriggerEnter2D(Collider2D collider)
    {
        if (playerBullet && collider.tag.Equals("PlayerShip") || (collider.isTrigger && !collider.tag.Equals("Boss")))
        {
            return;
        }
        else if (collider.gameObject.tag.Equals("PlayerShip"))
        {
            DamagePlayer damagePlayerEvent = new DamagePlayer(transform.gameObject, 1);
            GameEvents.GameEventManager.post(damagePlayerEvent);
        }
        Destroy(this.gameObject);

        var expl = Instantiate(explosion, transform.position, Quaternion.identity);

        Destroy(gameObject);      // destroy the grenade
        Destroy(expl, 1);         // delete the explosion after 1 second
    }
Пример #12
0
    void OnTriggerEnter2D(Collider2D collider)
    {
        if (collider.gameObject.tag.Equals("PlayerShip"))
        {
            DamagePlayer damagePlayerEvent = new DamagePlayer(transform.gameObject, 1, false);
            GameEvents.GameEventManager.post(damagePlayerEvent);

            CameraShake cameraShakeEvent = new CameraShake(0.1f, 0.15f);
            GameEvents.GameEventManager.post(cameraShakeEvent);
        }

        if (collider.gameObject.tag.Equals("Bullet"))
        {
            if (collider.gameObject.GetComponent <Bullet>().isPlayerBullet())
            {
                bossBody.takeDamage(collider.gameObject.GetComponent <Bullet>().getDamage());
            }
        }
    }
Пример #13
0
    void OnTriggerEnter2D(Collider2D collider)
    {
        if(collider.gameObject.tag.Equals ("PlayerShip"))
        {
            DamagePlayer damagePlayerEvent = new DamagePlayer (transform.gameObject, 1, false);
            GameEvents.GameEventManager.post (damagePlayerEvent);

            CameraShake cameraShakeEvent = new CameraShake (0.1f, 0.15f);
            GameEvents.GameEventManager.post (cameraShakeEvent);

        }

        if(collider.gameObject.tag.Equals ("Bullet"))
        {
            if(collider.gameObject.GetComponent<Bullet>().isPlayerBullet())
            {
                bossBody.takeDamage(collider.gameObject.GetComponent<Bullet>().getDamage());
            }
        }
    }
Пример #14
0
    void OnCollisionEnter2D(Collision2D collider)
    {
        if (collider.gameObject.tag.Equals("PlayerShip") && !dead)
        {
            DamagePlayer damagePlayerEvent = new DamagePlayer(transform.gameObject, 1, false);
            GameEvents.GameEventManager.post(damagePlayerEvent);

            Vector2 direction = new Vector2(transform.position.x - collider.transform.position.x,
                                            transform.position.y - collider.transform.position.y);
            rigidbody2D.velocity = new Vector2(0, 0);
            rigidbody2D.AddForce(direction * bounceForce);

            CameraShake cameraShakeEvent = new CameraShake(0.1f, 0.15f);
            GameEvents.GameEventManager.post(cameraShakeEvent);

            if (colliderTakesDamage)
            {
                takeDamage(1);
            }
        }
    }
Пример #15
0
    void OnCollisionEnter2D(Collision2D collider)
    {
        if(collider.gameObject.tag.Equals ("PlayerShip") && !dead)
        {
            DamagePlayer damagePlayerEvent = new DamagePlayer (transform.gameObject, 1, false);
            GameEvents.GameEventManager.post (damagePlayerEvent);

            Vector2 direction = new Vector2(transform.position.x - collider.transform.position.x,
                                            transform.position.y - collider.transform.position.y);
            rigidbody2D.velocity = new Vector2(0, 0);
            rigidbody2D.AddForce(direction * bounceForce);

            CameraShake cameraShakeEvent = new CameraShake (0.1f, 0.15f);
            GameEvents.GameEventManager.post (cameraShakeEvent);

            if(colliderTakesDamage) takeDamage(1);
        }
    }
Пример #16
0
 // Use this for initialization
 void Start()
 {
     damagePlayer = GetComponent <DamagePlayer>();
     anim         = GetComponentInChildren <Animator>();
 }
 public void OnDamagePlayer()
 {
     DamagePlayer?.Invoke(this, new CollisionEventArgs(Position));
 }