public static void DirectionOutput(GameObject SourceInstance, ElectricalOIinheritance Thiswire, CableLine RelatedLine = null) { int SourceInstanceID = SourceInstance.GetInstanceID(); if (Thiswire.Data.connections.Count == 0) { Thiswire.FindPossibleConnections(); } if (!(Thiswire.Data.SupplyDependent.ContainsKey(SourceInstanceID))) { Thiswire.Data.SupplyDependent[SourceInstanceID] = new ElectronicSupplyData(); } ElectricalSynchronisation.OutputSupplyingUsingData = Thiswire.Data.SupplyDependent[SourceInstanceID]; foreach (ElectricalOIinheritance Related in Thiswire.Data.connections) { if (!(ElectricalSynchronisation.OutputSupplyingUsingData.Upstream.Contains(Related)) && (!(Thiswire == Related))) { bool pass = true; if (RelatedLine != null) { if (RelatedLine.Covering.Contains(Related)) { pass = false; } } if (!(ElectricalSynchronisation.OutputSupplyingUsingData.Downstream.Contains(Related)) && pass) { ElectricalSynchronisation.OutputSupplyingUsingData.Downstream.Add(Related); Related.DirectionInput(SourceInstance, Thiswire); } } } }
public static void DirectionOutput(GameObject SourceInstance, ElectricalOIinheritance Thiswire, CableLine RelatedLine = null) { int SourceInstanceID = SourceInstance.GetInstanceID(); if (!(Thiswire.Data.Upstream.ContainsKey(SourceInstanceID))) { Thiswire.Data.Upstream[SourceInstanceID] = new HashSet <ElectricalOIinheritance>(); } if (!(Thiswire.Data.Downstream.ContainsKey(SourceInstanceID))) { Thiswire.Data.Downstream[SourceInstanceID] = new HashSet <ElectricalOIinheritance>(); } if (Thiswire.Data.connections.Count <= 0) { Thiswire.FindPossibleConnections(); } foreach (ElectricalOIinheritance Related in Thiswire.Data.connections) { if (!(Thiswire.Data.Upstream[SourceInstanceID].Contains(Related)) && (!(Thiswire == Related))) { bool pass = true; if (RelatedLine != null) { if (RelatedLine.Covering.Contains(Related)) { pass = false; } } if (!(Thiswire.Data.Downstream[SourceInstanceID].Contains(Related)) && pass) { Thiswire.Data.Downstream[SourceInstanceID].Add(Related); Related.DirectionInput(SourceInstance, Thiswire); } } } }