//<summary>セーブデータからワールドを作成</summary>
    static public MapWorld createFromSave(string aFilePath, MyMap aMap)
    {
        MapSaveFileData tSaveData = new MapSaveFileData(aFilePath);

        //マップデータを記憶
        mData            = tSaveData;
        mWorld           = initWorld(new Vector3Int(mData.mStratums[0].mFeild[0].Count, mData.mStratums.Count, mData.mStratums[0].mFeild.Count));
        mWorld.mMap      = aMap;
        mWorld.mMapName  = mData.mMapName;
        mWorld.mFileData = mData;
        mWorld.mSaveData = tSaveData;

        //マップファイルへのパス
        mWorld.mMapPath = tSaveData.mFilePath;

        //生成
        createFromFileData();

        //生成完了
        foreach (MapBehaviour tBehaviour in mWorld.GetComponentsInChildren <MapBehaviour>())
        {
            tBehaviour.placed();
        }

        MapWorld tCreatedWorld = mWorld;

        mWorld = null;
        mData  = null;
        return(tCreatedWorld);
    }
예제 #2
0
    void Update()
    {
        //入力
        mController.mInputVector = mPad.mTailVec * 0.001f;
        mController.mInputA      = mPad.mIsTapped;

        //セーブ
        if (Input.GetKeyDown(KeyCode.S))
        {
            MapSaveFileData tSave = mMap.save();
            MyJson.serializeToFile(tSave.createDic().dictionary, "Assets/resources/save/mapSaveData.json", true);

            mMap.mFlag.write("Assets/resources/save/flagSaveData.json", true);
        }
    }
예제 #3
0
    ///<summary>セーブデータ読み込み</summary>
    public void loadSaveData(string aFilePath)
    {
        //セーブデータ読み込み
        MapSaveFileData tSaveData = new MapSaveFileData(aFilePath);

        mEncountSystem = new MapEncoutSystem();
        mEncountSystem.setCount(tSaveData.mEncountCount);

        //ワールドを再生成
        if (mWorld != null)
        {
            mWorld.delete();
        }
        mWorld      = MapWorldFactory.createFromSave(aFilePath, this);
        mWorld.mMap = this;
        mWorld.name = "world";
        mWorld.transform.SetParent(this.transform, false);
    }
예제 #4
0
    /// <summary>マップの状態を保存</summary>
    static public MapSaveFileData save(MyMap aMap)
    {
        MapSaveFileData tSaveData = new MapSaveFileData();

        //マップ名
        tSaveData.mMapName = aMap.mWorld.mFileData.mMapName;
        //field margin
        tSaveData.mFieldMargin = aMap.mWorld.mFileData.mFieldMargin;
        //cameraSize
        tSaveData.mCameraSize = aMap.mWorld.mCameras[0].mCameraSize;
        //フレームワーク外部用変数
        tSaveData.mArg = aMap.mWorld.mFileData.mArg;
        //ファイルパス
        tSaveData.mFilePath = aMap.mWorld.mMapPath;
        //エンカウント
        tSaveData.mEncountCount = aMap.mEncountSystem.mCount;
        //stratum
        tSaveData.mStratums = aMap.mWorld.mFileData.mStratums;
        //chip
        tSaveData.mChip = aMap.mWorld.mFileData.mChip;
        //shadow
        tSaveData.mShadows = aMap.mWorld.mFileData.mShadows;
        //trigger
        tSaveData.mTriggers = aMap.mWorld.mFileData.mTriggers;
        //event
        tSaveData.mEvents = aMap.mWorld.mFileData.mEvents;
        //entrance
        tSaveData.mEntrances = aMap.mWorld.mFileData.mEntrances;
        //ornament
        foreach (MapOrnament tOrnament in aMap.mWorld.mOrnamentContainer.GetComponentsInChildren <MapOrnament>())
        {
            tSaveData.mOrnaments.Add(saveOrnament(tOrnament));
        }
        //character(player含む)
        foreach (MapCharacter tCharacter in aMap.mWorld.mCharacterContainer.GetComponentsInChildren <MapCharacter>())
        {
            tSaveData.mCharacters.Add(saveCharacter(tCharacter));
        }

        return(tSaveData);
    }