public void StartNewGame() { modpanel.ApplyChanges(); SavedFile state = new SaveStateWorldMap(curretnCampaign); FilePath.CurrentSaveFilePath = SaveLoadManager.AutoSaveCampaignProgress(state); Globals.campaign = curretnCampaign; if (curretnCampaign.initalCutscene != "") { Globals.cutsceneData = new CutsceneData(curretnCampaign.GetCutsceneCopy(curretnCampaign.initalCutscene), state, true); CustomeSceneLoader.LoadCutsceneScene(); } else if (curretnCampaign.initalCombat != "") { state = new SavedFileMission(curretnCampaign, curretnCampaign.GetMissionData(curretnCampaign.initalCombat)); FilePath.CurrentSaveFilePath = SaveLoadManager.AutoSaveCampaignProgress(state); state.SwitchScene(); } else { state.SwitchScene(); } }
public override IEnumerator ExecuteAction(CutsceneController controller, bool playNextNode = true) { Campaign c = Globals.campaign; SavedFile state = new SavedFileMission(c, c.GetMissionData(missionID)); FilePath.CurrentSaveFilePath = SaveLoadManager.AutoSaveCampaignProgress(state); state.SwitchScene(); yield return(null); }
public SavedFileMission SaveMission() { //Remove the tile bonuses given to actors // These bonus should be given back when the game is loaded // pathfinding.RemoveAllActorStats(); //I think we're doing this because SavedFileMission file = new SavedFileMission(campaign, currentMission); file.SaveTileState(pathfinding.tiles); file.currentTurnSpeed = turnManager.globalTurnSpeed; pathfinding.AddAllStats(); return(file); }
public void EmbarkButton() { ///idk /// ///Maybe we save where the player was on the map here? SavedFileMission save = new SavedFileMission(Globals.campaign, currMission); FilePath.CurrentSaveFilePath = SaveLoadManager.AutoSaveCampaignProgress(save); if (currMission.int_cutsceneKey == "") { //No cutscene to play, go straight into the battle SceneManager.LoadScene("BoardScene"); } else { //Play the cutscene first Globals.cutsceneData = new CutsceneData(Globals.campaign.GetCutsceneCopy(currMission.int_cutsceneKey), save, true); SceneManager.LoadScene("CutsceneScene"); } }
void Start() { _instance = this; //Just a testing thing if (Globals.campaign == null) { Debug.Log("DEPENDICIES INJECTED"); GenerateDemoCampaign dcm = new GenerateDemoCampaign(); Globals.campaign = dcm.campaign; campaign = dcm.campaign; party = campaign.currentparty; currentMission = campaign.GetMissionData("test_mission_00"); currentMission.started = false; SavedFileMission state = new SavedFileMission(campaign, currentMission); FilePath.CurrentSaveFilePath = SaveLoadManager.GenerateSaveStateFilePath(state.campaign.GetFileName()); SaveLoadManager.AutoSaveCampaignProgress(state); } else { campaign = Globals.campaign; party = campaign.currentparty; } //Actual initialization starts here Globals.currState = GameState.Combat; SavedFileMission file = SaveLoadManager.LoadFile(FilePath.CurrentSaveFilePath) as SavedFileMission; currentMission = file.currentMission; currMap = Globals.campaign.GetMapDataContainer().mapDB.GetCopy(currentMission.mapName); if (currentMission.started) { for (int x = 0; x < currMap.sizeX; x++) { for (int y = 0; y < currMap.sizeY; y++) { currMap.tileBoard[x, y] = file.TileTypeStates[x, y].GetKey(); } } } inputFSM = new InputFSM(new BlockUserInputState()); atlas = Resources.Load <SpriteAtlas>(FilePath.TileSetAtlas); GenerateBoard(); //we are loading a mission if (currentMission.started) { StartBattleFromLoad(); for (int x = 0; x < currMap.sizeX; x++) { for (int y = 0; y < currMap.sizeY; y++) { pathfinding.tiles[x, y].tileGO.ChangeTileType(file.TileTypeStates[x, y]); foreach (TileEffect effect in file.TileEffectStates[x, y]) { if (effect is AuraTileEffect) { //pathfinding.tiles[x, y].AddTileEffect(effect.Copy() as AuraTileEffect); } else { pathfinding.tiles[x, y].AddTileEffect(effect.Copy() as TileEffect); } } } } turnManager.globalTurnSpeed = file.currentTurnSpeed; } else // we starting a new mission { Globals.cutsceneData = null; InitBattledata(); //ui.TurnOffInfoPanels(); currentMission.started = true; } }