예제 #1
0
    public override void OnStartServer()
    {
        base.OnStartServer();
        powerSupply.InData.CanConnectTo = CanConnectTo;
        powerSupply.InData.Categorytype = ApplianceType;
        powerSupply.DirectionStart      = DirectionStart;
        powerSupply.DirectionEnd        = DirectionEnd;
        resistance.Ohms = Resistance;
        resistance.ResistanceAvailable = false;

        PowerInputReactions PIRMedium = new PowerInputReactions();         //You need a resistance on the output just so supplies can communicate properly

        PIRMedium.DirectionReaction = true;
        PIRMedium.ConnectingDevice  = PowerTypeCategory.MediumMachineConnector;
        PIRMedium.DirectionReactionA.AddResistanceCall.ResistanceAvailable = true;
        PIRMedium.DirectionReactionA.YouShallNotPass = true;
        PIRMedium.ResistanceReaction = true;
        PIRMedium.ResistanceReactionA.Resistance.Ohms = MonitoringResistance;

        PowerInputReactions PRSDCable = new PowerInputReactions();

        PRSDCable.DirectionReaction = true;
        PRSDCable.ConnectingDevice  = PowerTypeCategory.StandardCable;
        PRSDCable.DirectionReactionA.AddResistanceCall = resistance;
        PRSDCable.ResistanceReaction             = true;
        PRSDCable.ResistanceReactionA.Resistance = resistance;
        resistance.Ohms = 10000;

        powerSupply.InData.ConnectionReaction[PowerTypeCategory.MediumMachineConnector] = PIRMedium;
        powerSupply.InData.ConnectionReaction[PowerTypeCategory.StandardCable]          = PRSDCable;
        powerSupply.InData.ControllingDevice = this;
        powerSupply.InData.ControllingUpdate = this;
        currentCharge = 20;
    }
    //public void PotentialDestroyed()
    //{
    //	if (SelfDestruct)
    //	{
    //		//Then you can destroy
    //	}
    //}

    public override void OnStartServerInitialise()
    {
        ApplianceType = PowerTypeCategory.RadiationCollector;
        CanConnectTo  = new HashSet <PowerTypeCategory>
        {
            PowerTypeCategory.HighVoltageCable,
        };

        powerSupply.InData.CanConnectTo = CanConnectTo;
        powerSupply.InData.Categorytype = ApplianceType;
        powerSupply.WireEndB            = WireEndB;
        powerSupply.WireEndA            = WireEndA;
        SupplyingVoltage   = 760000;
        InternalResistance = 76000;
        //current = 20;
        PowerInputReactions PIRHigh = new PowerInputReactions();         //You need a resistance on the output just so supplies can communicate properly

        PIRHigh.DirectionReaction = true;
        PIRHigh.ConnectingDevice  = PowerTypeCategory.HighVoltageCable;
        PIRHigh.DirectionReactionA.AddResistanceCall.ResistanceAvailable = true;
        PIRHigh.DirectionReactionA.YouShallNotPass = true;
        PIRHigh.ResistanceReaction = true;
        PIRHigh.ResistanceReactionA.Resistance.Ohms = MonitoringResistance;
        powerSupply.InData.ConnectionReaction[PowerTypeCategory.HighVoltageCable] = PIRHigh;
        isOn = true;
        UpdateServerState(isOn);
    }
예제 #3
0
    public override void OnStartClient()
    {
        base.OnStartClient();
        RelatedDevice.InData.CanConnectTo = CanConnectTo;
        RelatedDevice.InData.Categorytype = ApplianceType;
        RelatedDevice.DirectionStart      = DirectionStart;
        RelatedDevice.DirectionEnd        = DirectionEnd;

        RelatedDevice.RelatedDevice = this;
        ClassResistance.Float       = Resistance;
        CanProvideResistance.Bool   = false;

        PowerInputReactions PIRLow = new PowerInputReactions();          //You need a resistance on the output just so supplies can communicate properly

        PIRLow.DirectionReaction = true;
        PIRLow.ConnectingDevice  = PowerTypeCategory.LowMachineConnector;
        PIRLow.DirectionReactionA.AddResistanceCall.Bool = true;
        PIRLow.DirectionReactionA.YouShallNotPass        = true;
        PIRLow.ResistanceReaction = true;
        PIRLow.ResistanceReactionA.Resistance.Float = MonitoringResistance;

        PowerInputReactions PRSDCable = new PowerInputReactions();

        PRSDCable.DirectionReaction = true;
        PRSDCable.ConnectingDevice  = PowerTypeCategory.StandardCable;
        PRSDCable.DirectionReactionA.AddResistanceCall = CanProvideResistance;
        PRSDCable.ResistanceReaction             = true;
        PRSDCable.ResistanceReactionA.Resistance = ClassResistance;
        ClassResistance.Float = 10000;
        RelatedDevice.InData.ConnectionReaction[PowerTypeCategory.LowMachineConnector] = PIRLow;
        RelatedDevice.InData.ConnectionReaction[PowerTypeCategory.StandardCable]       = PRSDCable;
        RelatedDevice.InData.ControllingDevice = this;
        currentCharge = 100;
    }
예제 #4
0
    public override void OnStartServerInitialise()
    {
        ApplianceType = PowerTypeCategory.FieldGenerator;
        CanConnectTo  = new HashSet <PowerTypeCategory>()
        {
            PowerTypeCategory.StandardCable
        };

        Resistance = 1500;
        powerSupply.InData.CanConnectTo = CanConnectTo;
        powerSupply.InData.Categorytype = ApplianceType;
        powerSupply.WireEndB            = Connection.Overlap;
        powerSupply.WireEndA            = Connection.MachineConnect;
        resistance.Ohms = Resistance;
        ElectricalSynchronisation.PoweredDevices.Add(this);
        PowerInputReactions PRLCable = new PowerInputReactions();

        PRLCable.DirectionReaction = true;
        PRLCable.ConnectingDevice  = PowerTypeCategory.StandardCable;
        PRLCable.DirectionReactionA.AddResistanceCall.ResistanceAvailable = true;
        PRLCable.DirectionReactionA.YouShallNotPass = true;
        PRLCable.ResistanceReaction             = true;
        PRLCable.ResistanceReactionA.Resistance = resistance;
        powerSupply.InData.ConnectionReaction[PowerTypeCategory.StandardCable] = PRLCable;
    }
예제 #5
0
    public override void OnStartServer()
    {
        base.OnStartServer();
        powerSupply.InData.CanConnectTo      = CanConnectTo;
        powerSupply.InData.Categorytype      = ApplianceType;
        powerSupply.DirectionStart           = DirectionStart;
        powerSupply.DirectionEnd             = DirectionEnd;
        powerSupply.Data.SupplyingCurrent    = 20;
        powerSupply.InData.ControllingDevice = this;
        powerSupply.InData.ControllingUpdate = powerSupply;

        PowerInputReactions PIRMedium = new PowerInputReactions();         //You need a resistance on the output just so supplies can communicate properly

        PIRMedium.DirectionReaction = true;
        PIRMedium.ConnectingDevice  = PowerTypeCategory.StandardCable;
        PIRMedium.DirectionReactionA.AddResistanceCall.ResistanceAvailable = true;
        PIRMedium.DirectionReactionA.YouShallNotPass = true;
        PIRMedium.ResistanceReaction = true;
        PIRMedium.ResistanceReactionA.Resistance.Ohms = MonitoringResistance;

        PowerInputReactions PIRHigh = new PowerInputReactions();         //You need a resistance on the output just so supplies can communicate properly

        PIRMedium.DirectionReaction = true;
        PIRMedium.ConnectingDevice  = PowerTypeCategory.HighVoltageCable;
        PIRMedium.DirectionReactionA.AddResistanceCall.ResistanceAvailable = true;
        PIRMedium.DirectionReactionA.YouShallNotPass = true;
        PIRMedium.ResistanceReaction = true;
        PIRMedium.ResistanceReactionA.Resistance.Ohms = MonitoringResistance;

        powerSupply.InData.ConnectionReaction[PowerTypeCategory.HighVoltageCable] = PIRHigh;
        powerSupply.InData.ConnectionReaction[PowerTypeCategory.StandardCable]    = PIRMedium;



        if (startWithPlasma)
        {
            plasmaFuel.Add(new SolidPlasma());
        }
        powerSupply.InData.ControllingUpdate = powerSupply;
        if (startAsOn)
        {
            UpdateServerState(startAsOn);
        }

        UpdateSecured(startSecured);
    }
예제 #6
0
    public override void OnStartServerInitialise()
    {
        powerSupply.InData.CanConnectTo = CanConnectTo;
        powerSupply.InData.Categorytype = ApplianceType;
        powerSupply.DirectionStart      = 0;
        powerSupply.DirectionEnd        = 9;
        ResistanceClass.Ohms            = Resistance;
        ElectricalSynchronisation.PoweredDevices.Add(this);
        PowerInputReactions PRLCable = new PowerInputReactions();

        PRLCable.DirectionReaction = true;
        PRLCable.ConnectingDevice  = PowerTypeCategory.LowMachineConnector;
        PRLCable.DirectionReactionA.AddResistanceCall.ResistanceAvailable = true;
        PRLCable.DirectionReactionA.YouShallNotPass = true;
        PRLCable.ResistanceReaction             = true;
        PRLCable.ResistanceReactionA.Resistance = ResistanceClass;
        powerSupply.InData.ConnectionReaction[PowerTypeCategory.LowMachineConnector] = PRLCable;
    }
예제 #7
0
    //green - fully charged and sufficient power from wire
    //blue - charging, sufficient power from wire
    //red - running off internal battery, not enough power from wire

    public override void OnStartClient()
    {
        base.OnStartClient();
        poweredDevice.InData.CanConnectTo = CanConnectTo;
        poweredDevice.InData.Categorytype = ApplianceType;
        ClassResistance.Float             = Resistance;
        ElectricalSynchronisation.PoweredDevices.Add(this);
        PowerInputReactions PRLCable = new PowerInputReactions();

        PRLCable.DirectionReaction = true;
        PRLCable.ConnectingDevice  = PowerTypeCategory.LowVoltageCable;
        PRLCable.DirectionReactionA.AddResistanceCall.Bool = true;
        PRLCable.DirectionReactionA.YouShallNotPass        = true;
        PRLCable.ResistanceReaction             = true;
        PRLCable.ResistanceReactionA.Resistance = ClassResistance;
        poweredDevice.InData.ConnectionReaction[PowerTypeCategory.LowVoltageCable] = PRLCable;
        poweredDevice.InData.ControllingDevice = this;
    }
예제 #8
0
    public override void OnStartServerInitialise()
    {
        CanConnectTo = new HashSet <PowerTypeCategory>
        {
            PowerTypeCategory.StandardCable,
            PowerTypeCategory.HighVoltageCable,
        };
        ApplianceType = PowerTypeCategory.PowerGenerator;
        // Voltage_source_voltage / Internal_resistance_of_voltage_source = 10 is good Rule of thumb
        powerSupply.InData.CanConnectTo = CanConnectTo;
        powerSupply.InData.Categorytype = ApplianceType;
        powerSupply.WireEndB            = WireEndB;
        powerSupply.WireEndA            = WireEndA;

        SupplyingVoltage   = 760000;
        InternalResistance = 76000;
        //current = 20;

        //powerSupply.InData.ControllingDevice = this;
        //powerSupply.InData.ControllingUpdate = this;

        PowerInputReactions PIRMedium = new PowerInputReactions();         //You need a resistance on the output just so supplies can communicate properly

        PIRMedium.DirectionReaction = true;
        PIRMedium.ConnectingDevice  = PowerTypeCategory.StandardCable;
        PIRMedium.DirectionReactionA.AddResistanceCall.ResistanceAvailable = true;
        PIRMedium.DirectionReactionA.YouShallNotPass = true;
        PIRMedium.ResistanceReaction = true;
        PIRMedium.ResistanceReactionA.Resistance.Ohms = MonitoringResistance;

        PowerInputReactions PIRHigh = new PowerInputReactions();         //You need a resistance on the output just so supplies can communicate properly

        PIRMedium.DirectionReaction = true;
        PIRMedium.ConnectingDevice  = PowerTypeCategory.HighVoltageCable;
        PIRMedium.DirectionReactionA.AddResistanceCall.ResistanceAvailable = true;
        PIRMedium.DirectionReactionA.YouShallNotPass = true;
        PIRMedium.ResistanceReaction = true;
        PIRMedium.ResistanceReactionA.Resistance.Ohms = MonitoringResistance;

        powerSupply.InData.ConnectionReaction[PowerTypeCategory.HighVoltageCable] = PIRHigh;
        powerSupply.InData.ConnectionReaction[PowerTypeCategory.StandardCable]    = PIRMedium;
        UpdateSecured(startSecured);
        StartCoroutine(CheckStartingPlasma());
    }
예제 #9
0
    public override void OnStartClient()
    {
        base.OnStartClient();
        powerSupply.InData.CanConnectTo      = CanConnectTo;
        powerSupply.InData.Categorytype      = ApplianceType;
        powerSupply.DirectionStart           = DirectionStart;
        powerSupply.DirectionEnd             = DirectionEnd;
        powerSupply.Data.SupplyingCurrent    = 20;
        powerSupply.InData.ControllingDevice = this;

        PowerInputReactions PIRMedium = new PowerInputReactions();          //You need a resistance on the output just so supplies can communicate properly

        PIRMedium.DirectionReaction = true;
        PIRMedium.ConnectingDevice  = PowerTypeCategory.MediumMachineConnector;
        PIRMedium.DirectionReactionA.AddResistanceCall.Bool = true;
        PIRMedium.DirectionReactionA.YouShallNotPass        = true;
        PIRMedium.ResistanceReaction = true;
        PIRMedium.ResistanceReactionA.Resistance.Float = MonitoringResistance;
    }
예제 #10
0
    public override void OnStartServer()
    {
        base.OnStartServer();
        Resistance = 1500;
        powerSupply.InData.CanConnectTo = CanConnectTo;
        powerSupply.InData.Categorytype = ApplianceType;
        powerSupply.DirectionStart      = 0;
        powerSupply.DirectionEnd        = 9;
        resistance.Ohms = Resistance;
        ElectricalSynchronisation.PoweredDevices.Add(this);
        PowerInputReactions PRLCable = new PowerInputReactions();

        PRLCable.DirectionReaction = true;
        PRLCable.ConnectingDevice  = PowerTypeCategory.StandardCable;
        PRLCable.DirectionReactionA.AddResistanceCall.ResistanceAvailable = true;
        PRLCable.DirectionReactionA.YouShallNotPass = true;
        PRLCable.ResistanceReaction             = true;
        PRLCable.ResistanceReactionA.Resistance = resistance;
        powerSupply.InData.ConnectionReaction[PowerTypeCategory.StandardCable] = PRLCable;
    }
예제 #11
0
    public override void OnStartServer()
    {
        base.OnStartServer();
        powerSupply.InData.CanConnectTo      = CanConnectTo;
        powerSupply.InData.Categorytype      = ApplianceType;
        powerSupply.DirectionStart           = DirectionStart;
        powerSupply.DirectionEnd             = DirectionEnd;
        powerSupply.Data.SupplyingCurrent    = 20;
        powerSupply.InData.ControllingDevice = this;
        powerSupply.InData.ControllingUpdate = powerSupply;
        PowerInputReactions PIRHigh = new PowerInputReactions();         //You need a resistance on the output just so supplies can communicate properly

        PIRHigh.DirectionReaction = true;
        PIRHigh.ConnectingDevice  = PowerTypeCategory.HighVoltageCable;
        PIRHigh.DirectionReactionA.AddResistanceCall.ResistanceAvailable = true;
        PIRHigh.DirectionReactionA.YouShallNotPass = true;
        PIRHigh.ResistanceReaction = true;
        PIRHigh.ResistanceReactionA.Resistance.Ohms = MonitoringResistance;
        powerSupply.InData.ConnectionReaction[PowerTypeCategory.HighVoltageCable] = PIRHigh;
        isOn = true;
        UpdateServerState(isOn);
    }
예제 #12
0
    public override void OnStartServerInitialise()
    {
        ApplianceType = PowerTypeCategory.SMES;
        CanConnectTo  = new HashSet <PowerTypeCategory>
        {
            PowerTypeCategory.MediumMachineConnector
        };
        powerSupply.InData.CanConnectTo = CanConnectTo;
        powerSupply.InData.Categorytype = ApplianceType;
        powerSupply.WireEndB            = WireEndB;
        powerSupply.WireEndA            = WireEndA;

        resistance.Ohms = Resistance;
        resistance.ResistanceAvailable = false;

        PowerInputReactions PIRMedium = new PowerInputReactions();         //You need a resistance on the output just so supplies can communicate properly

        PIRMedium.DirectionReaction = true;
        PIRMedium.ConnectingDevice  = PowerTypeCategory.MediumMachineConnector;
        PIRMedium.DirectionReactionA.AddResistanceCall.ResistanceAvailable = true;
        PIRMedium.DirectionReactionA.YouShallNotPass = true;
        PIRMedium.ResistanceReaction = true;
        PIRMedium.ResistanceReactionA.Resistance.Ohms = MonitoringResistance;

        PowerInputReactions PRSDCable = new PowerInputReactions();

        PRSDCable.DirectionReaction = true;
        PRSDCable.ConnectingDevice  = PowerTypeCategory.StandardCable;
        PRSDCable.DirectionReactionA.AddResistanceCall = resistance;
        PRSDCable.ResistanceReaction             = true;
        PRSDCable.ResistanceReactionA.Resistance = resistance;
        resistance.Ohms = 10000;

        powerSupply.InData.ConnectionReaction[PowerTypeCategory.MediumMachineConnector] = PIRMedium;
        powerSupply.InData.ConnectionReaction[PowerTypeCategory.StandardCable]          = PRSDCable;
        currentCharge = 0;
    }
예제 #13
0
	public override void OnStartServer()
	{
		// Voltage_source_voltage / Internal_resistance_of_voltage_source = 10 is good Rule of thumb
		base.OnStartServer();
		powerSupply.InData.CanConnectTo = CanConnectTo;
		powerSupply.InData.Categorytype = ApplianceType;
		powerSupply.DirectionStart = DirectionStart;
		powerSupply.DirectionEnd = DirectionEnd;
		powerSupply.Data.SupplyingVoltage = 760000;
		powerSupply.Data.InternalResistance = 76000;
		powerSupply.InData.ControllingDevice = this;
		powerSupply.InData.ControllingUpdate = powerSupply;

		PowerInputReactions PIRMedium = new PowerInputReactions(); //You need a resistance on the output just so supplies can communicate properly
		PIRMedium.DirectionReaction = true;
		PIRMedium.ConnectingDevice = PowerTypeCategory.StandardCable;
		PIRMedium.DirectionReactionA.AddResistanceCall.ResistanceAvailable = true;
		PIRMedium.DirectionReactionA.YouShallNotPass = true;
		PIRMedium.ResistanceReaction = true;
		PIRMedium.ResistanceReactionA.Resistance.Ohms = MonitoringResistance;

		PowerInputReactions PIRHigh = new PowerInputReactions(); //You need a resistance on the output just so supplies can communicate properly
		PIRMedium.DirectionReaction = true;
		PIRMedium.ConnectingDevice = PowerTypeCategory.HighVoltageCable;
		PIRMedium.DirectionReactionA.AddResistanceCall.ResistanceAvailable = true;
		PIRMedium.DirectionReactionA.YouShallNotPass = true;
		PIRMedium.ResistanceReaction = true;
		PIRMedium.ResistanceReactionA.Resistance.Ohms = MonitoringResistance;

		powerSupply.InData.ConnectionReaction[PowerTypeCategory.HighVoltageCable] = PIRHigh;
		powerSupply.InData.ConnectionReaction[PowerTypeCategory.StandardCable] = PIRMedium;

		powerSupply.InData.ControllingUpdate = powerSupply;

		UpdateSecured(startSecured);
		StartCoroutine(CheckStartingPlasma());
	}