public override void OnRemove()
 {
     _appearance = null;
     _powerReceiver.OnPowerStateChanged -= UpdatePower;
     _powerReceiver = null;
     base.OnRemove();
 }
 private static void BodyTypeChanged(
     EntityUid uid,
     PowerReceiverComponent component,
     PhysicsBodyTypeChangedEvent args)
 {
     component.AnchorUpdate();
 }
 public override void Initialize()
 {
     base.Initialize();
     _userInterface = Owner.GetComponent <ServerUserInterfaceComponent>().GetBoundUserInterface(ResearchConsoleUiKey.Key);
     _userInterface.OnReceiveMessage += UserInterfaceOnOnReceiveMessage;
     _client        = Owner.GetComponent <ResearchClientComponent>();
     _powerReceiver = Owner.GetComponent <PowerReceiverComponent>();
 }
Ejemplo n.º 4
0
 public override void Initialize()
 {
     base.Initialize();
     _powerReceiver       = Owner.GetComponent <PowerReceiverComponent>();
     _container           = ContainerManagerComponent.Ensure <ContainerSlot>($"{Name}-powerCellContainer", Owner);
     _appearanceComponent = Owner.GetComponent <AppearanceComponent>();
     // Default state in the visualizer is OFF, so when this gets powered on during initialization it will generally show empty
     _powerReceiver.OnPowerStateChanged += PowerUpdate;
 }
        public override void Initialize()
        {
            base.Initialize();

            _userInterface = Owner.GetComponent<ServerUserInterfaceComponent>().GetBoundUserInterface(SolarControlConsoleUiKey.Key);
            _userInterface.OnReceiveMessage += UserInterfaceOnReceiveMessage;
            _powerReceiver = Owner.GetComponent<PowerReceiverComponent>();
            _powerSolarSystem = _entitySystemManager.GetEntitySystem<PowerSolarSystem>();
        }
Ejemplo n.º 6
0
 public override void Initialize()
 {
     base.Initialize();
     _appearance    = Owner.GetComponent <AppearanceComponent>();
     _userInterface = Owner.GetComponent <ServerUserInterfaceComponent>()
                      .GetBoundUserInterface(MedicalScannerUiKey.Key);
     _bodyContainer = ContainerManagerComponent.Ensure <ContainerSlot>($"{Name}-bodyContainer", Owner);
     _powerReceiver = Owner.GetComponent <PowerReceiverComponent>();
     UpdateUserInterface();
 }
 public override void Initialize()
 {
     base.Initialize();
     _appearance    = Owner.GetComponent <AppearanceComponent>();
     _userInterface = Owner.GetComponent <ServerUserInterfaceComponent>()
                      .GetBoundUserInterface(VendingMachineUiKey.Key);
     _userInterface.OnReceiveMessage += UserInterfaceOnOnReceiveMessage;
     _powerReceiver = Owner.GetComponent <PowerReceiverComponent>();
     _powerReceiver.OnPowerStateChanged += UpdatePower;
     TrySetVisualState(_powerReceiver.Powered ? VendingMachineVisualState.Normal : VendingMachineVisualState.Off);
     InitializeFromPrototype();
 }
Ejemplo n.º 8
0
        public override void Initialize()
        {
            base.Initialize();

            _userInterface = Owner.GetComponent <ServerUserInterfaceComponent>().GetBoundUserInterface(CommunicationsConsoleUiKey.Key);
            _userInterface.OnReceiveMessage += UserInterfaceOnOnReceiveMessage;
            _powerReceiver = Owner.GetComponent <PowerReceiverComponent>();

            RoundEndSystem.OnRoundEndCountdownStarted   += UpdateBoundInterface;
            RoundEndSystem.OnRoundEndCountdownCancelled += UpdateBoundInterface;
            RoundEndSystem.OnRoundEndCountdownFinished  += UpdateBoundInterface;
        }
Ejemplo n.º 9
0
        public override void Initialize()
        {
            base.Initialize();

            _userInterface = Owner.GetComponent <ServerUserInterfaceComponent>()
                             .GetBoundUserInterface(GravityGeneratorUiKey.Key);
            _userInterface.OnReceiveMessage += HandleUIMessage;
            _powerReceiver = Owner.GetComponent <PowerReceiverComponent>();
            _sprite        = Owner.GetComponent <SpriteComponent>();
            _switchedOn    = true;
            _intact        = true;
            _status        = GravityGeneratorStatus.On;
            UpdateState();
        }
Ejemplo n.º 10
0
        /// <summary>
        /// Called once per instance of this component. Gets references to any other components needed
        /// by this component and initializes it's UI and other data.
        /// </summary>
        public override void Initialize()
        {
            base.Initialize();
            _userInterface = Owner.GetComponent <ServerUserInterfaceComponent>()
                             .GetBoundUserInterface(ReagentDispenserUiKey.Key);
            _userInterface.OnReceiveMessage += OnUiReceiveMessage;

            _beakerContainer =
                ContainerManagerComponent.Ensure <ContainerSlot>($"{Name}-reagentContainerContainer", Owner);
            _powerReceiver = Owner.GetComponent <PowerReceiverComponent>();

            InitializeFromPrototype();
            UpdateUserInterface();
        }
Ejemplo n.º 11
0
        public override void Initialize()
        {
            base.Initialize();
            _solution ??= Owner.TryGetComponent(out SolutionComponent solutionComponent)
                ? solutionComponent
                : Owner.AddComponent <SolutionComponent>();

            _storage       = ContainerManagerComponent.Ensure <Container>("microwave_entity_container", Owner, out var existed);
            _appearance    = Owner.GetComponent <AppearanceComponent>();
            _powerReceiver = Owner.GetComponent <PowerReceiverComponent>();
            _audioSystem   = EntitySystem.Get <AudioSystem>();
            _userInterface = Owner.GetComponent <ServerUserInterfaceComponent>()
                             .GetBoundUserInterface(MicrowaveUiKey.Key);
            _userInterface.OnReceiveMessage += UserInterfaceOnReceiveMessage;
        }
        /// <summary>
        /// Called once per instance of this component. Gets references to any other components needed
        /// by this component and initializes it's UI and other data.
        /// </summary>
        public override void Initialize()
        {
            base.Initialize();
            _userInterface = Owner.GetComponent <ServerUserInterfaceComponent>()
                             .GetBoundUserInterface(ChemMasterUiKey.Key);
            _userInterface.OnReceiveMessage += OnUiReceiveMessage;

            _beakerContainer =
                ContainerManagerComponent.Ensure <ContainerSlot>($"{Name}-reagentContainerContainer", Owner);
            _powerReceiver = Owner.GetComponent <PowerReceiverComponent>();

            //BufferSolution = Owner.BufferSolution
            BufferSolution.Solution  = new Solution();
            BufferSolution.MaxVolume = ReagentUnit.New(1000);

            UpdateUserInterface();
        }
 private bool TryGetWireNet(PowerReceiverComponent powerReceiver, out INodeGroup net)
 {
     if (powerReceiver.Provider is PowerProviderComponent && powerReceiver.Provider.ProviderOwner.TryGetComponent <NodeContainerComponent>(out var nodeContainer))
     {
         var nodes = nodeContainer.Nodes;
         for (var index = 0; index < nodes.Count; index++)
         {
             if (nodes[index].NodeGroupID == NodeGroupID.WireNet)
             {
                 net = nodes[index].NodeGroup;
                 return(true);
             }
         }
     }
     net = default;
     return(false);
 }
Ejemplo n.º 14
0
        public async Task ApcNetTest()
        {
            var options = new ServerIntegrationOptions {
                ExtraPrototypes = Prototypes
            };
            var server = StartServerDummyTicker(options);

            PowerReceiverComponent receiver = null;

            server.Assert(() =>
            {
                var mapMan    = IoCManager.Resolve <IMapManager>();
                var entityMan = IoCManager.Resolve <IEntityManager>();
                mapMan.CreateMap(new MapId(1));
                var grid = mapMan.CreateGrid(new MapId(1));

                var apcEnt           = entityMan.SpawnEntity("ApcDummy", grid.ToCoordinates(0, 0));
                var apcExtensionEnt  = entityMan.SpawnEntity("ApcExtensionCableDummy", grid.ToCoordinates(0, 1));
                var powerReceiverEnt = entityMan.SpawnEntity("PowerReceiverDummy", grid.ToCoordinates(0, 2));

                Assert.That(apcEnt.TryGetComponent <ApcComponent>(out var apc));
                Assert.That(apcExtensionEnt.TryGetComponent <PowerProviderComponent>(out var provider));
                Assert.That(powerReceiverEnt.TryGetComponent(out receiver));
                Assert.NotNull(apc.Battery);

                provider.PowerTransferRange  = 5;                  //arbitrary range to reach receiver
                receiver.PowerReceptionRange = 5;                  //arbitrary range to reach provider

                apc.Battery.MaxCharge     = 10000;                 //arbitrary nonzero amount of charge
                apc.Battery.CurrentCharge = apc.Battery.MaxCharge; //fill battery

                receiver.Load = 1;                                 //arbitrary small amount of power
            });

            server.RunTicks(1); //let run a tick for ApcNet to process power

            server.Assert(() =>
            {
                Assert.That(receiver.Powered);
            });

            await server.WaitIdleAsync();
        }
        private bool TryGetWireNet(PowerReceiverComponent powerReceiver, [NotNullWhen(true)] out INodeGroup?net)
        {
            if (powerReceiver.Provider is PowerProviderComponent provider &&
                provider.ProviderOwner.TryGetComponent <NodeContainerComponent>(out var nodeContainer))
            {
                var nodes = nodeContainer.Nodes;

                foreach (var node in nodes.Values)
                {
                    if (node.NodeGroupID == NodeGroupID.WireNet)
                    {
                        net = node.NodeGroup;
                        return(true);
                    }
                }
            }

            net = default;
            return(false);
        }