Example #1
0
 void OnTriggerEnter(Collider coll)
 {
     if (coll.gameObject.tag == "Ally")
     {
         MoveMotor motor = coll.gameObject.GetComponent <MoveMotor>();
         motor.master.screenshake.Shake(AllyScreenshakeStrength, AllyScreenshakeTime);
         motor.Incinerate();
     }
 }
Example #2
0
    void SpawnPlayer(LevelData levelData)
    {
        player             = Instantiate(PlayerPrefab, levelData.playerSpawn);
        playerMotor        = player.GetComponent <MoveMotor>();
        playerMotor.master = master;

        player.transform.parent = levelData.transform;

        master.player = player;

        Destroy(levelData.playerSpawn.gameObject);
    }
Example #3
0
    void CheckCollision(Collision coll)
    {
        GameObject collObj = coll.gameObject;

        if (collObj.tag == "Ally")
        { //|| collObj.tag == "Player")
            master.screenshake.Shake(AllyScreenshakeStrength, AllyScreenshakeTime);
            MoveMotor motor = collObj.GetComponent <MoveMotor>();

            GameObject pointObject = Instantiate(PointLoseParticle, collObj.transform);
            pointObject.transform.parent           = pointObject.transform.parent.parent;
            pointObject.transform.localEulerAngles = Vector3.zero;

            motor.DieAlly();
        }

        /* else if (collObj.tag == "NPC")
         * {
         *   MoveMotor motor = collObj.GetComponent<MoveMotor>();
         *   motor.DieNPC();
         * }*/

        else if (collObj.tag == "Player" && !playerDied)
        {
            playerDied = true;
            master.screenshake.Shake(playerScreenshakeStrength, playerScreenshakeTime);
            collObj.active = false;



            GameObject particleObject = Instantiate(PlayerDeathParticle, collObj.transform);
            particleObject.transform.parent = transform.root;
            particleObject.transform.GetChild(0).GetComponent <ParticleSystem>().Emit(1);



            master.saveHandler.EndGame("DEATH", 1);
        }


        if (collObj.tag != "Enemy")
        {
            GameObject particleObj = Instantiate(explodeParticles, transform);
            particleObj.transform.parent = transform.parent;
            particleObj.GetComponent <ParticleSystem>().Emit(10);

            Destroy(gameObject);
        }
    }
Example #4
0
    void SpawnNPC(LevelData levelData)
    {
        int maxAllies = master.saveHandler.GetAllies();
        int maxNonCon = master.controls.NPCCount - maxAllies;

        Debug.Log(maxNonCon + " max");

        int allyCount   = 0;
        int nonConCount = 0;


        if (levelData.isTutorial)
        {
            maxAllies = 0; maxNonCon = 5;
        }

        while (allyCount < maxAllies || nonConCount < maxNonCon) //keep looping until all allies and noncons are in places
        {
            foreach (LevelData.NPCSpawn npcSpawn in levelData.npcSpawn)
            {
                foreach (Transform child in levelData.transform)
                {
                    if (child.name.Contains(npcSpawn.keyTerm))
                    {
                        NPCHandler.NPCMode npcMode = npcSpawn.mode;

                        if (npcMode == NPCHandler.NPCMode.NONCON)
                        {
                            //  Debug.Log("checking: " + nonConCount + " .... " + maxNonCon);
                        }

                        if (npcMode == NPCHandler.NPCMode.ALLY && allyCount < maxAllies ||
                            npcMode == NPCHandler.NPCMode.NONCON && nonConCount < maxNonCon)
                        {
                            GameObject npc = Instantiate(npcSpawn.NPCPrefab, child);

                            npc.transform.parent = levelData.transform;
                            npc.name             = "NPC [" + npcSpawn.keyTerm.Replace("Spawn", "") + "]";

                            NPCHandler npcHandler = npc.GetComponent <NPCHandler>();
                            npcHandler.master = master;
                            npcHandler.SetMode(npcSpawn.mode);

                            MoveMotor motor = npc.GetComponent <MoveMotor>();
                            motor.master = master;

                            if (npcMode == NPCHandler.NPCMode.ALLY)
                            {
                                allyCount++;
                                // Debug.Log("add ally111");
                            }
                            else if (npcMode == NPCHandler.NPCMode.NONCON)
                            {
                                nonConCount++;
                            }
                        }
                    }
                }
            }
        }



        foreach (LevelData.NPCSpawn npcSpawn in levelData.npcSpawn)
        {
            foreach (Transform child in levelData.transform)
            {
                if (child.name.Contains(npcSpawn.keyTerm))
                {
                    Destroy(child.gameObject);
                }
            }
        }
    }
Example #5
0
 void Start()
 {
     // get reference to the MoveMotor component once
     characterController = GetComponent<MoveMotor>();
 }
Example #6
0
 void Start()
 {
     characterController = GetComponent<MoveMotor>();
 }