Ejemplo n.º 1
0
    public void SaveState(Engine engine, string fullPath)
    {
        //TODO return a bool for success?
        campaignState    = CampaignState.GetState();
        partyState       = PartyState.GetState(engine);
        triggerState     = engine.triggerManager.GetState();
        objectiveState   = engine.objectiveManager.GetState();
        monsterState     = GlowEngine.FindObjectOfType <MonsterManager>().GetState();
        chapterState     = engine.chapterManager.GetState();
        tileState        = engine.tileManager.GetState();
        interactionState = engine.interactionManager.GetState();
        camState         = GlowEngine.FindObjectOfType <CamControl>().GetState();

        //string basePath = Path.Combine( Environment.ExpandEnvironmentVariables( "%userprofile%" ), "Documents", "Your Journey", "Saves" );
        string basePath = GetFullSavePath();

        if (basePath is null)
        {
            return;
        }

        string output = JsonConvert.SerializeObject(this, Formatting.Indented, new Vector3Converter());

        //string outpath = Path.Combine( basePath, "SAVE" + saveIndex + ".sav" );
        Debug.Log("SaveState::SAVING TO: " + fullPath);

        try
        {
            using (var stream = File.CreateText(fullPath))
            {
                stream.Write(output);
            }
        }
        catch
        {
            Debug.Log("Could not save the state");
        }
    }