public void OnEnterDoor(Door.Side side) { //Kald vores listeners, hvis nogle if (OnNewRoom != null) { OnNewRoom(); } //Checker at vi ikke har passeret det min antal rum //Ideen her er så at vælge et bossrum hvis det ikke er tilfældet //if (minNbOfRooms > roomCount){ if (true) { roomCount++; if (curRoom != null) { curRoom.Destroy(); } //Vælger et tilfældigt rum og tager det ud af puljen curRoom = poolMan.ReuseObject(ChooseRoom(), Vector3.zero, Quaternion.identity) .GameObject.GetComponent <Room>(); //Placer spilleren forand modsatte dør han gik ud af player.GetComponent <Rigidbody>().position = curRoom.getPlayerSpawn(side); //Genrerer de "bølger" og antallet af fjender som der kommer i rummet GenerateWaves(); waveNumber = 0; //Starter den næste "bølge" af fjender NextWave(); nextSpawnTime = Time.time + 1f; } }
public Vector3 getPlayerSpawn(Door.Side side) { Vector3 v = Vector3.zero; //Finder den modsate dør System.Array values = System.Enum.GetValues(typeof(Door.Side)); int opposite = ((int)side + 2) % values.Length; side = (Door.Side)values.GetValue(opposite); foreach (Door door in doors) { if (door.side == side) { v = door.GetPlayerSpawn(); } } return(v); }