Пример #1
0
    /**
     * Deletes current gamestate (characters, explored map etc) and creates default data.
     * This will causes all characters, maps, etc to be lost
     */
    public void Reset()
    {
        if (!CoM.GameDataLoaded)
        {
            throw new Exception("Can not reset save file until game data has been loaded.");
        }

        SpawnManager = new SpawnManager();

        // Store.
        Store = new MDRStore();
        Store.SetDefault();

        GameStats.AddDefaultStats();

        // Explored dungeon.
        ExploredDungeon = new MDRDungeon();
        ExploredDungeon.Initialize(CoM.Dungeon.Width, CoM.Dungeon.Height, CoM.Dungeon.Floors);

        // characters and party
        CharacterList = loadFromStore <MDRCharacterLibrary>("DefaultCharacters");
        PartyList     = loadFromStore <MDRPartyLibrary>("DefaultParty");

        Trace.Log("Save file reset.");

        _loaded = true;
    }
Пример #2
0
    /** Restores game from save file. */
    public void Load()
    {
        Util.Assert(CoM.GameDataLoaded, "Data must be loaded before loading a save file.");

        DateTime startTime = DateTime.Now;

        GameStats       = loadFromStoreDefault <GameRecords>("GameStats");
        Store           = loadFromStoreDefault <MDRStore>("Store");
        ExploredDungeon = loadFromStoreDefault <MDRDungeon>("ExploredDungeon");
        CharacterList   = loadFromStoreDefault <MDRCharacterLibrary>("Characters");
        PartyList       = loadFromStoreDefault <MDRPartyLibrary>("Parties");
        SpawnManager    = loadFromStoreDefault <SpawnManager>("SpawnData");

        Trace.Log("Save file loading completed in " + (DateTime.Now - startTime).TotalMilliseconds.ToString("0.0") + "ms.");

        _loaded = true;

        UpdateCharacterRecords(true);
    }