/// <summary> /// Saves the player passed to disk /// Save file is named player for main character, and by uid for any guests /// </summary> /// <param name="pl"></param> private static void SavePlayer(MCObject pl) { if (pl == WorldData.player) { SerializeObjectToZip(pl, "player", "Package_03"); } else { SerializeObjectToZip(pl, pl.uid.ToString(), "Package_03"); } }
/// <summary> /// Sets the current world save and loads it, returning bool for success /// </summary> /// <param name="saveName"></param> /// <returns></returns> public static bool LoadWorldSave(string saveName) //TODO: Add support here for the hosted world loading { if (!Save.SaveData.SetCurrentSave(saveName)) { return(false); } if (Save.SaveData.ValidateZips()) { currentRegions.Clear(); } player = Save.SaveData.LoadPlayer(); CurrentX = player.worldX; CurrentY = player.worldY; Form1.SetOrtho(CurrentX, CurrentY); LoadRegionObjects(); return(true); }
/// <summary> /// Loads a player object from disk, if main player, leave uid as null /// </summary> /// <param name="uid">leave null to signify loading of the player</param> /// <returns></returns> public static MCObject LoadPlayer(string uid = null) { MCObject o = null; if (uid == null) { o = DeSerializeObjectFromZip <MCObject>("player", "Package_03"); } else { o = DeSerializeObjectFromZip <MCObject>(uid, "Package_03"); } if (o == null) { o = new MCObject(); } return(o); }
/// <summary> /// Loads a player into the partner slot /// New player is loaded if an existing save isn't found /// </summary> /// <param name="uid"></param> public static void AddPlayer(Guid uid) { //TODO: Add functionality to import existing player files (maybe) partner = Save.SaveData.LoadPlayer(uid.ToString()); partner.SetWorldPosition(player.worldX, player.worldY); }