public static void RemoveSupply(IntrinsicElectronicData Object, ElectricalOIinheritance SourceInstance = null) { if (SourceInstance == null) { bool pass = false; foreach (var Supply in Object.Data.SupplyDependent) { if (Supply.Value.Downstream.Count > 0 || Supply.Value.Upstream.Count > 0) { pass = true; } } if (pass) { Pool(Object.Data.SupplyDependent); foreach (IntrinsicElectronicData JumpTo in Object.Data.connections) { JumpTo.RemoveSupply(); } Object.Data.CurrentInWire = 0; Object.Data.ActualVoltage = 0; Object.Data.EstimatedResistance = 0; Object.Data.ResistanceToConnectedDevices.Clear(); //Object.connectedDevices.Clear();# } } else { //SourceInstance bool pass = false; if (Object.Data.SupplyDependent.ContainsKey(SourceInstance)) { if (Object.Data.SupplyDependent[SourceInstance].Downstream.Count > 0 || Object.Data.SupplyDependent[SourceInstance].Upstream.Count > 0) { pass = true; } Object.Data.SupplyDependent[SourceInstance].Pool(); Object.Data.SupplyDependent.Remove(SourceInstance); } if (SourceInstance == Object.Present) { CleanConnectedDevicesFromPower(Object.Present); Object.Data.ResistanceToConnectedDevices.Clear(); } if (pass) { foreach (IntrinsicElectronicData JumpTo in Object.Data.connections) { JumpTo.RemoveSupply(SourceInstance); } } } }
public static void RemoveSupply(ElectricalOIinheritance Object, GameObject SourceInstance = null) { if (SourceInstance == null) { bool pass = false; foreach (var Supply in Object.Data.SupplyDependent) { if (Supply.Value.Downstream.Count > 0 || Supply.Value.Upstream.Count > 0) { pass = true; } } if (pass) { Object.Data.SupplyDependent.Clear(); foreach (ElectricalOIinheritance JumpTo in Object.Data.connections) { JumpTo.RemoveSupply(); } Object.Data.CurrentInWire = new float(); Object.Data.ActualVoltage = new float(); Object.Data.EstimatedResistance = new float(); Object.Data.ResistanceToConnectedDevices.Clear(); Object.connectedDevices.Clear(); } } else { int InstanceID = SourceInstance.GetInstanceID(); if (Object.Data.SupplyDependent[InstanceID].Downstream.Count > 0) { foreach (ElectricalOIinheritance JumpTo in Object.Data.connections) { JumpTo.RemoveSupply(SourceInstance); } if (InstanceID == Object.GameObject().GetInstanceID()) { CleanConnectedDevicesFromPower(Object); Object.Data.ResistanceToConnectedDevices.Clear(); } Object.Data.SupplyDependent.Remove(InstanceID); ElectricityFunctions.WorkOutActualNumbers(Object); } } }
public static void RemoveSupply(ElectricalOIinheritance Object, GameObject SourceInstance = null) { if (SourceInstance == null) { if (Object.Data.Downstream.Count > 0 || Object.Data.Upstream.Count > 0) { Object.Data.Downstream.Clear(); Object.Data.Upstream.Clear(); Object.Data.FirstPresent = new int(); foreach (ElectricalOIinheritance JumpTo in Object.Data.connections) { JumpTo.RemoveSupply(); } Object.Data.Upstream.Clear(); Object.Data.SourceVoltages.Clear(); Object.Data.ResistanceGoingTo.Clear(); Object.Data.ResistanceComingFrom.Clear(); Object.Data.CurrentGoingTo.Clear(); Object.Data.CurrentComingFrom.Clear(); Object.Data.SourceVoltages.Clear(); Object.Data.CurrentInWire = new float(); Object.Data.ActualVoltage = new float(); Object.Data.EstimatedResistance = new float(); Object.Data.UpstreamCount = new int(); Object.Data.DownstreamCount = new int(); Object.Data.ResistanceToConnectedDevices.Clear(); Object.connectedDevices.Clear(); } } else { int InstanceID = SourceInstance.GetInstanceID(); if (Object.Data.Downstream.ContainsKey(InstanceID)) { Object.Data.Downstream.Remove(InstanceID); if (Object.Data.FirstPresent == InstanceID) { Object.Data.FirstPresent = new int(); } foreach (ElectricalOIinheritance JumpTo in Object.Data.connections) { JumpTo.RemoveSupply(SourceInstance); } if (InstanceID == Object.GameObject().GetInstanceID()) { CleanConnectedDevicesFromPower(Object); Object.Data.ResistanceToConnectedDevices.Clear(); } Object.Data.Upstream.Remove(InstanceID); Object.Data.SourceVoltages.Remove(InstanceID); Object.Data.ResistanceGoingTo.Remove(InstanceID); Object.Data.ResistanceComingFrom.Remove(InstanceID); Object.Data.CurrentGoingTo.Remove(InstanceID); Object.Data.CurrentComingFrom.Remove(InstanceID); Object.Data.SourceVoltages.Remove(InstanceID); ElectricityFunctions.WorkOutActualNumbers(Object);; Object.Data.UpstreamCount = new int(); Object.Data.DownstreamCount = new int(); } } }
public static void RemoveSupply(IElectricityIO Object, GameObject SourceInstance = null) { if (SourceInstance == null) { if (Object.Downstream.Count > 0 || Object.Upstream.Count > 0) { Object.Downstream.Clear(); Object.Upstream.Clear(); Object.FirstPresent = new int(); foreach (IElectricityIO JumpTo in Object.connections) { JumpTo.RemoveSupply(); } Object.Upstream.Clear(); Object.SourceVoltages.Clear(); Object.ResistanceGoingTo.Clear(); Object.ResistanceComingFrom.Clear(); Object.CurrentGoingTo.Clear(); Object.CurrentComingFrom.Clear(); Object.SourceVoltages.Clear(); Object.CurrentInWire = new float(); Object.ActualVoltage = new float(); Object.EstimatedResistance = new float(); //VisibleResistance = new float (); Object.UpstreamCount = new int(); Object.DownstreamCount = new int(); Object.ResistanceToConnectedDevices.Clear(); Object.connectedDevices.Clear(); } } else { int InstanceID = SourceInstance.GetInstanceID(); if (Object.Downstream.ContainsKey(InstanceID)) { Object.Downstream.Remove(InstanceID); if (Object.FirstPresent == InstanceID) { Object.FirstPresent = new int(); } foreach (IElectricityIO JumpTo in Object.connections) { JumpTo.RemoveSupply(SourceInstance); } if (InstanceID == Object.GameObject().GetInstanceID()) { CleanConnectedDevicesFromPower(Object); Object.ResistanceToConnectedDevices.Clear(); //Object.connectedDevices.Clear(); } Object.Upstream.Remove(InstanceID); Object.SourceVoltages.Remove(InstanceID); Object.ResistanceGoingTo.Remove(InstanceID); Object.ResistanceComingFrom.Remove(InstanceID); Object.CurrentGoingTo.Remove(InstanceID); Object.CurrentComingFrom.Remove(InstanceID); //Logger.Log (SourceVoltages.Count.ToString() + "yes"); Object.SourceVoltages.Remove(InstanceID); Object.ActualCurrentChargeInWire = ElectricityFunctions.WorkOutActualNumbers(Object); // foreach (KeyValuePair<int, Dictionary<IElectricityIO,float>> CurrentIDItem in CurrentComingFrom) { // Logger.Log (CurrentIDItem.Key.ToString() + " CurrentComingFrom sdd > " + InstanceID.ToString() ); // } // foreach (KeyValuePair<int, Dictionary<IElectricityIO,float>> CurrentIDItem in CurrentGoingTo) { // Logger.Log (CurrentIDItem.Key.ToString() + " CurrentGoingTo sdd > " + InstanceID.ToString() ); // //foreach (KeyValuePair<IElectricityIO,float> CurrentItem in CurrentIDItem.Value) { // //} // // } //Logger.Log(ActualCurrentChargeInWire.Current.ToString()+ "yoyoyoyoyyoyoyooy"); Object.CurrentInWire = Object.ActualCurrentChargeInWire.Current; Object.ActualVoltage = Object.ActualCurrentChargeInWire.Voltage; Object.EstimatedResistance = Object.ActualCurrentChargeInWire.EstimatedResistant; //VisibleResistance = new float (); Object.UpstreamCount = new int(); Object.DownstreamCount = new int(); } } }