コード例 #1
0
    //Resets all spawned objects
    public void ResetAllSpawnedObjects()
    {
        CleanSpawnManager();

        PlayerCubes.ResetAllSpawnedObjects();
        DefaultCubes.ResetAllSpawnedObjects();
    }
コード例 #2
0
ファイル: GameController.cs プロジェクト: jsipkovsky/IceCraft
    // 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
    }
コード例 #3
0
ファイル: GameController.cs プロジェクト: jsipkovsky/IceCraft
    //---------------------------
    // 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;
    }
コード例 #4
0
ファイル: GameController.cs プロジェクト: jsipkovsky/IceCraft
    //-------------------------------------
    // 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);
        }
    }