Example #1
0
    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);
    }
Example #3
0
    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);
    }
Example #4
0
    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");
        }
    }
Example #5
0
    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;
        }
    }