1using System.Globalization;
28 public static string fName =
"RecipaediaDescriptionScreen";
33 XElement node =
ContentManager.
Get<XElement>(
"Screens/RecipaediaDescriptionScreen");
46 public override void Enter(
object[] parameters) {
47 int item = (int)parameters[0];
54 m_leftButtonWidget.IsEnabled =
m_index > 0;
55 m_rightButtonWidget.IsEnabled =
m_index < m_valuesList.Count - 1;
74 Dictionary<string, string> dictionary =
new();
81 dictionary.Add(
"Fuel Value", block.
GetFuelFireDuration(value).ToString(CultureInfo.InvariantCulture));
91 dictionary.Add(
"Nutrition", block.
GetNutritionalValue(value).ToString(
"F",CultureInfo.InvariantCulture));
101 dictionary.Add(
"Digging Resilience", block.
GetDigResilience(value).ToString(CultureInfo.InvariantCulture));
104 dictionary.Add(
"Explosion Resilience", block.
GetExplosionResilience(value).ToString(CultureInfo.InvariantCulture));
107 dictionary.Add(
"Explosive Power", block.
GetExplosionPressure(value).ToString(CultureInfo.InvariantCulture));
111 dictionary.Add(
"Melee Power", block.
GetMeleePower(value).ToString(CultureInfo.InvariantCulture));
115 dictionary.Add(
"Melee Hit Ratio", $
"{100f * block.GetMeleeHitProbability(value):0}%");
119 dictionary.Add(
"Projectile Power", block.
GetProjectilePower(value).ToString(CultureInfo.InvariantCulture));
123 dictionary.Add(
"Shoveling", block.
GetShovelPower(value).ToString(CultureInfo.InvariantCulture));
127 dictionary.Add(
"Hacking", block.
GetHackPower(value).ToString(CultureInfo.InvariantCulture));
131 dictionary.Add(
"Quarrying", block.
GetQuarryPower(value).ToString(CultureInfo.InvariantCulture));
135 dictionary.Add(
"Durability", block.
GetDurability(value).ToString());
143 dictionary.Add(
"Armor Protection", $
"{(int)(clothingData.ArmorProtection * 100f)}%");
144 dictionary.Add(
"Armor Durability", clothingData.
Sturdiness.ToString(CultureInfo.InvariantCulture));
145 dictionary.Add(
"Insulation", $
"{clothingData.Insulation:0.0} clo");
146 dictionary.Add(
"Movement Speed", $
"{clothingData.MovementSpeedFactor * 100f:0}%");
150 dictionary.Add(
"Dynamic Index", block.
BlockIndex.ToString());
154 "EditBlockDescriptionScreen",
156#pragma warning disable CS0618
157 loader.EditBlockDescriptionScreen(dictionary);
158#pragma warning restore CS0618
159 loader.EditBlockDescriptionScreen(dictionary, value);
172 m_blockIconWidget.Value = value;
175 m_propertyNames1Widget.Text =
string.Empty;
176 m_propertyValues1Widget.Text =
string.Empty;
177 m_propertyNames2Widget.Text =
string.Empty;
178 m_propertyValues2Widget.Text =
string.Empty;
181 foreach (KeyValuePair<string, string> item
in blockProperties) {
182 if (num2 < blockProperties.Count - blockProperties.Count / 2) {
186 propertyNames1Widget.Text = $
"{propertyNames1Widget.Text}{keyText}:\n";
188 propertyValues1Widget.Text = $
"{propertyValues1Widget.Text}{item.Value}\n";
192 propertyNames2Widget.Text = $
"{propertyNames2Widget.Text}{LanguageControl.Get(fName, item.Key)}:\n";
194 propertyValues2Widget.Text = $
"{propertyValues2Widget.Text}{item.Value}\n";
static int Min(int x1, int x2)
static int Max(int x1, int x2)
virtual float GetDigResilience(int value)
virtual float GetHackPower(int value)
virtual float GetExplosionResilience(int value)
virtual float GetMeleePower(int value)
virtual float GetQuarryPower(int value)
virtual float GetProjectilePower(int value)
virtual float GetExplosionPressure(int value)
virtual ClothingData GetClothingData(int value)
virtual string GetDescription(int value)
virtual bool CanWear(int value)
virtual float GetShovelPower(int value)
virtual int GetRotPeriod(int value)
float DefaultExperienceCount
virtual int GetMaxStacking(int value)
virtual int GetDurability(int value)
virtual string GetDisplayName(SubsystemTerrain subsystemTerrain, int value)
virtual float GetFireDuration(int value)
virtual int GetEmittedLightAmount(int value)
virtual BlockDigMethod GetBlockDigMethod(int value)
virtual float GetFuelFireDuration(int value)
virtual float GetNutritionalValue(int value)
static object Get(Type type, string name)
static string Get(string className, int key)
获取在当前语言类名键对应的字符串
BlockIconWidget m_blockIconWidget
LabelWidget m_propertyValues1Widget
LabelWidget m_propertyNames1Widget
ButtonWidget m_rightButtonWidget
LabelWidget m_propertyNames2Widget
RecipaediaDescriptionScreen()
IList< int > m_valuesList
static RecipaediaDescriptionScreen Default
virtual void UpdateBlockProperties()
override void Enter(object[] parameters)
ButtonWidget m_leftButtonWidget
LabelWidget m_descriptionWidget
LabelWidget m_propertyValues2Widget
virtual Dictionary< string, string > GetBlockProperties(int value)
static Screen PreviousScreen
上一个Screen
static void SwitchScreen(string name, params object[] parameters)
static int ExtractContents(int value)
static int ExtractData(int value)
static void HookAction(string HookName, Func< ModLoader, bool > action)
执行Hook