Survivalcraft API 1.8.2.3 v1.8.2.3
Survivalcraft 2.4
载入中...
搜索中...
未找到
DigitalToAnalogConverterElectricElement.cs
浏览该文件的文档.
1namespace Game {
3 public float m_voltage;
4
5 public DigitalToAnalogConverterElectricElement(SubsystemElectricity subsystemElectricity, CellFace cellFace) : base(
6 subsystemElectricity,
7 cellFace
8 ) { }
9
10 public override float GetOutputVoltage(int face) => m_voltage;
11
12 public override bool Simulate() {
13 float voltage = m_voltage;
14 m_voltage = 0f;
15 int rotation = Rotation;
16 foreach (ElectricConnection connection in Connections) {
17 if (connection.ConnectorType != ElectricConnectorType.Output
18 && connection.NeighborConnectorType != 0
21 CellFaces[0].Face,
22 rotation,
23 connection.ConnectorFace
24 );
25 if (connectorDirection.HasValue) {
26 if (connectorDirection.Value == ElectricConnectorDirection.Top) {
27 m_voltage += 71f / (339f * (float)Math.PI);
28 }
29 if (connectorDirection.Value == ElectricConnectorDirection.Right) {
30 m_voltage += 142f / (339f * (float)Math.PI);
31 }
32 if (connectorDirection.Value == ElectricConnectorDirection.Bottom) {
33 m_voltage += 4f / 15f;
34 }
35 if (connectorDirection.Value == ElectricConnectorDirection.Left) {
36 m_voltage += 8f / 15f;
37 }
38 }
39 }
40 }
41 return m_voltage != voltage;
42 }
43 }
44}
DigitalToAnalogConverterElectricElement(SubsystemElectricity subsystemElectricity, CellFace cellFace)
ElectricConnectorType ConnectorType
ElectricConnectorType NeighborConnectorType
static bool IsSignalHigh(float voltage)
virtual float GetOutputVoltage(int face)
List< ElectricConnection > Connections
ReadOnlyList< CellFace > CellFaces
RotateableElectricElement(SubsystemElectricity subsystemElectricity, CellFace cellFace)
static ? ElectricConnectorDirection GetConnectorDirection(int mountingFace, int rotation, int connectorFace)