示例#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();
        }
    }
示例#2
0
    void MissionComplete()
    {
        pathfinding.RemoveAllActorStats();

        foreach (Actor actor in spawner.actors)
        {
            actor.RemoveAllBuffs();
            actor.actorData.ResetCharges();
        }

        int i = 0;

        foreach (ActorData m in currentMission.npcs)
        {
            i++;
        }


        currentMission.mainReward.AddReward(new ExperienceReward(i * 1000));
        Debug.Log(i + " enemies killed");


        Globals.campaign.MissionCompleted(currentMission.GetKey());


        Debug.Log("MISSION COMPLETE");
        currentMission.MissionComplete(this);


        //
        inputFSM.SwitchState(new RewardState(this));


        foreach (ActorData ad in party.partyCharacter)
        {
            ad.selected = false;
            ad.RestoreCurrentStats();
        }

        if (campaign.campaignModifier.permaDeath == false)
        {
            foreach (ActorData actorData in party.partyCharacter)
            {
                if (actorData.selected && actorData.isAlive == false)
                {
                    actorData.isAlive = true;
                }
            }
        }


        SavedFile state = new SaveStateWorldMap(Globals.campaign);

        SaveLoadManager.AutoSaveCampaignProgress(state);

        ui.rewardPanel.InitRewardList(this);
    }
示例#3
0
    void BaseButtonClicked()
    {
        Campaign      campaign = Globals.campaign;
        SaveStateBase save     = new SaveStateBase(campaign);

        SaveLoadManager.AutoSaveCampaignProgress(save);

        SceneManager.LoadScene("BaseScene");
    }
示例#4
0
    public void ButtonClicked()
    {
        Globals.campaign.worldMapDictionary[mapKey].ChangeCurrentPos(startPos);
        Globals.campaign.currentWorldMap = mapKey;


        FilePath.CurrentSaveFilePath = SaveLoadManager.AutoSaveCampaignProgress(new SaveStateWorldMap(Globals.campaign));

        CustomeSceneLoader.LoadWorldMap();
    }
示例#5
0
    private void OnDisable()
    {
        CleanButtons();
        ClearTalentButtons();
        LearnSkillButton.button.onClick.RemoveAllListeners();

        SaveStateBase state = new SaveStateBase(Globals.campaign);

        SaveLoadManager.AutoSaveCampaignProgress(state);
    }
    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);
    }
示例#7
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");
        }
    }
示例#8
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;
        }
    }