private void OnTriggerEnter2D(Collider2D collision)
        {
            if (gameObject.name != "Boss")
            {
                PlayerUnit pu = collision.gameObject.GetComponent <PlayerUnit>();

                if (pu)
                {
                    pu.GetComponent <Collider2D>().enabled = false;
                    Debug.Log("Bye" + gameObject.name);
                    pu.Die(vD, vS);
                }
                else
                {
                    PlayerShrink ps = collision.gameObject.GetComponent <PlayerShrink>();

                    if (ps)
                    {
                        if (lazer)
                        {
                            firstHitTime = Time.time;
                        }
                        else
                        {
                            ps.Die(vD, vS);
                        }
                    }
                }
            }
        }
Beispiel #2
0
        public override void LaunchAttack()
        {
            if (!isLocked)               // Means prematurely cancelled
            {
                AkSoundEngine.PostEvent("Stop_MortierSeeking", gameObject);
                Destroy(gameObject);
            }
            base.LaunchAttack();
            visualProjectile.SetActive(false);
            attack.transform.position = telegraph.transform.position;
            Collider2D[] touched = Physics2D.OverlapCircleAll(attack.transform.position, radius / 2f, LayerMask.GetMask("PlayerUnits"));
            AkSoundEngine.PostEvent("Stop_Mortier", gameObject);
            foreach (Collider2D col in touched)
            {
                PlayerShrink ps = col.GetComponent <PlayerShrink>();

                PlayerUnit unit = col.GetComponent <PlayerUnit>();
                if (unit == null && ps == null)
                {
                    continue;
                }
                if (ps == null)
                {
                    unit.Die();
                }
                if (unit == null)
                {
                    ps.kill();
                }
            }
        }
        private void OnTriggerStay2D(Collider2D collision)
        {
            PlayerShrink ps = collision.gameObject.GetComponent <PlayerShrink>();

            if (ps)
            {
                if (lazer && Time.time > (firstHitTime + (1.0f / (float)dmgPerSecond)))
                {
                    ps.Die(vD, vS);
                    firstHitTime = Time.time;
                }
            }
        }
Beispiel #4
0
        private void OnCollisionEnter2D(Collision2D collision)
        {
            if (!gameObject.activeInHierarchy)
            {
                return;
            }
            PlayerUnit   unit   = collision.gameObject.GetComponent <PlayerUnit>();
            PlayerShrink shrink = collision.gameObject.GetComponent <PlayerShrink>();

            if (unit || shrink)
            {
                ProjectileManager.I.ProjectileDeath(this);
            }
        }
Beispiel #5
0
        private void OnCollisionEnter2D(Collision2D collision)
        {
            PlayerUnit   pyu = collision.gameObject.GetComponent <PlayerUnit>();
            PlayerShrink ps  = collision.gameObject.GetComponent <PlayerShrink>();

            if (pyu || ps)
            {
                if (tutorial)
                {
                    AkSoundEngine.PostEvent("Stop_Music", gameObject);
                    SceneSwitcher.SwitchScene("PlayScene");
                }
                else
                {
                    //ScoreManager.nbOfWins++;
                    SceneSwitcher.SwitchScene("Win", 2f, 1f);
                }
            }
        }