29 public const string fName =
"RecipaediaScreen";
39 int value = (int)item;
57 m_blocksList.ItemWidgetFactory = delegate(
object item) {
58 int value = (int)item;
63 obj.Children.Find<
BlockIconWidget>(
"RecipaediaItem.Icon").Value = value;
66 description = description.Replace(
"\n",
" ");
67 obj.Children.Find<
LabelWidget>(
"RecipaediaItem.Details").Text = description;
73 public override void Enter(
object[] parameters) {
87 m_categoryLabel.Text = $
"{arg} ({m_blocksList.Items.Count})";
89 m_nextCategoryButton.IsEnabled =
m_categoryIndex < m_categories.Count - 1;
97 m_recipesButton.Text = $
"{num} {(num == 1 ? LanguageControl.Get(fName, 1) : LanguageControl.Get(fName, 2))}";
98 m_recipesButton.IsEnabled =
true;
102 m_recipesButton.IsEnabled =
false;
104 m_detailsButton.IsEnabled = value.HasValue;
135 m_blocksList.ScrollPosition = 0f;
137 List<Order> orders = [];
140 if (
string.IsNullOrEmpty(text)
146 IOrderedEnumerable<Order> orderList = orders.OrderBy(o => o.order);
147 foreach (
Order c
in orderList) {
static int Min(int x1, int x2)
static int Max(int x1, int x2)
virtual string GetCategory(int value)
virtual RecipaediaRecipesScreen GetBlockRecipeScreen(int value)
virtual string GetDescription(int value)
virtual int GetDisplayOrder(int value)
virtual string GetDisplayName(SubsystemTerrain subsystemTerrain, int value)
virtual RecipaediaDescriptionScreen GetBlockDescriptionScreen(int value)
virtual IEnumerable< int > GetCreativeValues()
static ReadOnlyList< string > Categories
static object Get(Type type, string name)
static List< CraftingRecipe > Recipes
static string Get(string className, int key)
获取在当前语言类名键对应的字符串
Order(Block b, int o, int v)
virtual void OnBlocksListItemClicked(object item)
在方块项目被点击时执行 改用实名方法,便于模组删除或禁用
List< string > m_categories
ButtonWidget m_prevCategoryButton
LabelWidget m_categoryLabel
void PopulateBlocksList()
ListPanelWidget m_blocksList
ButtonWidget m_recipesButton
ButtonWidget m_detailsButton
override void Enter(object[] parameters)
ButtonWidget m_nextCategoryButton
static Screen PreviousScreen
上一个Screen
static void SwitchScreen(string name, params object[] parameters)
static Dictionary< string, Screen > m_screens
static int ExtractContents(int value)