Esempio n. 1
0
    public void SaveWorld()
    {
        PlayerPrefs.SetInt("Seed", myWorldGeneration.GetSeed());

        Biome[] biomes = myWorldGeneration.GetBiomes();

        List <ResourceUsable> resourceToSave = new List <ResourceUsable>();

        for (int i = 0; i < biomes.Length; ++i)
        {
            List <ResourceUsable> newResouces = biomes[i].GetResourceUsablesToSave();
            for (int j = 0; j < newResouces.Count; ++j)
            {
                resourceToSave.Add(newResouces[j]);
            }
        }

        PlayerPrefs.SetInt("PlayerRoomX", myWorldGeneration.GetPlayerMovement().GetCurrentRoom().myRoomData.myX);
        PlayerPrefs.SetInt("PlayerRoomY", myWorldGeneration.GetPlayerMovement().GetCurrentRoom().myRoomData.myY);
        PlayerPrefs.SetInt("PlayerBiomeX", myWorldGeneration.GetPlayerMovement().GetCurrentRoom().GetBiome().myX);
        PlayerPrefs.SetInt("PlayerBiomeY", myWorldGeneration.GetPlayerMovement().GetCurrentRoom().GetBiome().myY);
        PlayerPrefs.SetFloat("PlayerX", myWorldGeneration.GetPlayerMovement().transform.position.x);
        PlayerPrefs.SetFloat("PlayerY", myWorldGeneration.GetPlayerMovement().transform.position.y);
        PlayerPrefs.SetInt("PlayerSouls", myWorldGeneration.GetPlayerMovement().GetComponent <PlayerData>().GetSoulsCollected());

        PlayerPrefs.SetInt("ResourceNum", resourceToSave.Count);

        for (int i = 0; i < resourceToSave.Count; ++i)
        {
            PlayerPrefs.SetInt("Resource" + i + "Life", resourceToSave[i].GetCurrentLife());
            PlayerPrefs.SetFloat("Resource" + i + "Time", resourceToSave[i].GetCurrentTimeToRefill());
            PlayerPrefs.SetInt("Resource" + i + "X", resourceToSave[i].GetTile().myTileData.myX);
            PlayerPrefs.SetInt("Resource" + i + "Y", resourceToSave[i].GetTile().myTileData.myY);
            PlayerPrefs.SetInt("Resource" + i + "BiomeX", resourceToSave[i].GetTile().myParentRoom.GetBiome().myX);
            PlayerPrefs.SetInt("Resource" + i + "BiomeY", resourceToSave[i].GetTile().myParentRoom.GetBiome().myY);
        }

        MapUI mapUI = FindObjectOfType <MapUI>();

        List <Room> rooms = mapUI.GetVisitedRooms();

        PlayerPrefs.SetInt("RoomsVisited", rooms.Count);

        for (int i = 0; i < rooms.Count; ++i)
        {
            PlayerPrefs.SetInt("Visited" + i + "BiomeX", rooms[i].GetBiome().myX);
            PlayerPrefs.SetInt("Visited" + i + "BiomeY", rooms[i].GetBiome().myY);
            PlayerPrefs.SetInt("Visited" + i + "RoomX", rooms[i].myRoomData.myX);
            PlayerPrefs.SetInt("Visited" + i + "RoomY", rooms[i].myRoomData.myY);
        }

        PlayerPrefs.Save();
    }