public void Check() { InNorth = '0'; InSouth = '0'; InWest = '0'; InEast = '0'; Syncstring = "0000"; HashSet <ElectricalOIinheritance> connections = new HashSet <ElectricalOIinheritance>(); connections = ElectricityFunctions.SwitchCaseConnections(Wire.transform.localPosition, Wire.Matrix, Wire.InData.CanConnectTo, Connection.MachineConnect, Wire); foreach (var cn in connections) { Vector3 v3 = (cn.transform.localPosition - Wire.transform.localPosition).CutToInt(); if (v3 == Vector3.up) { InNorth = '1'; } else if (v3 == Vector3.down) { InSouth = '1'; } else if (v3 == Vector3.right) { InEast = '1'; } else if (v3 == Vector3.left) { InWest = '1'; } } Syncstring = InNorth.ToString() + InSouth.ToString() + InWest.ToString() + InEast.ToString(); UpdateSprites(null, Syncstring); }
public void Check() { if (HashSetCanConnectTo == null) { HashSetCanConnectTo = new HashSet <PowerTypeCategory>(CanConnectTo); } InNorth = '0'; InSouth = '0'; InWest = '0'; InEast = '0'; Syncstring = "0000"; HashSet <IntrinsicElectronicData> connections = new HashSet <IntrinsicElectronicData>(); ElectricityFunctions.SwitchCaseConnections(Wire.transform.localPosition, Wire.Matrix, HashSetCanConnectTo, Connection.MachineConnect, Wire.InData, connections); foreach (var cn in connections) { Vector3 v3 = (cn.Present.transform.localPosition - Wire.transform.localPosition).CutToInt(); if (v3 == Vector3.up) { InNorth = '1'; } else if (v3 == Vector3.down) { InSouth = '1'; } else if (v3 == Vector3.right) { InEast = '1'; } else if (v3 == Vector3.left) { InWest = '1'; } } Syncstring = InNorth.ToString() + InSouth.ToString() + InWest.ToString() + InEast.ToString(); UpdateSprites(null, Syncstring); }
public void RefreshSprites() { HashSet <IntrinsicElectronicData> connections = new HashSet <IntrinsicElectronicData>(); ElectricityFunctions.SwitchCaseConnections( Wire.transform.localPosition, Wire.Matrix, connectionTypes, Connection.MachineConnect, Wire.InData, connections); HashSet <OrientationEnum> activeDirections = new HashSet <OrientationEnum>(); foreach (IntrinsicElectronicData connection in connections) { Vector3 vector = (connection.Present.transform.localPosition - Wire.transform.localPosition).CutToInt(); activeDirections.Add(Orientation.From(vector).AsEnum()); } foreach (var kvp in spriteHandlers) { SpriteHandler spriteHandler = kvp.Value; if (activeDirections.Contains(kvp.Key)) { if (spriteHandler.CurrentSpriteIndex == -1) { spriteHandler.ChangeSprite(0); } else { spriteHandler.PushTexture(); } } else { spriteHandler.PushClear(); } } }