Exemplo n.º 1
0
    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;
        }
    }
Exemplo n.º 2
0
    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);
    }