示例#1
0
    private void Start()
    {
        //PlayerPrefs.DeleteAll();
        string     jsonStringLevelSaves = PlayerPrefs.GetString(LEVELSAVES);
        LevelSaves levelSaves           = JsonUtility.FromJson <LevelSaves>(jsonStringLevelSaves);

        LevelsID = levelSaves.LevelsID;
    }
示例#2
0
    public void SaveLevel(string _levelID)
    {
        //RemoveSavedLevel(_levelID);
        LevelData saveClass = new LevelData();

        saveClass.ID = _levelID;
        LevelsID.Add(saveClass.ID);
        Debug.LogFormat("{0} saved!", saveClass.ID);
        saveClass.Items = new CellForSaveData[GridController3D.gridController3D.GameplayGridData.Cells.GetLength(0)][];

        for (int i = 0; i < GridController3D.gridController3D.GameplayGridData.Cells.GetLength(0); i++)
        {
            saveClass.Items[i] = new CellForSaveData[GridController3D.gridController3D.GameplayGridData.Cells[i].GetLength(0)];
        }

        for (int i = 0; i < saveClass.Items.GetLength(0); i++)
        {
            for (int j = 0; j < saveClass.Items[i].GetLength(0); j++)
            {
                int[] tempTypeID = CellTypeIDCheck(GridController3D.gridController3D.GameplayGridData.Cells[i][j]);
                saveClass.Items[i][j] = new CellForSaveData
                {
                    AnchoredPosition = GridController3D.gridController3D.GameplayGridData.Cells[i][j].AnchoredPosition,
                    Position         = GridController3D.gridController3D.GameplayGridData.Cells[i][j].Position,
                    X      = GridController3D.gridController3D.GameplayGridData.Cells[i][j].X,
                    Y      = GridController3D.gridController3D.GameplayGridData.Cells[i][j].Y,
                    TypeID = tempTypeID,
                    SpotTransformsPosition = GridController3D.gridController3D.GameplayGridData.Cells[i][j].SpotTransformsPosition,
                    SpotTransformsRotation = GridController3D.gridController3D.GameplayGridData.Cells[i][j].SpotTransformsRotation,
                    SpotTransformsScale    = GridController3D.gridController3D.GameplayGridData.Cells[i][j].SpotTransformsScale,
                    CellSpotTypes          = GridController3D.gridController3D.GameplayGridData.Cells[i][j].CellSpotTypes
                };
            }
        }
        saveClass.ItemsToStringArray = new string[saveClass.Items.GetLength(0)];
        for (int i = 0; i < saveClass.Items.GetLength(0); i++)
        {
            saveClass.ItemsToStringArray[i] = JsonHelper.ToJson <CellForSaveData>(saveClass.Items[i]);
        }

        saveClass.ArrayItemsToString = JsonHelper.ToJson <string>(saveClass.ItemsToStringArray);

        // Salvo livello
        string jsonString = JsonUtility.ToJson(saveClass);
        //PlayerPrefs.SetString(saveClass.ID, jsonString);
        // Salvo il nome del livello nella lista dei livelli
        LevelSaves levelSaves = new LevelSaves();

        levelSaves.LevelsID = LevelsID;
        string jsonStringForLevelID = JsonUtility.ToJson(levelSaves);

        //PlayerPrefs.SetString(LEVELSAVES, jsonStringForLevelID);
        //PlayerPrefs.Save();
        SaveItemInfo(jsonString, _levelID);
    }
示例#3
0
    public void SaveLevel()
    {
        items = new List <ItemData>();

        GetAllInterestingData();
        foreach (var item in m_nodes)
        {
            items.Add(item.GetData());
        }
        foreach (var item in m_enemies)
        {
            items.Add(item.GetData());
        }
        foreach (var item in m_movableObjects)
        {
            items.Add(item.GetData());
        }
        foreach (var item in m_obstacles)
        {
            items.Add(item.GetData());
        }
        foreach (var item in m_floor)
        {
            items.Add(item.GetData());
        }
        foreach (var item in m_player)
        {
            items.Add(item.GetData());
        }

        LevelData saveClass = new LevelData();

        saveClass.ID = "Level" + (LevelsID.Count + 1).ToString();
        LevelsID.Add(saveClass.ID);
        Debug.LogFormat("{0} saved!", saveClass.ID);
        saveClass.Items = items;
        // Salvo livello
        string jsonString = JsonUtility.ToJson(saveClass);

        PlayerPrefs.SetString(saveClass.ID, jsonString);
        // Salvo il nome del livello nella lista dei livelli
        LevelSaves levelSaves = new LevelSaves();

        levelSaves.LevelsID = LevelsID;
        string jsonStringForLevelID = JsonUtility.ToJson(levelSaves);

        PlayerPrefs.SetString(LEVELSAVES, jsonStringForLevelID);
        PlayerPrefs.Save();
    }
示例#4
0
    private void Start()
    {
        string     jsonStringLevelSaves = PlayerPrefs.GetString(LEVELSAVES);
        LevelSaves levelSaves           = JsonUtility.FromJson <LevelSaves>(jsonStringLevelSaves);

        LevelsID = levelSaves.LevelsID;

        foreach (string levelId in LevelsID)
        {
            Debug.LogFormat("Level {0} found!", levelId);
            Button newButton = Instantiate <Button>(ButtonLoadLevelPrefab, ButtonsContainer.transform);
            newButton.GetComponentInChildren <Text>().text = levelId;
            newButton.onClick.AddListener(() => LoadLevel(levelId));
        }
    }