///<summary>マップ読み込み</summary> public void load(string aFilePath) { if (mEncountSystem == null) { mEncountSystem = new MapEncoutSystem(); } //ワールドを再生成 if (mWorld != null) { mWorld.delete(); } mWorld = MapWorldFactory.create(aFilePath, this); mWorld.mMap = this; mWorld.name = "world"; mWorld.transform.SetParent(this.transform, false); }
/// <summary>マップ移動</summary> public void moveMap(MapEventMoveMap aMoveEvent) { //マップ再生成 load(aMoveEvent.mMapPath); aMoveEvent.mEndSide.mEntranceData = mWorld.mFileData.mEntrances[aMoveEvent.mEndSide.mEntrance]; //移動先座標計算 MapCharacter tCharacter = MapWorldFactory.createCharacter(mPlayerData); aMoveEvent.mEndSide.calculatePositionFromPercentagePosition(tCharacter.mEntityPhysicsBehaviour.mAttriubteCollider); tCharacter.delete(); //プレイヤー追加 mPlayerData.mPosition = aMoveEvent.mEndSide.mPosition; mPlayerData.mDirection = aMoveEvent.mPlayerDirection; MapWorldFactory.addCharacter(mPlayerData, mWorld); //マップ移動後イベント実行 mWorld.mEventSystem.addMoveMapEventEndSide(aMoveEvent.mEndSide, mWorld.getPlayer()); mWorld.updateWorld(); }
///<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); }