예제 #1
0
    public void EnemyDeathEventHandler(SCG_Event e)
    {
        //Debug.Log("Message Received");

        Event_EnemyDeath d = e as Event_EnemyDeath;

        if (d != null)
        {
            if (_swarm.Contains(d.enemyToBeDestroyed.gameObject))
            {
                int indexToRemove = _swarm.IndexOf(d.enemyToBeDestroyed.gameObject);
                _swarm.RemoveAt(indexToRemove);
                _dirs.RemoveAt(indexToRemove);
                _attackMode.RemoveAt(indexToRemove);
                Destroy(d.enemyToBeDestroyed.gameObject);
            }
        }

        Event_DumpReg dr = e as Event_DumpReg;

        if (dr != null)
        {
            SCG_EventManager.instance.Unregister <Event_EnemyDeath>(EnemyDeathEventHandler);
            SCG_EventManager.instance.Unregister <Event_DumpReg>(EnemyDeathEventHandler);
        }
    }
예제 #2
0
    public void EnemyDeathEventHandler(SCG_Event e)
    {
        Event_EnemyDeath eD = e as Event_EnemyDeath;

        if (eD != null)
        {
            if (eD.enemyToBeDestroyed != myE)
            {
                return;
            }

            SCG_EventManager.instance.Unregister <Event_EnemyDeath>(EnemyDeathEventHandler);
            SCG_EventManager.instance.Unregister <Event_DumpReg>(EnemyDeathEventHandler);
            SCG_EventManager.instance.Fire(new Event_BonusPoints(174));
            Instantiate(flameOut, transform.position, Quaternion.identity);
            Destroy(this.gameObject);
        }

        Event_DumpReg d = e as Event_DumpReg;

        if (d != null)
        {
            SCG_EventManager.instance.Unregister <Event_EnemyDeath>(EnemyDeathEventHandler);
            SCG_EventManager.instance.Unregister <Event_DumpReg>(EnemyDeathEventHandler);
        }
    }
예제 #3
0
    public void EventHandler(SCG_Event e)
    {
        Event_EnemyDeath eD = e as Event_EnemyDeath;

        if (eD != null)
        {
            if (myE == eD.enemyToBeDestroyed)
            {
                SCG_EventManager.instance.Fire(new Event_BonusPoints(161));
                SCG_EventManager.instance.Unregister <Event_DumpReg>(EventHandler);
                SCG_EventManager.instance.Unregister <Event_EnemyDeath>(EventHandler);
                Destroy(this.gameObject);
            }
        }

        Event_DumpReg d = e as Event_DumpReg;

        if (d != null)
        {
            SCG_EventManager.instance.Unregister <Event_EnemyDeath>(EventHandler);
            SCG_EventManager.instance.Unregister <Event_DumpReg>(EventHandler);
        }
    }
예제 #4
0
    public void EventHandler(SCG_Event e)
    {
        if (playModel.currentPlayerState == PlayerState.Alive)
        {
            float timeDip = 1;

            Event_PlayerBulletHit bh = e as Event_PlayerBulletHit;
            if (bh != null)
            {
                timeDip = .5f;
            }

            Event_PlayerRocketHit rh = e as Event_PlayerRocketHit;
            if (rh != null)
            {
                timeDip = .1f;
            }

            Event_LanceHit lh = e as Event_LanceHit;
            if (lh != null)
            {
                timeDip = .65f;
            }

            Event_EnemyDeath ed = e as Event_EnemyDeath;
            if (ed != null)
            {
                timeDip = .06f;
            }

            if (timeDip <= Time.timeScale)
            {
                Time.timeScale = timeDip;
            }
        }
    }
예제 #5
0
    void EffectsEventHandler(SCG_Event e)
    {
        Event_PlayerBulletHit bH = e as Event_PlayerBulletHit;

        if (bH != null)
        {
            if (_IsBulletActiveCheck(bH.bullet.gameObject))
            {
                Make(MyGameAsset.BulletExplosion, bH.location);

                int indexOfBullet = bullets_Active.IndexOf(bH.bullet.gameObject);
                _StowActiveBullet(indexOfBullet);
                return;
            }
        }

        Event_PlayerRocketHit rH = e as Event_PlayerRocketHit;

        if (rH != null)
        {
            if (_IsGOActiveCheck(rH.altRocket.gameObject, rockets_Active))
            {
                //Debug.Log("Rocket hit registered by GAManager");

                Make(MyGameAsset.RocketExplosion, rH.location);

                int indexOfRocket = rockets_Active.IndexOf(rH.altRocket.gameObject);
                _StowActiveNonPhysicsManagedGO(rockets_Active, rockets_Times, rockets_Inactive, indexOfRocket);
                return;
            }
        }

        Event_LanceHit lH = e as Event_LanceHit;

        if (lH != null)
        {
            Make(MyGameAsset.LanceHit, lH.location);
            return;
        }

        Event_ExplosionBallHit x = e as Event_ExplosionBallHit;

        if (x != null)
        {
            Make(MyGameAsset.BulletExplosion, x.location);
            return;
        }

        Event_EnemyDeath eD = e as Event_EnemyDeath;

        if (eD != null)
        {
            //GameObject g = Make(MyGameAsset.DeathExplosion, eD.location);
            //g.GetComponent<Behavior_DeathExplosionTimer>().Explode();
            GameObject g = Make(MyGameAsset.SFX, eD.location);
            g.GetComponent <AudioSource>().PlayOneShot(gameModel.sfx_EnemyLittleExplosion);
        }

        Event_EnemyMineHit m = e as Event_EnemyMineHit;

        if (m != null)
        {
            GameObject g = Make(MyGameAsset.MineExplosion, m.location);
            //g.GetComponent<Behavior_DeathExplosionParent>().Explode();
        }

        Event_EnemyMissileHit msl = e as Event_EnemyMissileHit;

        if (msl != null)
        {
            GameObject g = Make(MyGameAsset.MissileExplosion, msl.location);
        }
    }
예제 #6
0
    public void EventHandler(SCG_Event e)
    {
        Event_BonusPoints bp = e as Event_BonusPoints;

        if (bp != null)
        {
            sadModel.score += bp.score;
            return;
        }

        Event_PlayerBulletHit bh = e as Event_PlayerBulletHit;

        if (bh != null)
        {
            sadModel.score += 7;
            return;
        }

        Event_PlayerShieldBlock sb = e as Event_PlayerShieldBlock;

        if (sb != null)
        {
            sadModel.score += 12;
            return;
        }

        Event_EnemyDeath ed = e as Event_EnemyDeath;

        if (ed != null)
        {
            sadModel.score += 100;
            return;
        }

        Event_PlayerRocketHit rh = e as Event_PlayerRocketHit;

        if (rh != null)
        {
            sadModel.score += 21;
            return;
        }

        Event_LanceHit sh = e as Event_LanceHit;

        if (sh != null)
        {
            sadModel.score += 3;
        }

        Event_LevelClear lc = e as Event_LevelClear;

        if (lc != null)
        {
            sadModel.lastScore = sadModel.endScore;
            sadModel.endScore  = sadModel.score;
        }

        Event_Restart r = e as Event_Restart;

        if (r != null)
        {
            sadModel.lastScore  = 0;
            sadModel.endScore   = 0;
            sadModel.score      = 0;
            sadModel.difficulty = 0;
            sadModel.level      = 1;
        }
    }