private List <StringHashConflict> AppenFile(string asset, Dictionary <uint, string> targetCache, SystemLanguage lang) { List <StringHashConflict> conflicts = new List <StringHashConflict>(); string xml = UnityEngine.Resources.Load <TextAsset>(asset).text; UXMLDocument document = new UXMLDocument(); document.Parse(xml); foreach (UXMLElement element in document.Element("strings").Elements("string")) { string key = element.GetString("name"); string content = string.Empty; if (lang == SystemLanguage.Russian) { content = element.Element("ru").value.Trim(); } else { content = element.Element("en").value.Trim(); } uint hash = JenkinsHash(key); if (targetCache.ContainsKey(hash)) { conflicts.Add(new StringHashConflict(key, content, hash, asset)); } else { targetCache.Add(hash, content); } } return(conflicts); }
public bool Load(string saveStr) { if (saveStr.IsValid()) { UXMLDocument document = new UXMLDocument(); document.Parse(saveStr); achievments.Clear(); var root = document.Element(saveId); foreach (UXMLElement element in root.Elements("achievment")) { AchievmentInfo info = new AchievmentInfo(element); achievments.Add(info.Id, info); } foreach (AchievmentData data in resourceService.achievmentList) { AchievmentInfo dumpInfo = GetAchievment(data); } isLoaded = true; } else { InitSave(); } return(isLoaded); }
public bool Load(string saveStr) { if (string.IsNullOrEmpty(saveStr)) { InitSave(); } else { UXMLDocument document = UXMLDocument.FromXml(saveStr); var root = document.Element(saveId); startedQuests.Clear(); completedQuests.Clear(); notStartedQuests.Clear(); var startedElement = root.Element("started"); if (startedElement != null) { startedElement.Elements("quest").ForEach(questElement => { QuestInfo info = new QuestInfo(questElement); if (info.IsValidData) { startedQuests[info.Data.id] = info; } }); } var completedElement = root.Element("completed"); if (completedElement != null) { completedElement.Elements("quest").ForEach(questElement => { QuestInfo info = new QuestInfo(questElement); if (info.IsValidData) { completedQuests[info.Data.id] = info; } }); } resourceService.questList.ForEach(questData => { if ((!startedQuests.ContainsKey(questData.id)) && (!completedQuests.ContainsKey(questData.id))) { notStartedQuests.Add(questData.id, new QuestInfo(questData)); } }); Debug.Log($"QUESTS LOAD, NOT STARTED: {notStartedQuests.Count}, STARTED: {startedQuests.Count}, COMPLETED: {completedQuests.Count}".Colored(ColorType.yellow)); isLoaded = true; } return(isLoaded); }
public bool Load(string saveStr) { if (string.IsNullOrEmpty(saveStr)) { InitSave(); } else { UXMLDocument document = new UXMLDocument(); document.Parse(saveStr); UXMLElement gameModeElement = document.Element(saveId); roomMode = gameModeElement?.GetEnum <RoomMode>("room_mode") ?? RoomMode.normal; UXMLElement roomsElement = gameModeElement.Element("rooms"); if (roomsElement != null) { roomManager.Load(roomsElement); } else { roomManager.InitSave(); } UXMLElement dailyRewardElement = gameModeElement.Element("daily_reward"); if (dailyRewardElement != null) { dailyRewardManager.Load(dailyRewardElement); } else { dailyRewardManager.InitSave(); } searchCounter = gameModeElement.GetInt("search_counter", 0); lastSearchRoomId = gameModeElement.GetString("last_search_room", string.Empty); UXMLElement roomModeSwitcherElement = gameModeElement.Element("room_mode_switcher"); if (roomModeSwitcherElement != null) { RoomModeSwitcher.Load(roomModeSwitcherElement); } else { RoomModeSwitcher.InitSave(); } isLoaded = true; } return(true); }
public void Load(string xml) { prefabPath.Clear(); UXMLDocument document = new UXMLDocument(); document.Parse(xml); var pairs = (from viewElement in document.Element("views").Elements("view") select new { type = viewElement.GetEnum <RavenhillViewType>("type"), path = viewElement.GetString("path") }).ToList(); pairs.ForEach(pair => prefabPath.Add(pair.type, pair.path)); }
public void Load(string path) { UXMLDocument document = new UXMLDocument(); document.Load(path); Clear(); document.Element("level_exp_table").Elements("entry").ForEach((entryElement) => { int level = entryElement.GetInt("level"); int exp = entryElement.GetInt("exp"); if (!ContainsKey(level)) { Add(level, exp); } }); }
public bool Load(string saveStr) { UXMLDocument document = UXMLDocument.FromXml(saveStr); UXMLElement root = document.Element(saveId); if (root != null) { UXMLElement localPlayerELement = root.Element("local_player"); if (localPlayerELement != null) { localPlayer = new NetPlayer(); localPlayer.Load(localPlayerELement); } else { localPlayer = new NetPlayer(); localPlayer.InitSave(); } } isLoaded = true; return(isLoaded); }
public bool Load(string saveStr) { if (saveStr.IsValid()) { UXMLDocument document = UXMLDocument.FromXml(saveStr); entries.Clear(); document.Element(saveId).Elements("entry").ForEach(entryElement => { JournalEntryInfo info = new JournalEntryInfo(); info.Load(entryElement); if (info.IsValid) { entries.Add(info); } }); isLoaded = true; } else { InitSave(); } return(isLoaded); }
public bool Load(string saveStr) { if (saveStr.IsValid()) { Debug.Log($"LOAD NPC from {saveStr}"); UXMLDocument document = new UXMLDocument(); document.Parse(saveStr); npcs.Clear(); document.Element(saveId).Elements("npc").ForEach(npcElement => { NpcInfo info = new NpcInfo(); info.Load(npcElement); npcs[info.RoomId] = info; }); ValidateNpcDictionary(); isLoaded = true; } else { InitSave(); } return(isLoaded); }
public bool Load(string saveStr) { if (string.IsNullOrEmpty(saveStr)) { InitSave(); } else { //Debug.Log($"LOAD PLAYER {saveStr}"); UXMLDocument document = UXMLDocument.FromXml(saveStr); UXMLElement playerElement = document.Element(saveId); exp = playerElement.GetInt("exp", 0); pname = playerElement.GetString("name", string.Empty); avatarId = playerElement.GetString("avatar", "Avatar1"); silver = playerElement.GetInt("silver", 0); gold = playerElement.GetInt("gold", 0); health = playerElement.GetFloat("health", kBaseMaxHealth); maxHealth = playerElement.GetInt("maxhealth", kBaseMaxHealth); int time = playerElement.GetInt("time", 0); if (time > 0) { int interval = Utility.unixTime - time; if (interval < 0) { interval = 0; } float restoreSpeed = 1.0f / (float)kHealthRestoreInterval; float restoreCount = restoreSpeed * interval; health += restoreCount; health = Mathf.Clamp(health, 0, maxHealth); } var inventoryElement = playerElement.Element("inventory"); if (inventoryElement != null) { inventory.Load(inventoryElement); } else { inventory.InitSave(); } var wishlistElement = playerElement.Element("wishlist"); if (wishlistElement != null) { wishlist.Load(wishlistElement); } else { wishlist.InitSave(); } var buffsElement = playerElement.Element("buffs"); if (buffsElement != null) { buffs.Load(buffsElement); } else { buffs.InitSave(); } //Debug.Log($"Player Loaded: exp-{exp}, name-{playerName}, avatar-{avatarId}, silver-{silver}, gold-{gold}"); isLoaded = true; } return(true); }