Survivalcraft API 1.8.2.3 v1.8.2.3
Survivalcraft 2.4
载入中...
搜索中...
未找到
SubsystemBatteryBlockBehavior.cs
浏览该文件的文档.
1namespace Game {
3 public override int[] HandledBlocks => [138];
4
5 public override bool OnEditInventoryItem(IInventory inventory, int slotIndex, ComponentPlayer componentPlayer) {
6 if (componentPlayer.DragHostWidget.IsDragInProgress) {
7 return false;
8 }
9 int value = inventory.GetSlotValue(slotIndex);
10 int count = inventory.GetSlotCount(slotIndex);
11 int data = Terrain.ExtractData(value);
12 int voltageLevel = BatteryBlock.GetVoltageLevel(data);
14 componentPlayer.GuiWidget,
16 voltageLevel,
17 delegate(int newVoltageLevel) {
18 int data2 = BatteryBlock.SetVoltageLevel(data, newVoltageLevel);
19 int num = Terrain.ReplaceData(value, data2);
20 if (num != value) {
21 inventory.RemoveSlotItems(slotIndex, count);
22 inventory.AddSlotItems(slotIndex, num, count);
23 }
24 }
25 )
26 );
27 return true;
28 }
29
30 public override bool OnEditBlock(int x, int y, int z, int value, ComponentPlayer componentPlayer) {
31 int data = Terrain.ExtractData(value);
32 int voltageLevel = BatteryBlock.GetVoltageLevel(data);
34 componentPlayer.GuiWidget,
36 voltageLevel,
37 delegate(int newVoltageLevel) {
38 int num = BatteryBlock.SetVoltageLevel(data, newVoltageLevel);
39 if (num != data) {
40 int value2 = Terrain.ReplaceData(value, num);
41 SubsystemTerrain.ChangeCell(x, y, z, value2);
42 SubsystemElectricity subsystemElectricity = Project.FindSubsystem<SubsystemElectricity>(true);
43 ElectricElement electricElement = subsystemElectricity.GetElectricElement(x, y, z, 4);
44 if (electricElement != null) {
46 electricElement,
47 subsystemElectricity.CircuitStep + 1
48 );
49 }
50 }
51 }
52 )
53 );
54 return true;
55 }
56 }
57}
static int SetVoltageLevel(int data, int voltageLevel)
static int GetVoltageLevel(int data)
static void ShowDialog(ContainerWidget parentWidget, Dialog dialog)
override bool OnEditBlock(int x, int y, int z, int value, ComponentPlayer componentPlayer)
override bool OnEditInventoryItem(IInventory inventory, int slotIndex, ComponentPlayer componentPlayer)
void QueueElectricElementConnectionsForSimulation(ElectricElement electricElement, int circuitStep)
ElectricElement GetElectricElement(int x, int y, int z, int mountingFace)
static int ReplaceData(int value, int data)
static int ExtractData(int value)
int RemoveSlotItems(int slotIndex, int count)
实际移除的数量
int GetSlotCount(int slotIndex)
void AddSlotItems(int slotIndex, int value, int count)
int GetSlotValue(int slotIndex)