public void AppendInvariantDouble(double value, string strExpected) { StringBuilder sb = new StringBuilder(); StringBuilderUtility.AppendInvariant(sb, value); Assert.AreEqual(strExpected, sb.ToString()); }
public void AppendInvariantInt64(long value, string strExpected) { var sb = new StringBuilder(); StringBuilderUtility.AppendInvariant(sb, value); Assert.AreEqual(strExpected, sb.ToString()); }
public void AppendInvariantDecimalMinMax() { StringBuilder sb = new StringBuilder(); StringBuilderUtility.AppendInvariant(sb, Decimal.MaxValue); Assert.AreEqual("79228162514264337593543950335", sb.ToString()); sb = new StringBuilder(); StringBuilderUtility.AppendInvariant(sb, Decimal.MinValue); Assert.AreEqual("-79228162514264337593543950335", sb.ToString()); }
private static void EnableButton(UIBuildMenu menu, int i, int itemId) { if (menu.childButtons[i] == null) { return; } StorageComponent package = menu.player.package; menu.childIcons[i].enabled = true; menu.childButtons[i].tips.itemId = itemId; menu.childButtons[i].tips.corner = 8; menu.childButtons[i].tips.delay = 0.2f; menu.childButtons[i].button.gameObject.SetActive(true); int num3 = package.GetItemCount(itemId); bool flag2 = menu.player.inhandItemId == itemId; if (flag2) { num3 += menu.player.inhandItemCount; } StringBuilderUtility.WriteKMG(menu.strb, 5, (long)num3, false); menu.childNumTexts[i].text = ((num3 > 0) ? menu.strb.ToString().Trim() : ""); menu.childNumTexts[i].color = textColor; menu.childButtons[i].button.interactable = true; if (menu.childIcons[i].sprite == null && UIBuildMenu.protos[menu.currentCategory, i] != null) { menu.childIcons[i].sprite = UIBuildMenu.protos[menu.currentCategory, i].iconSprite; } menu.childIcons[i].color = normalColor; menu.childTips[i].color = menu.tipTextColor; menu.childButtons[i].highlighted = flag2; }
private static bool OnStarDataSet( StarData ____star, Text ___nameText, Text ___typeText, RectTransform ___paramGroup, Text ___massValueText, Text ___spectrValueText, Text ___radiusValueText, Text ___luminoValueText, Text ___temperatureValueText, Text ___ageValueText, Sprite ___unknownResIcon, GameObject ___trslBg, GameObject ___imgBg, UIResAmountEntry ___tipEntry, UIResAmountEntry ___entryPrafab, ref UIStarDetail __instance ) { for (int index = 0; index < __instance.entries.Count; ++index) { UIResAmountEntry entry = __instance.entries[index]; entry.SetEmpty(); __instance.pool.Add(entry); } __instance.entries.Clear(); if (__instance.star == null) { return(false); } double magnitude = (__instance.star.uPosition - GameMain.mainPlayer.uPosition).magnitude; bool _observed = GameMain.history.universeObserveLevel >= (__instance.star != GameMain.localStar ? (magnitude >= 14400000.0 ? 4 : 3) : 2); ___nameText.text = __instance.star.displayName; ___typeText.text = (__instance.star.typeString); ___massValueText.text = (__instance.star.mass.ToString("0.000") + " M "); ___spectrValueText.text = (__instance.star.spectr.ToString()); ___radiusValueText.text = (__instance.star.radius.ToString("0.00") + " R "); ___luminoValueText.text = (((double)__instance.star.dysonLumino).ToString("0.000") + " L "); ___temperatureValueText.text = (__instance.star.temperature.ToString("#,##0") + " K"); if (Localization.isKMG) { ___ageValueText.text = ((__instance.star.age * __instance.star.lifetime).ToString("#,##0 ") + "百万亿年".Translate()); } else { ___ageValueText.text = (((float)(__instance.star.age * (double)__instance.star.lifetime * 0.00999999977648258)).ToString("#,##0.00 ") + "百万亿年".Translate()); } int num = 0; for (int type = 1; type < 15; ++type) { int id = type; VeinProto veinProto = LDB.veins.Select(id); ItemProto itemProto = LDB.items.Select(veinProto.MiningItem); if (_observed || type < 7) { bool flag = (!__instance.star.loaded ? __instance.star.GetResourceSpots(type) > 0 : __instance.star.GetResourceAmount(type) > 0L) || type < 7; if (veinProto != null && itemProto != null && flag) { UIResAmountEntry entry = Object.Instantiate(___entryPrafab, ___entryPrafab.transform.parent);; __instance.entries.Add(entry); entry.SetInfo(num, itemProto.name, veinProto.iconSprite, veinProto.description, type >= 7, false, type != 7 ? " " : " /s"); entry.refId = id; ++num; } } } if (_observed) { for (int index = 0; index < __instance.star.planetCount; ++index) { int waterItemId = __instance.star.planets[index].waterItemId; "无".Translate(); if (waterItemId > 0) { ItemProto itemProto = LDB.items.Select(waterItemId); if (itemProto != null) { Sprite iconSprite = itemProto.iconSprite; string name = itemProto.name; UIResAmountEntry entry = Object.Instantiate(___entryPrafab, ___entryPrafab.transform.parent);; __instance.entries.Add(entry); entry.SetInfo(num, name, iconSprite, itemProto.description, itemProto != null && waterItemId != 1000, false, string.Empty); entry.valueString = "海洋".Translate(); ++num; } } } } //* Dictionary <int, float> ressources = new Dictionary <int, float>(); for (int index1 = 0; index1 < __instance.star.planetCount; ++index1) { PlanetData planet = __instance.star.planets[index1]; if (planet.type == EPlanetType.Gas && planet.gasItems != null) { for (var i = 0; i < planet.gasItems.Length; i++) { if (ressources.ContainsKey(planet.gasItems[i])) { ressources[planet.gasItems[i]] += planet.gasSpeeds[i]; } else { ressources[planet.gasItems[i]] = planet.gasSpeeds[i]; } } } } foreach (var keyValuePair in ressources) { ItemProto itemProto = LDB.items.Select(keyValuePair.Key); UIResAmountEntry entry = Object.Instantiate(___entryPrafab, ___entryPrafab.transform.parent); __instance.entries.Add(entry); if (_observed) { entry.SetInfo(num, itemProto.name, itemProto.iconSprite, itemProto.description, false, false, " /s"); if (__instance.star.loaded) { StringBuilderUtility.WritePositiveFloat(entry.sb, 0, 7, keyValuePair.Value); entry.DisplayStringBuilder(); } else { entry.valueString = "探测到信号".Translate(); } } else { entry.SetInfo(num, "未知".Translate(), ___unknownResIcon, string.Empty, false, false, " /s"); entry.valueString = "未知".Translate(); } entry.SetObserved(_observed); ++num; } if (!_observed) { UIResAmountEntry entry = Object.Instantiate(___entryPrafab, ___entryPrafab.transform.parent);;; __instance.entries.Add(entry); entry.SetInfo(num, string.Empty, null, string.Empty, false, false, string.Empty); ___tipEntry = entry; int num1 = ____star != GameMain.localStar ? (magnitude >= 14400000.0 ? 4 : 3) : 2; bool flag = GameMain.history.universeObserveLevel >= num1; ___tipEntry.valueString = flag ? string.Empty : "宇宙探索等级".Translate() + num1.ToString(); ++num; } __instance.SetResCount(num); __instance.RefreshDynamicProperties(); return(false); }
private static bool OnPlanetDataSet(ref UIPlanetDetail __instance, ref UIResAmountEntry ___tipEntry, ref Text ___nameText, ref Text ___typeText, ref Text ___orbitRadiusValueText, ref Text ___orbitRadiusValueTextEx, ref Text ___orbitPeriodValueText, ref Text ___rotationPeriodValueText, ref Text ___inclinationValueText, ref Text ___obliquityValueText, ref Sprite ___unknownResIcon, ref Sprite ___sprite6, ref Sprite ___sprite8, ref Sprite ___sprite9) { var getEntry = Traverse.Create(__instance).Method("GetEntry"); getEntry.GetValue <UIResAmountEntry>(); for (var index = 0; index < __instance.entries.Count; ++index) { var entry = __instance.entries[index]; entry.SetEmpty(); __instance.pool.Add(entry); } __instance.entries.Clear(); ___tipEntry = null; if (__instance.planet == null) { return(false); } var _observed = GameMain.history.universeObserveLevel >= (__instance.planet != GameMain.localPlanet ? 2 : 1); ___nameText.text = __instance.planet.displayName; var empty = string.Empty; ___typeText.text = string.Format("{0} {1}", __instance.planet.typeString, "<color=\"#FD965EC0\">" + __instance.planet.singularityString + "</color>"); ___orbitRadiusValueText.text = __instance.planet.orbitRadius.ToString("0.00#") + " AU"; ___orbitRadiusValueTextEx.text = __instance.planet.name; ___orbitPeriodValueText.text = __instance.planet.orbitalPeriod.ToString("#,##0") + "空格秒".Translate(); ___rotationPeriodValueText.text = __instance.planet.rotationPeriod.ToString("#,##0") + "空格秒".Translate(); var num1 = Mathf.Abs(__instance.planet.orbitInclination); var num2 = (int)num1; var num3 = (int)((num1 - (double)num2) * 60.0); if (__instance.planet.orbitInclination < 0.0) { num2 = -num2; } var num4 = Mathf.Abs(__instance.planet.obliquity); var num5 = (int)num4; var num6 = (int)((num4 - (double)num5) * 60.0); if (__instance.planet.obliquity < 0.0) { num5 = -num5; } ___inclinationValueText.text = string.Format("{0}° {1}′", num2, num3); ___obliquityValueText.text = string.Format("{0}° {1}′", num5, num6); var num7 = 0; if (__instance.planet.type != EPlanetType.Gas) { for (var index = 0; index < 6; ++index) { var id = index + 1; var veinProto = LDB.veins.Select(id); var itemProto = LDB.items.Select(veinProto.MiningItem); if (veinProto != null && itemProto != null) { var entry = getEntry.GetValue <UIResAmountEntry>(); ; __instance.entries.Add(entry); entry.SetInfo(num7, itemProto.name, veinProto.iconSprite, veinProto.description, false, false, " "); entry.refId = id; ++num7; } } var waterItemId = __instance.planet.waterItemId; Sprite icon = null; var str = "无".Translate(); if (waterItemId < 0) { str = waterItemId != -1 ? "未知".Translate() : "熔岩".Translate(); } var itemProto1 = LDB.items.Select(waterItemId); if (itemProto1 != null) { icon = itemProto1.iconSprite; str = itemProto1.name; } var entry1 = getEntry.GetValue <UIResAmountEntry>(); ; __instance.entries.Add(entry1); entry1.SetInfo(num7, "海洋类型".Translate(), icon, itemProto1 == null ? string.Empty : itemProto1.description, false, itemProto1 != null && waterItemId != 1000, string.Empty); entry1.valueString = str; var index1 = num7 + 1; var entry2 = getEntry.GetValue <UIResAmountEntry>(); ; __instance.entries.Add(entry2); entry2.SetInfo(index1, "适建区域".Translate(), ___sprite6, string.Empty, false, false, " %"); if (__instance.planet.landPercentDirty) { PlanetAlgorithm.CalcLandPercent(__instance.planet); __instance.planet.landPercentDirty = false; } StringBuilderUtility.WritePositiveFloat(entry2.sb, 0, 5, __instance.planet.landPercent * 100f, 1); entry2.DisplayStringBuilder(); var index2 = index1 + 1; var entry3 = getEntry.GetValue <UIResAmountEntry>(); ; __instance.entries.Add(entry3); entry3.SetInfo(index2, "风能利用率".Translate(), ___sprite8, string.Empty, false, __instance.planet.windStrength > 1.49899995326996, " %"); StringBuilderUtility.WriteUInt(entry3.sb, 0, 3, (uint)(__instance.planet.windStrength * 100.0 + 0.499900013208389)); entry3.DisplayStringBuilder(); var index3 = index2 + 1; var entry4 = getEntry.GetValue <UIResAmountEntry>(); ; __instance.entries.Add(entry4); entry4.SetInfo(index3, "光能利用率".Translate(), ___sprite9, string.Empty, false, __instance.planet.luminosity > 1.49899995326996, " %"); StringBuilderUtility.WriteUInt(entry4.sb, 0, 3, (uint)(__instance.planet.luminosity * 100.0 + 0.499900013208389)); entry4.DisplayStringBuilder(); num7 = index3 + 1; for (var index4 = 7; index4 < 15; ++index4) { var id = index4; var veinProto = LDB.veins.Select(id); var itemProto2 = LDB.items.Select(veinProto.MiningItem); if (veinProto != null && itemProto2 != null && __instance.planet.veinAmounts[id] > 0L) { var entry5 = getEntry.GetValue <UIResAmountEntry>(); ; __instance.entries.Add(entry5); entry5.SetInfo(num7, itemProto2.name, veinProto.iconSprite, veinProto.description, true, false, index4 != 7 ? " " : " /s"); entry5.refId = id; ++num7; } } if (!_observed) { var entry5 = getEntry.GetValue <UIResAmountEntry>(); ; __instance.entries.Add(entry5); entry5.SetInfo(num7, string.Empty, null, string.Empty, false, false, string.Empty); ___tipEntry = entry5; ++num7; } } else { for (var index = 0; index < __instance.planet.gasItems.Length; ++index) { var itemProto = LDB.items.Select(__instance.planet.gasItems[index]); if (itemProto != null) { var entry = getEntry.GetValue <UIResAmountEntry>(); ; __instance.entries.Add(entry); if (_observed) { entry.SetInfo(num7, "可采集".Translate() + itemProto.name, itemProto.iconSprite, "环绕行星手动采集".Translate(), false, false, " /s"); StringBuilderUtility.WritePositiveFloat(entry.sb, 0, 7, __instance.planet.gasSpeeds[index]); entry.DisplayStringBuilder(); } else { entry.SetInfo(num7, "未知".Translate(), ___unknownResIcon, "环绕行星手动采集".Translate(), false, false, " /s"); entry.valueString = "未知".Translate(); } entry.SetObserved(_observed); ++num7; } } } __instance.SetResCount(num7); __instance.RefreshDynamicProperties(); return(false); }