Survivalcraft API 1.8.2.3 v1.8.2.3
Survivalcraft 2.4
载入中...
搜索中...
未找到
DelayGateElectricElement.cs
浏览该文件的文档.
1namespace Game {
3 public int? m_delaySteps;
4
6
7 public static int[] m_delaysByPredecessorsCount = [20, 80, 400];
8
9 public override int DelaySteps {
10 get {
12 m_delaySteps = null;
13 }
14 if (!m_delaySteps.HasValue) {
15 int count = 0;
16 CountDelayPredecessors(this, ref count);
19 }
20 return m_delaySteps.Value;
21 }
22 }
23
24 public DelayGateElectricElement(SubsystemElectricity subsystemElectricity, CellFace cellFace) : base(subsystemElectricity, cellFace) { }
25
26 public static void CountDelayPredecessors(DelayGateElectricElement delayGate, ref int count) {
27 if (count < 2) {
28 foreach (ElectricConnection connection in delayGate.Connections) {
29 if (connection.ConnectorType == ElectricConnectorType.Input) {
30 if (connection.NeighborElectricElement is DelayGateElectricElement delayGateElectricElement) {
31 count++;
32 CountDelayPredecessors(delayGateElectricElement, ref count);
33 break;
34 }
35 }
36 }
37 }
38 }
39 }
40}
BaseDelayGateElectricElement(SubsystemElectricity subsystemElectricity, CellFace cellFace)
DelayGateElectricElement(SubsystemElectricity subsystemElectricity, CellFace cellFace)
static void CountDelayPredecessors(DelayGateElectricElement delayGate, ref int count)
ElectricConnectorType ConnectorType
List< ElectricConnection > Connections