Beispiel #1
0
    void Reset(Hero h)
    {
        GameObject reset = null;

        switch (eyeDee)           // THIS IS NOT DRY, YOU MUST MAKE CHANGES BELOW AS WELL AS HERE
        {
        case (EnemyID.ROCK):
            reset = Instantiate(GameManager.instance.rockEnemyFab);
            break;

        case (EnemyID.TREE):
            reset = Instantiate(GameManager.instance.treeEnemyFab);
            break;

        case (EnemyID.SAVE):
            reset = Instantiate(GameManager.instance.saveEnemyFab);
            break;

        case (EnemyID.PLANT):
            reset = Instantiate(GameManager.instance.plantEnemyFab);
            break;
        }

        if (reset.GetComponent <AggroMimic>() != null)
        {
            AggroMimic mimic = reset.GetComponent <AggroMimic> ();
            mimic.getUpDelay = startDelay;
            mimic.aggGroup   = startGroup;
            if (startGroup != null)
            {
                startGroup.mimicGroup.Add(mimic);
                startGroup.RegisterTrackingMimic(mimic);
            }
        }

        if (reset != null)
        {
            reset.transform.position = startPosition;
            notKilled = true;
            Destroy(this.gameObject);
        }
    }
Beispiel #2
0
        public void Respawn()
        {
            GameObject reset = null;

            switch (iidd)
            {
            case (EnemyID.ROCK):
                reset = Instantiate(GameManager.instance.rockEnemyFab);
                break;

            case (EnemyID.TREE):
                reset = Instantiate(GameManager.instance.treeEnemyFab);
                break;

            case (EnemyID.SAVE):
                reset = Instantiate(GameManager.instance.saveEnemyFab);
                break;

            case (EnemyID.PLANT):
                reset = Instantiate(GameManager.instance.plantEnemyFab);
                break;
            }

            if (reset.GetComponent <AggroMimic>() != null)
            {
                AggroMimic mimic = reset.GetComponent <AggroMimic> ();
                mimic.getUpDelay = delay;
                mimic.aggGroup   = groupWith;
                if (groupWith != null)
                {
                    groupWith.mimicGroup.Add(mimic);
                    groupWith.RegisterTrackingMimic(mimic);
                }
            }

            if (reset != null)
            {
                reset.transform.position = spawnHere;
            }
        }
Beispiel #3
0
 void UntrackMimic(AggroMimic mimic)
 {
     aggrodMimics.Remove(mimic);
 }
Beispiel #4
0
 void TrackMimic(AggroMimic mimic)
 {
     aggrodMimics.Add(mimic);
 }
Beispiel #5
0
 // Use this for initialization
 public void RegisterTrackingMimic(AggroMimic m)
 {
     m.OnGotUp   += TrackMimic;
     m.OnSatDown += UntrackMimic;
 }
Beispiel #6
0
 void SatDown(AggroMimic self)
 {
     animations.SetTrigger("Idle");
 }
Beispiel #7
0
 void GotUp(AggroMimic self)
 {
     animations.SetTrigger("Seeking");
 }