public Summary(string assetPath) { Name = assetPath; Title = "Summary constructor error"; Text = new List <TextPair>(); List <string> rawText = new List <string>(ModManager.Instance.GetMod("Bestiary").GetAsset <TextAsset>(Name).text.Split(new[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries)); bool foundKillcountStart = false; for (int i = 0; i < rawText.Count; i++) { switch (i) { case 0: if (DaggerfallUnity.Settings.SDFFontRendering) { Title = rawText[i]; } else { Title = rawText[i].Replace(" - ", " "); }; break; default: if (rawText[i].Length > 2 && rawText[i].Contains("*")) { var splitResult = rawText[i].Split('*'); if (!foundKillcountStart && splitResult[0] == "Killcount:") { foundKillcountStart = true; } if (foundKillcountStart && splitResult[1].Length > 3) { string temp = AllTextClass.EntryTitleToEntryName(splitResult[1].Remove(splitResult[1].Length - 3)); if (BestiaryMain.killCounts.ContainsKey(temp)) { Text.Add(new TextPair(splitResult[0], splitResult[1] + BestiaryMain.killCounts[temp])); } else { Text.Add(new TextPair(splitResult[0], splitResult[1] + "0")); } } else { Text.Add(new TextPair(splitResult[0], splitResult[1])); } } break; } } }
private static void InitializeUI() { if (SettingEntries == 2) { AllText = new AllTextClass(pagesClassic); } else { AllText = new AllTextClass(pagesFull); } bestiaryUIScreen = new BestiaryUI(DaggerfallWorkshop.Game.DaggerfallUI.UIManager); readyToOpenUI = true; }
public static void EnemyDeath_OnEnemyDeath(object sender, EventArgs e) { EnemyDeath enemyDeath = sender as EnemyDeath; if (enemyDeath != null) { DaggerfallEntityBehaviour entityBehaviour = enemyDeath.GetComponent <DaggerfallEntityBehaviour>(); if (entityBehaviour != null) { EnemyEntity enemyEntity = entityBehaviour.Entity as EnemyEntity; if (enemyEntity != null) { if (entityBehaviour.GetComponent <EnemySenses>().Target == GameManager.Instance.PlayerEntityBehaviour) { string monsterName = AllTextClass.MonsterCareerIndexToString(enemyEntity.CareerIndex); if (killCounts.ContainsKey(monsterName)) { killCounts[monsterName] += 1; for (int i = 0; i < AllText.Pages.Count; i++) { AllText.Pages[i].PageSummary = new Summary(AllText.Pages[i].PageSummary.Name); } } else { if (SettingEntries == 1 && monsterName != "false") { DaggerfallUI.AddHUDText(String.Format("{0} has been added to the Bestiary.", new List <string>(mod.GetAsset <TextAsset>(monsterName).text.Split(new[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries))[2])); } killCounts.Add(monsterName, 1); InitializeUI(); } } } } } }