//Resets all spawned objects public void ResetAllSpawnedObjects() { CleanSpawnManager(); PlayerCubes.ResetAllSpawnedObjects(); DefaultCubes.ResetAllSpawnedObjects(); }
// Method for destroy marked Player Cube private void DestroyCube(GameCube toRemove) { // Remove from list PlayerCube = PlayerMade.FindLast(n => n.sectorCoord == toRemove.ParentSector); var cubeData = PlayerCube.CubeData.Find(n => n.CubeCoords == toRemove.transform.position); PlayerCube.CubeData.Remove(cubeData); SumPlayerCubes -= 1; // decrease Total Destroy(toRemove.gameObject); // destroy Cube Game Object }
//--------------------------- // Method for Sector Creation private void CreateSector(Vector2 sectorCoords, bool IsInner) { var xCoord = (int)sectorCoords.x * SectorSize; // get x-start point coords var zCoord = (int)sectorCoords.y * SectorSize; // get x-start point coords (y = z for us) GameObject newSectorGO = Instantiate(SectorPrefab, new Vector3(xCoord, 0, zCoord), Quaternion.identity) as GameObject; GameSector newSector = newSectorGO.GetComponent <GameSector>(); newSector.SectorCoords.x = sectorCoords.x; newSector.SectorCoords.y = sectorCoords.y; if (IsInner == true) // mark Sector as Inner Sector { newSector.InnerSector = true; } for (int x = xCoord; x < SectorSize + xCoord; x++) // Generate Game Cubes { for (int z = zCoord; z < SectorSize + zCoord; z++) { var position = new Vector2(x, z); CreateGameCube(newSector, position); // Create Game Cube } } // Create Sector Player Cubes PlayerCube = PlayerMade.Find(n => n.sectorCoord == sectorCoords); if (PlayerCube.CubeData != null) { for (int i = 0; i < PlayerCube.CubeData.Count; i++) { RecreatePlayerCube(newSector, PlayerCube.CubeData[i]); // build prev. created Player Cube } } // Add Sector to lists GameSectors.Add(newSector); newSector.transform.parent = ObjectsParent; }
//------------------------------------- // Method for Player made Cube Creation private void CreatePlayerCube(GameSector sector) { // Create Cube from relevant Prefab GameObject newCubeGO = Instantiate(PlayerCubePfbs[CubeIndex], new Vector3(NewCube.x, NewCube.y, NewCube.z), Quaternion.identity) as GameObject; GameCube newCube = newCubeGO.GetComponent <GameCube>(); newCubeGO.transform.parent = sector.transform; newCube.ParentSector = sector.SectorCoords; sector.Cubes.Add(newCube); // probably not needed SumPlayerCubes += 1; // increase Total // Process Player Made list PlayerCube = PlayerMade.FindLast(n => n.sectorCoord == sector.SectorCoords); if (PlayerCube.CubeData == null) // no Player Cube data for Sector yet { PlayerCube.sectorCoord = sector.SectorCoords; PlayerCube.CubeData = new List <PlayerCubesData>(); PlayerCubesData cubedata = new PlayerCubesData { CubeCoords = NewCube, Endurance = newCube.Endurance }; PlayerCube.CubeData.Add(cubedata); PlayerMade.Add(PlayerCube); } else // only add new Player Cube to list { PlayerCubesData cubedata = new PlayerCubesData { CubeCoords = NewCube, Endurance = newCube.Endurance }; PlayerCube.CubeData.Add(cubedata); } }