Exemple #1
0
    public float ModifyResistanceInput(float Resistance, GameObject SourceInstance, IElectricityIO ComingFrom)
    {
        Tuple <float, float> ResistanceM = TransformerCalculations.TransformerCalculate(this, ResistanceToModify: Resistance);

        //return(Resistance);
        return(ResistanceM.Item1);
    }
Exemple #2
0
    public float ModifyResistancyOutput(float Resistance, GameObject SourceInstance)
    {
        Tuple <float, float> ResistanceM = TransformerCalculations.TransformerCalculate(this, ResistanceToModify: Resistance);

        //return (Resistance);
        return(ResistanceM.Item1);
    }
Exemple #3
0
    public override float ModifyResistanceInput(float Resistance, GameObject SourceInstance, ElectricalOIinheritance ComingFrom)
    {
        Tuple <float, float> ResistanceM = TransformerCalculations.TransformerCalculate(this, ResistanceToModify: Resistance);

        //return(Resistance);
        return(ResistanceM.Item1);
    }
    public override float ModifyElectricityInput(float Current, GameObject SourceInstance, ElectricalOIinheritance ComingFrom)
    {
        int   InstanceID = SourceInstance.GetInstanceID();
        float Resistance = ElectricityFunctions.WorkOutResistance(ControllingNode.Node.Data.SupplyDependent[InstanceID].ResistanceComingFrom);
        float Voltage    = (Current * Resistance);

        //Logger.Log (Voltage.ToString() + " < Voltage " + Resistance.ToString() + " < Resistance"  + Current.ToString() + " < Current");
        Tuple <float, float> Currentandoffcut = TransformerCalculations.ElectricalStageTransformerCalculate(this, Voltage: Voltage, ResistanceModified: Resistance, FromHighSide: HighsideConnections.Contains(ComingFrom.InData.Categorytype));

        if (Currentandoffcut.Item2 > 0)
        {
            ControllingNode.Node.Data.SupplyDependent[InstanceID].CurrentGoingTo[ControllingNode.Node] = Currentandoffcut.Item2;
        }
        return(Currentandoffcut.Item1);
    }
    public override ResistanceWrap ModifyResistancyOutput(ResistanceWrap Resistance, ElectricalOIinheritance SourceInstance)
    {
        //return (Resistance);
        bool FromHighSide = false;

        foreach (var Upst in ControllingNode.Node.InData.Data.SupplyDependent[SourceInstance].Upstream)
        {
            if (LowsideConnections.Contains(Upst.Categorytype))
            {
                FromHighSide = true;
            }
        }


        ResistanceWrap ResistanceM = TransformerCalculations.ResistanceStageTransformerCalculate(this, ResistanceToModify: Resistance, FromHighSide: FromHighSide);

        return(ResistanceM);
    }
    public override VIRCurrent ModifyElectricityInput(VIRCurrent Current,
                                                      ElectricalOIinheritance SourceInstance,
                                                      IntrinsicElectronicData ComingFromm)
    {
        float Resistance = ElectricityFunctions.WorkOutResistance(ControllingNode.Node.InData.Data.SupplyDependent[SourceInstance].ResistanceGoingTo);
        var   Voltage    = ElectricityFunctions.WorkOutVoltage(ControllingNode.Node);
        //Logger.Log("Voltage" + Voltage);

        //Logger.Log (Voltage.ToString() + " < Voltage " + Resistance.ToString() + " < Resistance"  + Current.ToString() + " < Current");
        VIRCurrent Currentout =
            TransformerCalculations.ElectricalStageTransformerCalculate(this,
                                                                        Current,
                                                                        Resistance,
                                                                        Voltage,
                                                                        HighsideConnections.Contains(ComingFromm.Categorytype));

        return(Currentout);
    }
Exemple #7
0
    public float ModifyElectricityOutput(int tick, float Current, GameObject SourceInstance)
    {
        int   InstanceID    = SourceInstance.GetInstanceID();
        float ActualCurrent = RelatedDevice.Data.CurrentInWire;
        float Resistance    = ElectricityFunctions.WorkOutResistance(RelatedDevice.Data.ResistanceComingFrom[InstanceID]);
        float Voltage       = (Current * Resistance);
        Tuple <float, float> Currentandoffcut = TransformerCalculations.TransformerCalculate(this, Voltage: Voltage, ResistanceModified: Resistance, ActualCurrent: ActualCurrent);

        if (Currentandoffcut.Item2 > 0)
        {
            if (!(RelatedDevice.Data.CurrentGoingTo.ContainsKey(InstanceID)))
            {
                RelatedDevice.Data.CurrentGoingTo [InstanceID] = new Dictionary <IElectricityIO, float> ();
            }
            RelatedDevice.Data.CurrentGoingTo[InstanceID] [RelatedDevice.GameObject().GetComponent <IElectricityIO>()] = Currentandoffcut.Item2;
        }
        return(Currentandoffcut.Item1);
    }
    public override float ModifyResistancyOutput(float Resistance, GameObject SourceInstance)
    {
        //return (Resistance);
        int  InstanceID   = SourceInstance.GetInstanceID();
        bool FromHighSide = false;

        foreach (var Upst in ControllingNode.Node.Data.SupplyDependent[InstanceID].Upstream)
        {
            if (LowsideConnections.Contains(Upst.InData.Categorytype))
            {
                FromHighSide = true;
            }
        }

        Tuple <float, float> ResistanceM = TransformerCalculations.ResistanceStageTransformerCalculate(this, ResistanceToModify: Resistance, FromHighSide: FromHighSide);

        return(ResistanceM.Item1);
    }
    public override float ModifyElectricityOutput(float Current, GameObject SourceInstance)
    {
        int   InstanceID    = SourceInstance.GetInstanceID();
        float ActualCurrent = powerSupply.Data.CurrentInWire;
        float Resistance    = ElectricityFunctions.WorkOutResistance(powerSupply.Data.ResistanceComingFrom[InstanceID]);
        float Voltage       = (Current * Resistance);
        Tuple <float, float> Currentandoffcut = TransformerCalculations.TransformerCalculate(this, Voltage: Voltage, ResistanceModified: Resistance, ActualCurrent: ActualCurrent);

        if (Currentandoffcut.Item2 > 0)
        {
            if (!(powerSupply.Data.CurrentGoingTo.ContainsKey(InstanceID)))
            {
                powerSupply.Data.CurrentGoingTo [InstanceID] = new Dictionary <ElectricalOIinheritance, float> ();
            }
            powerSupply.Data.CurrentGoingTo[InstanceID] [powerSupply.GameObject().GetComponent <ElectricalOIinheritance>()] = Currentandoffcut.Item2;
        }
        //return(Current);
        return(Currentandoffcut.Item1);
    }