Survivalcraft API 1.8.2.3
v1.8.2.3
Survivalcraft 2.4
载入中...
搜索中...
未找到
RecipaediaRecipesScreen.cs
浏览该文件的文档.
1
using
System.Xml.Linq;
2
using
Engine
;
3
4
namespace
Game
{
5
public
class
RecipaediaRecipesScreen
:
Screen
{
6
public
CraftingRecipeWidget
m_craftingRecipeWidget
;
7
public
SmeltingRecipeWidget
m_smeltingRecipeWidget
;
8
public
ButtonWidget
m_prevRecipeButton
;
9
public
ButtonWidget
m_nextRecipeButton
;
10
11
public
int
m_recipeIndex
;
12
public
List<CraftingRecipe>
m_craftingRecipes
= [];
13
public
int
RecipesCount
;
14
public
const
string
fName
=
"RecipaediaRecipesScreen"
;
15
16
public
static
RecipaediaRecipesScreen
Default
=>
new
();
17
18
public
RecipaediaRecipesScreen
() {
19
XElement node =
ContentManager
.
Get
<XElement>(
"Screens/RecipaediaRecipesScreen"
);
20
LoadContents
(
this
, node);
21
m_craftingRecipeWidget
=
Children
.Find<
CraftingRecipeWidget
>(
"CraftingRecipe"
);
22
m_smeltingRecipeWidget
=
Children
.Find<
SmeltingRecipeWidget
>(
"SmeltingRecipe"
);
23
m_prevRecipeButton
=
Children
.Find<
ButtonWidget
>(
"PreviousRecipe"
);
24
m_nextRecipeButton
=
Children
.Find<
ButtonWidget
>(
"NextRecipe"
);
25
}
26
27
public
override
void
Enter
(
object
[] parameters) {
28
int
value = (int)parameters[0];
29
m_craftingRecipes
.Clear();
30
m_craftingRecipes
.AddRange(
CraftingRecipesManager
.
Recipes
.Where(r => r.ResultValue == value && r.ResultValue != 0));
31
RecipesCount
=
m_craftingRecipes
.Count;
32
m_recipeIndex
= 0;
33
}
34
35
public
override
void
Update
() {
36
if
(
m_recipeIndex
<
RecipesCount
) {
37
if
(
m_recipeIndex
<
m_craftingRecipes
.Count) {
38
CraftingRecipe
craftingRecipe =
m_craftingRecipes
[
m_recipeIndex
];
39
if
(craftingRecipe.
RequiredHeatLevel
== 0f) {
40
m_craftingRecipeWidget.Recipe = craftingRecipe;
41
m_craftingRecipeWidget.NameSuffix =
string
.Format(
LanguageControl
.
GetContentWidgets
(
fName
, 1),
m_recipeIndex
+ 1);
42
m_craftingRecipeWidget.IsVisible =
true
;
43
m_smeltingRecipeWidget.IsVisible =
false
;
44
}
45
else
{
46
m_smeltingRecipeWidget.Recipe = craftingRecipe;
47
m_smeltingRecipeWidget.NameSuffix =
string
.Format(
LanguageControl
.
GetContentWidgets
(
fName
, 1),
m_recipeIndex
+ 1);
48
m_smeltingRecipeWidget.IsVisible =
true
;
49
m_craftingRecipeWidget.IsVisible =
false
;
50
}
51
}
52
else
{
53
m_craftingRecipeWidget.IsVisible =
false
;
54
m_smeltingRecipeWidget.IsVisible =
false
;
55
}
56
ModsManager
.
HookAction
(
57
"EditRecipeScreenWidget"
,
58
loader => {
59
loader.EditRecipeScreenWidget(
this
);
60
return
false
;
61
}
62
);
63
}
64
m_prevRecipeButton.IsEnabled =
m_recipeIndex
> 0;
65
m_nextRecipeButton.IsEnabled =
m_recipeIndex
<
RecipesCount
- 1;
66
if
(
m_prevRecipeButton
.IsClicked) {
67
m_recipeIndex
=
MathUtils
.
Max
(
m_recipeIndex
- 1, 0);
68
}
69
if
(
m_nextRecipeButton
.IsClicked) {
70
m_recipeIndex
=
MathUtils
.
Min
(
m_recipeIndex
+ 1,
RecipesCount
- 1);
71
}
72
if
(
Input
.Back
73
||
Input
.Cancel
74
||
Children
.Find<
ButtonWidget
>(
"TopBar.Back"
).
IsClicked
) {
75
ScreensManager
.
SwitchScreen
(
ScreensManager
.
PreviousScreen
);
76
}
77
}
78
}
79
}
Engine.MathUtils
定义
MathUtils.cs:2
Engine.MathUtils.Min
static int Min(int x1, int x2)
定义
MathUtils.cs:7
Engine.MathUtils.Max
static int Max(int x1, int x2)
定义
MathUtils.cs:18
Game.ButtonWidget
定义
ButtonWidget.cs:5
Game.ButtonWidget.IsClicked
bool IsClicked
定义
ButtonWidget.cs:6
Game.ContainerWidget.Children
readonly WidgetsList Children
定义
ContainerWidget.cs:5
Game.ContentManager
定义
ContentManager.cs:50
Game.ContentManager.Get
static object Get(Type type, string name)
定义
ContentManager.cs:70
Game.CraftingRecipe
定义
CraftingRecipe.cs:2
Game.CraftingRecipe.RequiredHeatLevel
float RequiredHeatLevel
定义
CraftingRecipe.cs:13
Game.CraftingRecipeWidget
定义
CraftingRecipeWidget.cs:5
Game.CraftingRecipesManager
定义
CraftingRecipesManager.cs:7
Game.CraftingRecipesManager.Recipes
static List< CraftingRecipe > Recipes
定义
CraftingRecipesManager.cs:9
Game.LanguageControl
定义
LanguageControl.cs:8
Game.LanguageControl.GetContentWidgets
static string GetContentWidgets(string name, string prop)
定义
LanguageControl.cs:348
Game.RecipaediaRecipesScreen.m_smeltingRecipeWidget
SmeltingRecipeWidget m_smeltingRecipeWidget
定义
RecipaediaRecipesScreen.cs:7
Game.RecipaediaRecipesScreen.Enter
override void Enter(object[] parameters)
定义
RecipaediaRecipesScreen.cs:27
Game.RecipaediaRecipesScreen.m_prevRecipeButton
ButtonWidget m_prevRecipeButton
定义
RecipaediaRecipesScreen.cs:8
Game.RecipaediaRecipesScreen.Default
static RecipaediaRecipesScreen Default
定义
RecipaediaRecipesScreen.cs:16
Game.RecipaediaRecipesScreen.RecipesCount
int RecipesCount
定义
RecipaediaRecipesScreen.cs:13
Game.RecipaediaRecipesScreen.Update
override void Update()
定义
RecipaediaRecipesScreen.cs:35
Game.RecipaediaRecipesScreen.m_craftingRecipeWidget
CraftingRecipeWidget m_craftingRecipeWidget
定义
RecipaediaRecipesScreen.cs:6
Game.RecipaediaRecipesScreen.m_recipeIndex
int m_recipeIndex
定义
RecipaediaRecipesScreen.cs:11
Game.RecipaediaRecipesScreen.m_nextRecipeButton
ButtonWidget m_nextRecipeButton
定义
RecipaediaRecipesScreen.cs:9
Game.RecipaediaRecipesScreen.m_craftingRecipes
List< CraftingRecipe > m_craftingRecipes
定义
RecipaediaRecipesScreen.cs:12
Game.RecipaediaRecipesScreen.RecipaediaRecipesScreen
RecipaediaRecipesScreen()
定义
RecipaediaRecipesScreen.cs:18
Game.RecipaediaRecipesScreen.fName
const string fName
定义
RecipaediaRecipesScreen.cs:14
Game.Screen
定义
Screen.cs:2
Game.ScreensManager
定义
ScreensManager.cs:5
Game.ScreensManager.PreviousScreen
static Screen PreviousScreen
上一个Screen
定义
ScreensManager.cs:45
Game.ScreensManager.SwitchScreen
static void SwitchScreen(string name, params object[] parameters)
定义
ScreensManager.cs:65
Game.SmeltingRecipeWidget
定义
SmeltingRecipeWidget.cs:5
Game.Widget.LoadContents
virtual void LoadContents(object eventsTarget, XElement node)
定义
Widget.cs:507
ModsManager
定义
ModsManager.cs:19
ModsManager.HookAction
static void HookAction(string HookName, Func< ModLoader, bool > action)
执行Hook
定义
ModsManager.cs:146
Engine.Input
定义
CursorType.cs:1
Engine
定义
BaseSound.cs:10
Game
定义
ContentFileBridge.cs:4
SurvivalcraftApi 1.8.2.3
Survivalcraft.Windows
Screen
RecipaediaRecipesScreen.cs
制作者
1.16.1