Ejemplo n.º 1
0
    private void OnRemoved(EntityUid uid, ChargerComponent component, EntRemovedFromContainerMessage args)
    {
        if (args.Container.ID != component.ChargerSlot.ID)
        {
            return;
        }

        component.UpdateStatus();
    }
Ejemplo n.º 2
0
    private void OnCellRemoved(EntityUid uid, PowerCellSlotComponent component, EntRemovedFromContainerMessage args)
    {
        if (args.Container.ID != component.CellSlot.ID)
        {
            return;
        }

        RaiseLocalEvent(uid, new PowerCellChangedEvent(true), false);
    }
        private static void HandleEntityRemovedFromContainer(EntRemovedFromContainerMessage message)
        {
            var oldParentEntity = message.Container.Owner;

            if (oldParentEntity.TryGetComponent(out ServerStorageComponent storageComp))
            {
                storageComp.HandleEntityMaybeRemoved(message);
            }
        }
Ejemplo n.º 4
0
 private void MapperEntityRemoved(EntityUid uid, ItemMapperComponent itemMapper,
                                  EntRemovedFromContainerMessage args)
 {
     if (EntityManager.TryGetComponent(itemMapper.Owner, out AppearanceComponent? appearanceComponent) &&
         TryGetLayers(args, itemMapper, out var containedLayers))
     {
         appearanceComponent.SetData(StorageMapVisuals.LayerChanged, new ShowLayerData(containedLayers));
     }
 }
Ejemplo n.º 5
0
 private void HandleEntityRemoved(EntityUid uid, ItemCounterComponent itemCounter,
                                  EntRemovedFromContainerMessage args)
 {
     if (itemCounter.Owner.TryGetComponent(out SharedAppearanceComponent? appearanceComponent) &&
         TryGetContainer(args, itemCounter, out var containedLayers))
     {
         appearanceComponent.SetData(StorageMapVisuals.LayerChanged, new ShowLayerData(containedLayers));
     }
 }
Ejemplo n.º 6
0
        protected virtual void OnItemRemoved(EntityUid uid, PDAComponent pda, EntRemovedFromContainerMessage args)
        {
            if (args.Container.ID == pda.IdSlot.ID)
            {
                pda.ContainedID = null;
            }

            UpdatePDAAppearance(pda);
        }
Ejemplo n.º 7
0
        private void OnItemRemoved(EntityUid uid, PDAComponent pda, EntRemovedFromContainerMessage args)
        {
            if (args.Container.ID == pda.IdSlot.ID)
            {
                pda.ContainedID = null;
            }

            UpdatePDAAppearance(pda);
            UpdatePDAUserInterface(pda);
        }
Ejemplo n.º 8
0
        /// <summary>
        /// Turn off the engine when key is removed.
        /// </summary>
        private void OnEntRemoved(EntityUid uid, VehicleComponent component, EntRemovedFromContainerMessage args)
        {
            RemComp <InVehicleComponent>(args.Entity);

            if (_tagSystem.HasTag(args.Entity, "VehicleKey"))
            {
                component.HasKey = false;
                _ambientSound.SetAmbience(uid, false);
            }
        }
Ejemplo n.º 9
0
        internal void HandleEntityMaybeRemoved(EntRemovedFromContainerMessage message)
        {
            if (message.Container != storage)
            {
                return;
            }

            _ensureInitialCalculated();
            Logger.DebugS("Storage", "Storage (UID {0}) had entity (UID {1}) removed from it.", Owner.Uid,
                          message.Entity.Uid);
            StorageUsed -= message.Entity.GetComponent <StoreableComponent>().ObjectSize;
            UpdateClientInventories();
        }
Ejemplo n.º 10
0
        /// <summary>
        /// Turn off the engine when key is removed.
        /// </summary>
        private void OnEntRemoved(EntityUid uid, VehicleComponent component, EntRemovedFromContainerMessage args)
        {
            if (args.Container.ID != KeySlot || !RemComp <InVehicleComponent>(args.Entity))
            {
                return;
            }

            // Disable vehicle
            component.HasKey = false;
            _ambientSound.SetAmbience(uid, false);
            _tagSystem.RemoveTag(uid, "DoorBumpOpener");
            _modifier.RefreshMovementSpeedModifiers(uid);
        }
    private void OnEntRemoved(EntityUid uid, InventoryComponent component, EntRemovedFromContainerMessage args)
    {
        if (!TryGetSlot(uid, args.Container.ID, out var slotDef, inventory: component))
        {
            return;
        }

        var unequippedEvent = new DidUnequipEvent(uid, args.Entity, slotDef);

        RaiseLocalEvent(uid, unequippedEvent);

        var gotUnequippedEvent = new GotUnequippedEvent(uid, args.Entity, slotDef);

        RaiseLocalEvent(args.Entity, gotUnequippedEvent);
    }
Ejemplo n.º 12
0
    private void OnEntityRemoved(EntityUid uid, PayloadCaseComponent component, EntRemovedFromContainerMessage args)
    {
        if (!TryComp(args.Entity, out PayloadTriggerComponent? trigger))
        {
            return;
        }

        trigger.Active = false;

        foreach (var type in trigger.GrantedComponents)
        {
            EntityManager.RemoveComponent(uid, type);
        }

        trigger.GrantedComponents.Clear();
    }
Ejemplo n.º 13
0
        private void CounterEntityRemoved(EntityUid uid, ItemCounterComponent itemCounter,
                                          EntRemovedFromContainerMessage args)
        {
            if (!EntityManager.TryGetComponent(itemCounter.Owner, out AppearanceComponent? appearanceComponent))
            {
                return;
            }

            var count = GetCount(args, itemCounter);

            if (count == null)
            {
                return;
            }

            appearanceComponent.SetData(StackVisuals.Actual, count);
            if (itemCounter.MaxAmount != null)
            {
                appearanceComponent.SetData(StackVisuals.MaxCount, itemCounter.MaxAmount);
            }
        }
        public void HandleEntityMaybeRemoved(EntRemovedFromContainerMessage message)
        {
            if (message.Container != _storage)
            {
                return;
            }

            EnsureInitialCalculated();

            Logger.DebugS(LoggerName, $"Storage (UID {Owner.Uid}) had entity (UID {message.Entity.Uid}) removed from it.");

            if (!message.Entity.TryGetComponent(out StorableComponent storable))
            {
                Logger.WarningS(LoggerName, $"Removed entity {message.Entity.Uid} without a StorableComponent from storage {Owner.Uid} at {Owner.Transform.MapPosition}");

                RecalculateStorageUsed();
                return;
            }

            _storageUsed -= storable.ObjectSize;

            UpdateClientInventories();
        }
 private void OnRemoved(EntityUid uid, StorageFillVisualizerComponent component, EntRemovedFromContainerMessage args)
 {
     UpdateAppearance(uid, component: component);
 }
Ejemplo n.º 16
0
 protected override void OnItemRemoved(EntityUid uid, PDAComponent pda, EntRemovedFromContainerMessage args)
 {
     base.OnItemRemoved(uid, pda, args);
     UpdatePDAUserInterface(pda);
 }
Ejemplo n.º 17
0
 private void OnStorageItemRemoved(EntityUid uid, ServerStorageComponent storageComp, EntRemovedFromContainerMessage args)
 {
     RecalculateStorageUsed(storageComp);
     UpdateStorageUI(uid, storageComp);
 }
Ejemplo n.º 18
0
 private static void HandleRemovedFromContainer(EntityUid uid, HumanInventoryControllerComponent component, EntRemovedFromContainerMessage args)
 {
     component.CheckUniformExists();
 }
Ejemplo n.º 19
0
    private void OnRevolverEntRemove(EntityUid uid, RevolverAmmoProviderComponent component, EntRemovedFromContainerMessage args)
    {
        if (args.Container.ID != RevolverContainer)
        {
            return;
        }

        // See ChamberMagazineAmmoProvider
        if (!args.Entity.IsClientSide())
        {
            return;
        }

        QueueDel(args.Entity);
    }
        private void OnCanisterContainerRemoved(EntityUid uid, GasCanisterComponent component, EntRemovedFromContainerMessage args)
        {
            if (args.Container.ID != component.ContainerName)
            {
                return;
            }

            DirtyUI(uid);

            if (!ComponentManager.TryGetComponent(uid, out NodeContainerComponent? nodeContainer) ||
                !nodeContainer.TryGetNode(component.TankName, out PipeNode? tankNode))
            {
                return;
            }

            tankNode.NodeGroup.RemakeGroup();
            tankNode.ConnectToContainedEntities = false;
            tankNode.EnvironmentalAir           = true;

            if (!ComponentManager.TryGetComponent(uid, out AppearanceComponent? appearance))
            {
                return;
            }

            appearance.SetData(GasCanisterVisuals.TankInserted, false);
        }
Ejemplo n.º 21
0
    private void OnRemoved(EntityUid uid, SuppressArtifactContainerComponent component, EntRemovedFromContainerMessage args)
    {
        if (!TryComp(args.Entity, out ArtifactComponent? artifact))
        {
            return;
        }

        artifact.IsSuppressed = false;
    }
Ejemplo n.º 22
0
        private void OnCanisterContainerRemoved(EntityUid uid, GasCanisterComponent component, EntRemovedFromContainerMessage args)
        {
            if (args.Container.ID != component.ContainerName)
            {
                return;
            }

            DirtyUI(uid);

            if (!ComponentManager.TryGetComponent(uid, out AppearanceComponent? appearance))
            {
                return;
            }

            appearance.SetData(GasCanisterVisuals.TankInserted, false);
        }
 private void OnRemovedFromContainer(EntityUid uid, ResistLockerComponent component, EntRemovedFromContainerMessage message)
 {
     component.CancelToken?.Cancel();
 }
Ejemplo n.º 24
0
 private void HandleEntityRemoved(EntityUid uid, SharedHandsComponent component, EntRemovedFromContainerMessage args)
 {
     if (!Deleted(args.Entity) && TryComp(args.Entity, out HandVirtualItemComponent? @virtual))
     {
         _virtualSystem.Delete(@virtual, uid);
     }
 }
Ejemplo n.º 25
0
 private static void HandleInvRemovedFromContainer(EntityUid uid, InventoryComponent component, EntRemovedFromContainerMessage args)
 {
     component.ForceUnequip(args.Container, args.Entity);
 }
Ejemplo n.º 26
0
 private void OnEntRemoved(EntityUid uid, AntiRottingContainerComponent component, EntRemovedFromContainerMessage args)
 {
     if (TryComp <PerishableComponent>(args.Entity, out var perishable))
     {
         ModifyPreservationSource(args.Entity, false);
         ToggleDecomposition(args.Entity, true, perishable);
     }
 }
Ejemplo n.º 27
0
    private void OnChamberEntRemove(EntityUid uid, ChamberMagazineAmmoProviderComponent component, EntRemovedFromContainerMessage args)
    {
        if (args.Container.ID != ChamberSlot)
        {
            return;
        }

        // This is dirty af. Prediction moment.
        // We may be predicting spawning entities and the engine just removes them from the container so we'll just delete them.
        if (args.Entity.IsClientSide())
        {
            QueueDel(args.Entity);
        }

        // AFAIK the only main alternative is having some client-specific handling via a bool or otherwise for the state.
        // which is much larger and I'm not sure how much better it is. It's bad enough we have to do it with revolvers
        // to avoid 6-7 additional entity spawns.
    }