Exemple #1
0
    public static WorldMapData LoadWorldMap()
    {
        if (File.Exists(WorldMapSaveFile))
        {
            FileStream fs = File.Open(WorldMapSaveFile, FileMode.Open);

            if (fs == null || fs.Length == 0)
            {
                Debug.Log("Failed to load WorldMapSaveFile (null or empty)");
                return(null);
            }

            BinaryFormatter        bf       = new BinaryFormatter();
            SerializedWorldMapData gameData = (SerializedWorldMapData)bf.Deserialize(fs);
            fs.Close();

            WorldMapData worldMapData            = new WorldMapData();
            Dictionary <string, string> skillsDb = DataSerialization.ReadDatabasePathById(skillsDatabasePreset);
            Dictionary <string, string> itemsDb  = DataSerialization.ReadDatabasePathById(itemsDatabasePreset);

            worldMapData.Player = DataSerialization.Deserialize <Player>(gameData.Player, skillsDb, itemsDb);

            worldMapData.Seed          = gameData.Seed;
            worldMapData.WorldMapInfos = gameData.WorldMapInfos;
            worldMapData.DiscoveredMap = gameData.DiscoveredMap;
            worldMapData.CurrentPos    = new Vector2(gameData.CurrentPosX, gameData.CurrentPosY);
            worldMapData.Size          = gameData.Size;

            worldMapData.Inventory = new List <Item>();
            for (int i = 0; i < gameData.InventoryItemId.Count; i++)
            {
                Item newItem = ScriptableObject.CreateInstance <Item>();
                worldMapData.Inventory.Add(DataSerialization.DeserializeItem(newItem, gameData.InventoryItemId[i], itemsDb));
                newItem.Quantity = gameData.InventoryItemQuantity[i];
            }

            return(worldMapData);
        }
        else
        {
            Debug.Log("(Load) WorldMapSaveFile doesn't exist!");
            return(null);
        }
    }
Exemple #2
0
    public static BattlegroundData LoadBattleground()
    {
        if (File.Exists(BattlegroundSaveFile))
        {
            FileStream fs = File.Open(BattlegroundSaveFile, FileMode.Open);

            if (fs == null || fs.Length == 0)
            {
                Debug.Log("Failed to load BattlegroundSaveFile (null or empty)");
                return(null);
            }

            BinaryFormatter            bf       = new BinaryFormatter();
            SerializedBattlegroundData gameData = (SerializedBattlegroundData)bf.Deserialize(fs);
            fs.Close();

            BattlegroundData            battlegroundData = new BattlegroundData();
            Dictionary <string, string> skillsDb         = DataSerialization.ReadDatabasePathById(skillsDatabasePreset);
            Dictionary <string, string> itemsDb          = DataSerialization.ReadDatabasePathById(itemsDatabasePreset);


            battlegroundData.Player  = DataSerialization.Deserialize <Player>(gameData.Player, skillsDb, itemsDb);
            battlegroundData.Enemies = DataSerialization.Deserialize <Enemy>(gameData.Enemies, skillsDb, itemsDb);

            battlegroundData.MapInfos = DataSerialization.Deserialize(gameData.MapInfos, materialsDatabasePreset, battlegroundData.Player, battlegroundData.Enemies);

            if (battlegroundData.MapInfos.Map != null)
            {
                SetCurrentCell(battlegroundData.Player, gameData.Player, battlegroundData.MapInfos.Map);
                SetCurrentCell(battlegroundData.Enemies, gameData.Enemies, battlegroundData.MapInfos.Map);
            }
            battlegroundData.CurrentUnitId = gameData.CurrentUnitId;

            return(battlegroundData);
        }
        else
        {
            Debug.Log("(Load) BattlegroundSaveFile doesn't exist!");
            return(null);
        }
    }