Ejemplo n.º 1
0
        public static void PlacePooledChunk(int playerIndex)
        {
            LevelChunk lc = inactiveLevelChunks[0];

            inactiveLevelChunks.Remove(lc);
            lc.SetPlayerIndex(playerIndex);
            switch (playerIndex)
            {
            case 0:
                lc.gameObject.layer = LayerMask.NameToLayer("P1LevelChunk");
                lc.gameObject.transform.GetChild(1).gameObject.layer = LayerMask.NameToLayer("P1LevelChunk");
                break;

            case 1:
                lc.gameObject.layer = LayerMask.NameToLayer("P2LevelChunk");
                lc.gameObject.transform.GetChild(1).gameObject.layer = LayerMask.NameToLayer("P2LevelChunk");
                break;

            default:
                break;
            }

            lc.gameObject.SetActive(true);
            Vector3 newPos = levelChunksLists[playerIndex][levelChunksLists[playerIndex].Count - 1].gameObject.transform.position;

            levelChunksLists[playerIndex].Add(lc);
            newPos.x += chunkWidth;
            lc.transform.position = newPos;
            lc.SpawnPickups(playerIndex);
        }
Ejemplo n.º 2
0
        public static void HandleNewChunkEntered(LevelChunk chunk, int playerIndex)
        {
            if (levelChunksLists[playerIndex].Count >= 3)
            {
                if (levelChunksLists[playerIndex][2] == chunk)
                {
                    levelChunksLists[playerIndex][0].PoolPickups();
                    levelChunksLists[playerIndex][0].gameObject.SetActive(false);
                    inactiveLevelChunks.Add(levelChunksLists[playerIndex][0]);
                    levelChunksLists[playerIndex].RemoveAt(0);
                }
            }


            if (levelChunksLists[playerIndex].Count < 4)
            {
                for (int i = 0; i < 4 - levelChunksLists[playerIndex].Count; i++)
                {
                    PlacePooledChunk(playerIndex);
                }
            }
        }
Ejemplo n.º 3
0
        private void Start()
        {
            levelChunksLists = new List <LevelChunk> [PlayerManager.PlayerCount];
            for (int i = 0; i < levelChunksLists.Length; i++)
            {
                levelChunksLists[i] = new List <LevelChunk>();
            }

            GameManager.Instance.RunReset += GameManager_RunReset;

            for (int i = 0; i < 10; i++)
            {
                LevelChunk lc = Instantiate(levelChunkPrefab, Level.Instance.transform).GetComponent <LevelChunk>();
                lc.gameObject.SetActive(false);
                inactiveLevelChunks.Add(lc);
            }
            for (int i = 0; i < levelChunksLists.Length; i++)
            {
                levelChunksLists[i].Add(initialChunks[i]);
                levelChunksLists[i][0].SetPlayerIndex(i);
            }
        }