Survivalcraft API 1.8.2.3 v1.8.2.3
Survivalcraft 2.4
载入中...
搜索中...
未找到
SpikedPlankElectricElement.cs
浏览该文件的文档.
1namespace Game {
4
5 public bool m_needsReset;
6
7 public float m_voltage;
8
9 public SpikedPlankElectricElement(SubsystemElectricity subsystemElectricity, CellFace cellFace) : base(subsystemElectricity, cellFace) {
11 m_needsReset = true;
12 }
13
14 public override bool Simulate() {
16 float voltage = CalculateHighInputsCount() > 0 ? 1 : 0;
17 if (IsSignalHigh(voltage) != IsSignalHigh(m_voltage)) {
19 }
20 m_voltage = voltage;
21 if (!IsSignalHigh(m_voltage)) {
22 m_needsReset = false;
23 }
24 if (!m_needsReset) {
25 if (num >= 10) {
27 CellFace cellFace = CellFaces[0];
28 int data = Terrain.ExtractData(
29 SubsystemElectricity.SubsystemTerrain.Terrain.GetCellValue(cellFace.X, cellFace.Y, cellFace.Z)
30 );
32 .RetractExtendSpikes(cellFace.X, cellFace.Y, cellFace.Z, !SpikedPlankBlock.GetSpikesState(data));
33 }
34 }
35 else {
37 }
38 }
39 return false;
40 }
41 }
42}
static bool IsSignalHigh(float voltage)
ReadOnlyList< CellFace > CellFaces
MountedElectricElement(SubsystemElectricity subsystemElectricity, CellFace cellFace)
static bool GetSpikesState(int data)
SpikedPlankElectricElement(SubsystemElectricity subsystemElectricity, CellFace cellFace)
void QueueElectricElementForSimulation(ElectricElement electricElement, int circuitStep)
virtual int GetCellValue(int x, int y, int z)
static int ExtractData(int value)
virtual Subsystem FindSubsystem(Type type, string name, bool throwOnError)