Esempio n. 1
0
    private void SaveButtonPressed()
    {
        m_puzzlePieces.Save();
        var file = new DataFilePlain();

        file.Save(m_puzzlePieces, m_saveFileName);
    }
Esempio n. 2
0
    private void LoadButtonPressed()
    {
        var file = new DataFilePlain();
        PuzzlePiecesList loadPieces = file.Load <PuzzlePiecesList>(m_saveFileName);

        Debug.Log("load");
        if (loadPieces != null)
        {
            //現在の情報をすべてクリアする
            foreach (var piece in m_puzzlePieces.puzzlePieces)
            {
                if (piece != null)
                {
                    Debug.Log("delete puzzlePieces: " + piece.name);
                    Destroy(piece.obj);
                }
            }
            m_puzzlePieces.Clear();
            //Loadした情報に更新する
            foreach (var piece in loadPieces.puzzlePieces)
            {
                if (piece != null)
                {
                    Debug.Log("add puzzlePieces: " + piece.name);
                    foreach (var prefab in m_puzzlePiecePrefabs)
                    {
                        if (prefab.name == piece.name)
                        {
                            GameObject pieceInstance = Instantiate(prefab, piece.position, piece.rotation) as GameObject;
                            pieceInstance.SetActive(true);
                            m_puzzlePieces.Add(prefab.name, pieceInstance);
                            break;
                        }
                    }
                }
            }
            //Goal/Marbleの配置を更新する
            m_puzzlePieces.Load(loadPieces.goal, loadPieces.marble);
        }
    }