Survivalcraft API 1.8.2.3 v1.8.2.3
Survivalcraft 2.4
载入中...
搜索中...
未找到
CraftingTableWidget.cs
浏览该文件的文档.
1using System.Xml.Linq;
2using Engine;
3
4namespace Game {
7
9
11
13
15
16 public CraftingTableWidget(IInventory inventory, ComponentCraftingTable componentCraftingTable) {
17 m_componentCraftingTable = componentCraftingTable;
18 XElement node = ContentManager.Get<XElement>("Widgets/CraftingTableWidget");
19 LoadContents(this, node);
20 m_inventoryGrid = Children.Find<GridPanelWidget>("InventoryGrid");
21 m_craftingGrid = Children.Find<GridPanelWidget>("CraftingGrid");
22 m_craftingResultSlot = Children.Find<InventorySlotWidget>("CraftingResultSlot");
23 m_craftingRemainsSlot = Children.Find<InventorySlotWidget>("CraftingRemainsSlot");
24 int num = 10;
25 for (int i = 0; i < m_inventoryGrid.RowsCount; i++) {
26 for (int j = 0; j < m_inventoryGrid.ColumnsCount; j++) {
27 InventorySlotWidget inventorySlotWidget = new();
28 inventorySlotWidget.AssignInventorySlot(inventory, num++);
29 m_inventoryGrid.Children.Add(inventorySlotWidget);
30 m_inventoryGrid.SetWidgetCell(inventorySlotWidget, new Point2(j, i));
31 }
32 }
33 num = 0;
34 for (int k = 0; k < m_craftingGrid.RowsCount; k++) {
35 for (int l = 0; l < m_craftingGrid.ColumnsCount; l++) {
36 InventorySlotWidget inventorySlotWidget2 = new();
37 inventorySlotWidget2.AssignInventorySlot(m_componentCraftingTable, num++);
38 m_craftingGrid.Children.Add(inventorySlotWidget2);
39 m_craftingGrid.SetWidgetCell(inventorySlotWidget2, new Point2(l, k));
40 }
41 }
43 m_craftingRemainsSlot.AssignInventorySlot(m_componentCraftingTable, m_componentCraftingTable.RemainsSlotIndex);
44 }
45
46 public override void Update() {
47 if (!m_componentCraftingTable.IsAddedToProject) {
48 ParentWidget.Children.Remove(this);
49 }
50 }
51 }
52}
readonly WidgetsList Children
static object Get(Type type, string name)
InventorySlotWidget m_craftingResultSlot
ComponentCraftingTable m_componentCraftingTable
InventorySlotWidget m_craftingRemainsSlot
CraftingTableWidget(IInventory inventory, ComponentCraftingTable componentCraftingTable)
virtual void AssignInventorySlot(IInventory inventory, int slotIndex)
ContainerWidget ParentWidget
virtual void LoadContents(object eventsTarget, XElement node)