Ejemplo n.º 1
0
 public void SetMaster(ISetMultitoolMaster Imaster)
 {
     if (fireAlarm)
     {
         fireAlarm.FireLockList.Remove(this);
     }
     fireAlarm = (Imaster as Component)?.gameObject.GetComponent <FireAlarm>();
     fireAlarm.FireLockList.Add(this);
 }
Ejemplo n.º 2
0
        public void SetMaster(ISetMultitoolMaster Imaster)
        {
            var Chamber = (Imaster as Component)?.gameObject.GetComponent <ReactorGraphiteChamber>();

            if (Chamber != null)
            {
                ReactorChambers = Chamber;
            }
        }
Ejemplo n.º 3
0
    public void SetMaster(ISetMultitoolMaster Imaster)
    {
        var lightSwitch = (Imaster as Component)?.gameObject.GetComponent <LightSwitchV2>();

        if (lightSwitch != relatedLightSwitch)
        {
            SubscribeToSwitchEvent(lightSwitch);
        }
    }
Ejemplo n.º 4
0
    public void SetMaster(ISetMultitoolMaster Imaster)
    {
        var boiler = (Imaster as Component)?.gameObject.GetComponent <ReactorBoiler>();

        if (boiler != null)
        {
            Boiler = boiler;
        }
    }
Ejemplo n.º 5
0
    public void SetMaster(ISetMultitoolMaster Imaster)
    {
        var InAPC = (Imaster as Component)?.gameObject.GetComponent <APC>();

        if (RelatedAPC != null)
        {
            RemoveFromAPC();
        }
        RelatedAPC = InAPC;
        RelatedAPC.AddDevice(this);
    }
Ejemplo n.º 6
0
        public void SetMaster(ISetMultitoolMaster Imaster)
        {
            var doorSwitch = (Imaster as DoorSwitch);

            if (doorSwitch)
            {
                doorSwitch.DoorControllers.Add(this);
                return;
            }
            var statusDisplay = (Imaster as StatusDisplay);

            if (statusDisplay)
            {
                statusDisplay.LinkDoor(this);
            }
        }
Ejemplo n.º 7
0
        public void SetMaster(ISetMultitoolMaster Imaster)
        {
            FireAlarm newFireAlarm = (Imaster as Component)?.gameObject.GetComponent <FireAlarm>();

            if (newFireAlarm == null)
            {
                return;                                   // Might try to add firelock to something that is not a firealarm e.g. APC
            }
            if (fireAlarm != null)
            {
                fireAlarm.FireLockList.Remove(this);
            }

            fireAlarm = newFireAlarm;
            fireAlarm.FireLockList.Add(this);
        }
Ejemplo n.º 8
0
        public void SetMaster(ISetMultitoolMaster iMaster)
        {
            if (unlocked == false)
            {
                //TODO how do you tell player you need to unlock??
                return;
            }

            if (iMaster is TurretSwitch turretSwitch)
            {
                //Already connected so disconnect
                if (connectedSwitch != null)
                {
                    connectedSwitch.RemoveTurretFromSwitch(this);
                }

                connectedSwitch = turretSwitch;
                turretSwitch.AddTurretToSwitch(this);
            }
        }
Ejemplo n.º 9
0
    public void ServerPerformInteraction(PositionalHandApply interaction)
    {
        if (!Validations.IsTarget(gameObject, interaction))
        {
            var MultitoolBases = interaction.TargetObject.GetComponents <ISetMultitoolBase>();
            foreach (var MultitoolBase in MultitoolBases)
            {
                if (Buffer == null || MultiMaster)
                {
                    ISetMultitoolMaster Master = (MultitoolBase as ISetMultitoolMaster);
                    if (Master != null)
                    {
                        ConfigurationBuffer = Master.ConType;
                        ListBuffer.Add(Master);
                        MultiMaster = Master.MultiMaster;
                        Chat.AddExamineMsgFromServer(interaction.Performer,
                                                     "You add the master component " + interaction.TargetObject.ExpensiveName() +
                                                     " to the Multi-tools buffer");
                        return;
                    }
                }

                if (Buffer != null)
                {
                    if (ConfigurationBuffer == MultitoolBase.ConType)
                    {
                        ISetMultitoolSlave Slave = (MultitoolBase as ISetMultitoolSlave);
                        if (Slave != null)
                        {
                            Slave.SetMaster(Buffer);
                            Chat.AddExamineMsgFromServer(interaction.Performer,
                                                         "You set the " + interaction.TargetObject.ExpensiveName() + " to use the " +
                                                         (Buffer as Component)?.gameObject.ExpensiveName() + " in the buffer");
                            return;
                        }

                        ISetMultitoolSlaveMultiMaster SlaveMultiMaster =
                            (MultitoolBase as ISetMultitoolSlaveMultiMaster);
                        if (SlaveMultiMaster != null)
                        {
                            SlaveMultiMaster.SetMasters(ListBuffer);
                            Chat.AddExamineMsgFromServer(interaction.Performer,
                                                         "You set the" + interaction.TargetObject.ExpensiveName() +
                                                         " to use the devices in the buffer");
                            return;
                        }

                        Chat.AddExamineMsgFromServer(interaction.Performer,
                                                     "This only seems to have the capability of accepting Writing to buffer");
                        return;
                    }
                }
            }


            //conveyorbelt

            /*
             * ConveyorBelt conveyorBelt = interaction.TargetObject.GetComponent<ConveyorBelt>();
             * if (conveyorBelt != null)
             * {
             *      Chat.AddExamineMsgFromServer(interaction.Performer, "You set the internal buffer of the multitool to the Conveyor Belt");
             *      ConveyorBeltBuffer.Add(conveyorBelt);
             * }
             * ConveyorBeltSwitch conveyorBeltSwitch = interaction.TargetObject.GetComponent<ConveyorBeltSwitch>();
             * if (conveyorBeltSwitch != null)
             * {
             *      if (ConveyorBeltBuffer != null)
             *      {
             *              Chat.AddExamineMsgFromServer(interaction.Performer, "You set the Conveyor Belt Switch to use the Conveyor Belt in the buffer");
             *              conveyorBeltSwitch.AddConveyorBelt(ConveyorBeltBuffer);
             *      }
             *      else
             *      {
             *              Chat.AddExamineMsgFromServer(interaction.Performer, "Your Conveyor Belt buffer is empty fill it with something");
             *      }
             * }
             */

            PrintElectricalThings(interaction);
        }
    }