public static void ResistancyOutput(float Resistance, GameObject SourceInstance, ElectricalOIinheritance Thiswire) { int SourceInstanceID = SourceInstance.GetInstanceID(); float ResistanceSplit = 0; if (Resistance == 0) { ResistanceSplit = 0; } else { if (Thiswire.Data.Upstream[SourceInstanceID].Count > 1) { ResistanceSplit = 1000 / ((1000 / Resistance) / (Thiswire.Data.Upstream[SourceInstanceID].Count)); } else { ResistanceSplit = Resistance; } } foreach (ElectricalOIinheritance JumpTo in Thiswire.Data.Upstream[SourceInstanceID]) { if (ResistanceSplit == 0) { Thiswire.Data.ResistanceGoingTo[SourceInstanceID].Remove(JumpTo); } else { Thiswire.Data.ResistanceGoingTo[SourceInstanceID][JumpTo] = ResistanceSplit; } JumpTo.ResistanceInput(ResistanceSplit, SourceInstance, Thiswire); } }
public static void ResistancyOutput(float Resistance, GameObject SourceInstance, ElectricalOIinheritance Thiswire) { int SourceInstanceID = SourceInstance.GetInstanceID(); ElectricalSynchronisation.OutputSupplyingUsingData = Thiswire.Data.SupplyDependent[SourceInstanceID]; float ResistanceSplit = 0; if (Resistance == 0) { ResistanceSplit = 0; } else { if (ElectricalSynchronisation.OutputSupplyingUsingData.Upstream.Count > 1) { ResistanceSplit = Resistance * ElectricalSynchronisation.OutputSupplyingUsingData.Upstream.Count; } else { ResistanceSplit = Resistance; } } foreach (ElectricalOIinheritance JumpTo in ElectricalSynchronisation.OutputSupplyingUsingData.Upstream) { if (ResistanceSplit == 0) { ElectricalSynchronisation.OutputSupplyingUsingData.ResistanceGoingTo.Remove(JumpTo); } else { ElectricalSynchronisation.OutputSupplyingUsingData.ResistanceGoingTo[JumpTo] = ResistanceSplit; } JumpTo.ResistanceInput(ResistanceSplit, SourceInstance, Thiswire); } }
public static void ResistancyOutput(int tick, float Resistance, GameObject SourceInstance, IElectricityIO Thiswire) { int SourceInstanceID = SourceInstance.GetInstanceID(); //VisibleResistance = Resistance; float ResistanceSplit = 0; //Logger.Log (Thiswire.Categorytype.ToString() + " <YEAHAHHAH"); if (Thiswire.Upstream[SourceInstanceID].Count > 1) { float CalculatedCurrent = 1000 / Resistance; float CurrentSplit = CalculatedCurrent / (Thiswire.Upstream[SourceInstanceID].Count); ResistanceSplit = 1000 / CurrentSplit; } else { ResistanceSplit = Resistance; } foreach (IElectricityIO JumpTo in Thiswire.Upstream[SourceInstanceID]) { //Logger.Log (JumpTo.Categorytype.ToString ()); if (JumpTo.Categorytype != PowerTypeCategory.DeadEndConnection) { Thiswire.ResistanceGoingTo [SourceInstanceID] [JumpTo] = ResistanceSplit; JumpTo.ResistanceInput(tick, ResistanceSplit, SourceInstance, Thiswire); } } }
public static void ResistancyOutput(ResistanceWrap Resistance, ElectricalOIinheritance SourceInstance, IntrinsicElectronicData Thiswire) { foreach (var JumpTo in Thiswire.Data.SupplyDependent[SourceInstance].Upstream) { if (!Thiswire.Data.SupplyDependent[SourceInstance].ResistanceGoingTo.ContainsKey(JumpTo)) { Thiswire.Data.SupplyDependent[SourceInstance].ResistanceGoingTo[JumpTo] = ElectricalPool.GetVIRResistances(); } Thiswire.Data.SupplyDependent[SourceInstance].ResistanceGoingTo[JumpTo].AddResistance(Resistance); JumpTo.ResistanceInput(Resistance, SourceInstance, Thiswire); } }
public static void ResistancyOutput(ResistanceWrap Resistance, ElectricalOIinheritance SourceInstance, IntrinsicElectronicData Thiswire) { if (Thiswire.Data.SupplyDependent.TryGetValue(SourceInstance, out ElectronicSupplyData supplyDep)) { foreach (var JumpTo in supplyDep.Upstream) { if (!supplyDep.ResistanceGoingTo.TryGetValue(JumpTo, out VIRResistances resGoTo)) { resGoTo = supplyDep.ResistanceGoingTo[JumpTo] = ElectricalPool.GetVIRResistances(); } resGoTo.AddResistance(Resistance); JumpTo.ResistanceInput(Resistance, SourceInstance, Thiswire); } } }
public static void ResistancyOutput(int tick, float Resistance, GameObject SourceInstance, IElectricityIO Thiswire) { int SourceInstanceID = SourceInstance.GetInstanceID(); float ResistanceSplit = 0; if (Thiswire.Data.Upstream[SourceInstanceID].Count > 1) { float CalculatedCurrent = 1000 / Resistance; float CurrentSplit = CalculatedCurrent / (Thiswire.Data.Upstream[SourceInstanceID].Count); ResistanceSplit = 1000 / CurrentSplit; } else { ResistanceSplit = Resistance; } foreach (IElectricityIO JumpTo in Thiswire.Data.Upstream[SourceInstanceID]) { Thiswire.Data.ResistanceGoingTo [SourceInstanceID] [JumpTo] = ResistanceSplit; JumpTo.ResistanceInput(tick, ResistanceSplit, SourceInstance, Thiswire); } }