public static void FlushResistanceAndUp(ElectricalOIinheritance Object, GameObject SourceInstance = null) { if (SourceInstance == null) { bool pass = false; foreach (var Supply in Object.Data.SupplyDependent) { if (Supply.Value.ResistanceComingFrom.Count > 0) { pass = true; } } if (pass) { foreach (var Supply in Object.Data.SupplyDependent) { Supply.Value.ResistanceComingFrom.Clear(); Supply.Value.ResistanceGoingTo.Clear(); Supply.Value.CurrentGoingTo.Clear(); Supply.Value.CurrentComingFrom.Clear(); Supply.Value.SourceVoltages = 0; } foreach (ElectricalOIinheritance JumpTo in Object.Data.connections) { JumpTo.FlushResistanceAndUp(); } Object.Data.CurrentInWire = new float(); Object.Data.ActualVoltage = new float(); } } else { int InstanceID = SourceInstance.GetInstanceID(); if (Object.Data.SupplyDependent[InstanceID].ResistanceComingFrom.Count > 0 || Object.Data.SupplyDependent[InstanceID].ResistanceGoingTo.Count > 0) { Object.Data.SupplyDependent[InstanceID].ResistanceComingFrom.Clear(); Object.Data.SupplyDependent[InstanceID].ResistanceGoingTo.Clear(); foreach (ElectricalOIinheritance JumpTo in Object.Data.connections) { JumpTo.FlushResistanceAndUp(SourceInstance); } Object.Data.SupplyDependent[InstanceID].CurrentGoingTo.Clear(); Object.Data.SupplyDependent[InstanceID].CurrentComingFrom.Clear(); Object.Data.SupplyDependent[InstanceID].SourceVoltages = 0; Object.Data.CurrentInWire = new float(); Object.Data.ActualVoltage = new float(); } } }
public static void FlushResistanceAndUp(IntrinsicElectronicData Object, ElectricalOIinheritance SourceInstance = null) { if (SourceInstance == null) { bool pass = false; foreach (var Supply in Object.Data.SupplyDependent) { if (Supply.Value.ResistanceComingFrom.Count > 0) { pass = true; break; } } if (pass) { foreach (var Supply in Object.Data.SupplyDependent) { Pool(Supply.Value.ResistanceComingFrom); Pool(Supply.Value.ResistanceGoingTo); Pool(Supply.Value.CurrentGoingTo); Pool(Supply.Value.CurrentComingFrom); Supply.Value.SourceVoltage = 0; } foreach (IntrinsicElectronicData JumpTo in Object.Data.connections) { JumpTo.FlushResistanceAndUp(); } Object.Data.CurrentInWire = 0; Object.Data.ActualVoltage = 0; } } else { ElectronicSupplyData supplyDep = Object.Data.SupplyDependent[SourceInstance]; if (supplyDep.ResistanceComingFrom.Count > 0 || supplyDep.ResistanceGoingTo.Count > 0) { Pool(supplyDep.ResistanceComingFrom); Pool(supplyDep.ResistanceGoingTo); foreach (IntrinsicElectronicData JumpTo in Object.Data.connections) { JumpTo.FlushResistanceAndUp(SourceInstance); } Pool(supplyDep.CurrentGoingTo); Pool(supplyDep.CurrentComingFrom); supplyDep.SourceVoltage = 0; Object.Data.CurrentInWire = new float(); Object.Data.ActualVoltage = new float(); } } }
public static void FlushResistanceAndUp(IElectricityIO Object, GameObject SourceInstance = null) { if (SourceInstance == null) { if (Object.ResistanceComingFrom.Count > 0) { Object.ResistanceComingFrom.Clear(); foreach (IElectricityIO JumpTo in Object.connections) { JumpTo.FlushResistanceAndUp(); } Object.ResistanceGoingTo.Clear(); Object.CurrentGoingTo.Clear(); Object.CurrentComingFrom.Clear(); Object.SourceVoltages.Clear(); Object.CurrentInWire = new float(); Object.ActualVoltage = new float(); } } else { //Logger.Log ("FlushResistanceAndUp"); int InstanceID = SourceInstance.GetInstanceID(); if (Object.ResistanceComingFrom.ContainsKey(InstanceID) || Object.ResistanceGoingTo.ContainsKey(InstanceID)) { //if (Object.ResistanceComingFrom [InstanceID].Count > 0) { Object.ResistanceComingFrom.Remove(InstanceID); Object.ResistanceGoingTo.Remove(InstanceID); foreach (IElectricityIO JumpTo in Object.connections) { JumpTo.FlushResistanceAndUp(SourceInstance); } Object.CurrentGoingTo.Remove(InstanceID); Object.CurrentComingFrom.Remove(InstanceID); Object.SourceVoltages.Remove(InstanceID); Object.CurrentInWire = new float(); Object.ActualVoltage = new float(); } } }
public static void FlushResistanceAndUp(ElectricalOIinheritance Object, GameObject SourceInstance = null) { if (SourceInstance == null) { Logger.Log("yo do not?"); if (Object.Data.ResistanceComingFrom.Count > 0) { Object.Data.ResistanceComingFrom.Clear(); foreach (ElectricalOIinheritance JumpTo in Object.Data.connections) { JumpTo.FlushResistanceAndUp(); } Object.Data.ResistanceGoingTo.Clear(); Object.Data.CurrentGoingTo.Clear(); Object.Data.CurrentComingFrom.Clear(); Object.Data.SourceVoltages.Clear(); Object.Data.CurrentInWire = new float(); Object.Data.ActualVoltage = new float(); } } else { int InstanceID = SourceInstance.GetInstanceID(); if (Object.Data.ResistanceComingFrom.ContainsKey(InstanceID) || Object.Data.ResistanceGoingTo.ContainsKey(InstanceID)) { Object.Data.ResistanceComingFrom.Remove(InstanceID); Object.Data.ResistanceGoingTo.Remove(InstanceID); foreach (ElectricalOIinheritance JumpTo in Object.Data.connections) { JumpTo.FlushResistanceAndUp(SourceInstance); } Object.Data.CurrentGoingTo.Remove(InstanceID); Object.Data.CurrentComingFrom.Remove(InstanceID); Object.Data.SourceVoltages.Remove(InstanceID); Object.Data.CurrentInWire = new float(); Object.Data.ActualVoltage = new float(); } } }