public static void UpdateArea(this GameManagerAccounts.LevelAreaList list, int LevelArea, GameManagerAccounts Account) { // Send Data from Current Area to Previous Area if (Account.GameData().AreaLevels.ContainsKey(LevelArea)) // Current Area already exists, update its information { GameManagerData.AreaList AreaList = Account.GameData().AreaLevels[LevelArea]; AreaList.ExperienceData = new GameManagerAccounts.LevelAreaList.Experience { XPGained = AreaList.ExperienceData.XPGained + list.ExperienceData.XPGained }; HashSet <int> NewList = AreaList.Items; NewList.UnionWith(list.Items); AreaList.Items = NewList; AreaList.Timer = list.Timer; } else // New area, not been here before { Account.GameData().AreaLevels.Add(LevelArea, new GameManagerData.AreaList { Items = list.Items, Timer = list.Timer, ExperienceData = new GameManagerAccounts.LevelAreaList.Experience { XPGained = list.ExperienceData.XPGained }, }); } }
public static void UpdateNewArea(this GameManagerAccounts.LevelAreaList list, int LevelArea, GameManagerAccounts Account) { if (Account.GameData().AreaLevels.ContainsKey(LevelArea)) // Current Area already exists, update its information { GameManagerData.AreaList AreaList = Account.GameData().AreaLevels[LevelArea]; list.Timer = AreaList.Timer; list.ExperienceData = AreaList.ExperienceData; list.Items = AreaList.Items; } else { list.Timer = 0; //list.Monsters = new List<Helpers.IMap.IMapActor>{ }; list.Items = new HashSet <int>(); list.ExperienceData = new GameManagerAccounts.LevelAreaList.Experience(); } }