protected override void GetData(IEntity user, CanSpillComponent component, VerbData data) { if (!ActionBlockerSystem.CanInteract(user) || !component.Owner.TryGetComponent(out SolutionComponent solutionComponent)) { data.Visibility = VerbVisibility.Invisible; return; } data.Text = Loc.GetString("Spill liquid"); data.Visibility = solutionComponent.CurrentVolume > ReagentUnit.Zero ? VerbVisibility.Visible : VerbVisibility.Disabled; }
protected override void GetData(IEntity user, DisposalUnitComponent component, VerbData data) { data.Visibility = VerbVisibility.Invisible; if (!ActionBlockerSystem.CanInteract(user) || component.ContainedEntities.Contains(user)) { return; } data.Visibility = VerbVisibility.Visible; data.Text = Loc.GetString("Flush"); }
protected override void GetData(IEntity user, CanSpillComponent component, VerbData data) { if (!component.Owner.TryGetComponent(out SolutionComponent solutionComponent)) { data.Visibility = VerbVisibility.Invisible; return; } data.Text = "Spill liquid"; data.Visibility = solutionComponent.CurrentVolume > ReagentUnit.Zero ? VerbVisibility.Visible : VerbVisibility.Disabled; }
protected override void GetData(IEntity user, AmmoBoxComponent component, VerbData data) { if (!ActionBlockerSystem.CanInteract(user)) { data.Visibility = VerbVisibility.Invisible; return; } data.Text = Loc.GetString("Dump 10"); data.Visibility = component.AmmoLeft > 0 ? VerbVisibility.Visible : VerbVisibility.Disabled; }
protected override void GetData(IEntity user, DisposalUnitComponent component, VerbData data) { data.Visibility = VerbVisibility.Invisible; if (!ActionBlockerSystem.CanInteract(user) || component.ContainedEntities.Contains(user)) { return; } data.Visibility = VerbVisibility.Visible; data.Text = Loc.GetString("Flush"); data.IconTexture = "/Textures/Interface/VerbIcons/eject.svg.192dpi.png"; }
protected override void GetData(IEntity user, GasTankComponent component, VerbData data) { data.Visibility = VerbVisibility.Invisible; if (!user.HasComponent <IActorComponent>()) { return; } data.Visibility = VerbVisibility.Visible; data.Text = "Open Control Panel"; }
protected override void GetData(IEntity user, IDisposalTubeComponent component, VerbData data) { data.Text = Loc.GetString("tube-direction-verb-get-data-text"); data.CategoryData = VerbCategories.Debug; data.Visibility = VerbVisibility.Invisible; var groupController = IoCManager.Resolve <IConGroupController>(); if (user.TryGetComponent <ActorComponent>(out var player)) { if (groupController.CanCommand(player.PlayerSession, "tubeconnections")) { data.Visibility = VerbVisibility.Visible; } } }
protected override void GetData(IEntity user, ConstructionComponent component, VerbData data) { if (!EntitySystem.Get <ActionBlockerSystem>().CanInteract(user)) { data.Visibility = VerbVisibility.Invisible; return; } if (((component.Target != null) && (component.Target.Name == component.DeconstructionNodeIdentifier)) || ((component.Node != null) && (component.Node.Name == component.DeconstructionNodeIdentifier))) { data.Visibility = VerbVisibility.Invisible; return; } data.CategoryData = VerbCategories.Construction; data.Text = Loc.GetString("deconstructible-verb-get-data-text"); data.IconTexture = "/Textures/Interface/VerbIcons/rotate_ccw.svg.192dpi.png"; }
protected override void GetData(IEntity user, InventoryComponent component, VerbData data) { data.Visibility = VerbVisibility.Invisible; if (!CanCommand(user)) { return; } data.Visibility = VerbVisibility.Visible; data.Text = Loc.GetString("Set Outfit"); data.CategoryData = VerbCategories.Debug; }
protected override void GetData(IEntity user, RevolverBarrelComponent component, VerbData data) { if (!ActionBlockerSystem.CanInteract(user)) { data.Visibility = VerbVisibility.Invisible; return; } data.Text = Loc.GetString("Spin"); if (component.Capacity <= 1) { data.Visibility = VerbVisibility.Invisible; return; } data.Visibility = component.ShotsLeft > 0 ? VerbVisibility.Visible : VerbVisibility.Disabled; }
protected override void GetData(IEntity user, HandheldLightComponent component, VerbData data) { if (!ActionBlockerSystem.CanInteract(user)) { data.Visibility = VerbVisibility.Invisible; return; } data.Text = Loc.GetString("Toggle light"); }
protected override void GetData(IEntity user, CuffableComponent component, VerbData data) { if ((user != component.Owner && !ActionBlockerSystem.CanInteract(user)) || component.CuffedHandCount == 0) { data.Visibility = VerbVisibility.Invisible; return; } data.Text = Loc.GetString("Uncuff"); }
protected override void GetData(IEntity user, MedicalScannerComponent component, VerbData data) { if (!ActionBlockerSystem.CanInteract(user)) { data.Visibility = VerbVisibility.Invisible; return; } data.Text = Loc.GetString("Eject"); data.Visibility = component.IsOccupied ? VerbVisibility.Visible : VerbVisibility.Invisible; }
protected override void GetData(IEntity user, BallisticMagazineWeaponComponent component, VerbData data) { if (component.Magazine == null) { data.Text = "Eject magazine (magazine missing)"; data.Visibility = VerbVisibility.Disabled; return; } data.Text = "Eject magazine"; }
protected override void GetData(IEntity user, StrippableComponent component, VerbData data) { if (!component.CanBeStripped(user)) { data.Visibility = VerbVisibility.Invisible; return; } data.Visibility = VerbVisibility.Visible; data.Text = Loc.GetString("Strip"); }
protected override void GetData(IEntity user, HandheldLightComponent component, VerbData data) { if (!ActionBlockerSystem.CanInteract(user)) { data.Visibility = VerbVisibility.Invisible; return; } if (component.Cell == null) { data.Text = "Eject cell (cell missing)"; data.Visibility = VerbVisibility.Disabled; } else { data.Text = "Eject cell"; } }
protected override void GetData(IEntity user, BodyBagEntityStorageComponent component, VerbData data) { if (!EntitySystem.Get <ActionBlockerSystem>().CanInteract(user) || component.LabelContainer?.ContainedEntity == null) { data.Visibility = VerbVisibility.Invisible; return; } data.Text = Loc.GetString("remove-label-verb-get-data-text"); }
protected override void GetData(IEntity user, DisposalTaggerComponent component, VerbData data) { var groupController = IoCManager.Resolve <IConGroupController>(); if (!user.TryGetComponent(out IActorComponent? actor) || !groupController.CanAdminMenu(actor.playerSession)) { data.Visibility = VerbVisibility.Invisible; return; } data.Text = Loc.GetString("Open Configuration"); data.IconTexture = "/Textures/Interface/VerbIcons/settings.svg.192dpi.png"; }
protected override void GetData(IEntity user, BodyPartComponent component, VerbData data) { data.Visibility = VerbVisibility.Invisible; if (user == component.Owner) { return; } if (!user.TryGetComponent(out IActorComponent? actor)) { return; } var groupController = IoCManager.Resolve <IConGroupController>(); if (!groupController.CanCommand(actor.playerSession, "attachbodypart")) { return; } if (!user.TryGetComponent(out IBody? body)) { return; } if (body.HasPart(component)) { return; } data.Visibility = VerbVisibility.Visible; data.Text = Loc.GetString("Attach Body Part"); }
protected override void GetData(IEntity user, PowerCellSlotComponent component, VerbData data) { if (!component.ShowVerb || !ActionBlockerSystem.CanInteract(user)) { data.Visibility = VerbVisibility.Invisible; return; } if (component.Cell == null) { data.Text = Loc.GetString("No cell"); data.Visibility = VerbVisibility.Disabled; } else { data.Text = Loc.GetString("Eject cell"); data.IconTexture = "/Textures/Interface/VerbIcons/eject.svg.192dpi.png"; } if (component.Cell == null || !component.CanRemoveCell) { data.Visibility = VerbVisibility.Disabled; } }
protected override void GetData(IEntity user, ServerBatteryBarrelComponent component, VerbData data) { if (!ActionBlockerSystem.CanInteract(user) || !component._powerCellRemovable) { data.Visibility = VerbVisibility.Invisible; return; } if (component.PowerCell == null) { data.Text = Loc.GetString("Eject cell (cell missing)"); data.Visibility = VerbVisibility.Disabled; } else { data.Text = Loc.GetString("Eject cell"); } }
protected override void GetData(IEntity user, InventoryComponent component, VerbData data) { data.Visibility = VerbVisibility.Invisible; if (!CanCommand(user)) { return; } data.Visibility = VerbVisibility.Visible; data.Text = Loc.GetString("Set Outfit"); data.CategoryData = VerbCategories.Debug; data.IconTexture = "/Textures/Interface/VerbIcons/outfit.svg.192dpi.png"; }
protected override void GetData(IEntity user, ServerMagazineBarrelComponent component, VerbData data) { if (!ActionBlockerSystem.CanInteract(user)) { data.Visibility = VerbVisibility.Invisible; return; } data.Text = Loc.GetString("Close bolt"); data.Visibility = component.BoltOpen ? VerbVisibility.Visible : VerbVisibility.Disabled; }
protected override void GetData(IEntity user, ServerBatteryBarrelComponent component, VerbData data) { if (!EntitySystem.Get <ActionBlockerSystem>().CanInteract(user) || !component._powerCellRemovable) { data.Visibility = VerbVisibility.Invisible; return; } if (component.PowerCell == null) { data.Text = Loc.GetString("eject-cell-verb-get-data-text-no-cell"); data.Visibility = VerbVisibility.Disabled; } else { data.Text = Loc.GetString("eject-cell-verb-get-data-text"); data.IconTexture = "/Textures/Interface/VerbIcons/eject.svg.192dpi.png"; } }
protected override void GetData(IEntity user, DisposalRouterComponent component, VerbData data) { var session = user.PlayerSession(); var groupController = IoCManager.Resolve <IConGroupController>(); if (session == null || !groupController.CanAdminMenu(session)) { data.Visibility = VerbVisibility.Invisible; return; } data.Text = Loc.GetString("Open Configuration"); data.IconTexture = "/Textures/Interface/VerbIcons/settings.svg.96dpi.png"; }
protected override void GetData(IEntity user, ReagentDispenserComponent component, VerbData data) { if (!ActionBlockerSystem.CanInteract(user)) { data.Visibility = VerbVisibility.Invisible; return; } data.Text = Loc.GetString("Eject Beaker"); data.Visibility = component.HasBeaker ? VerbVisibility.Visible : VerbVisibility.Invisible; }
protected override void GetData(IEntity user, PowerCellSlotComponent component, VerbData data) { if (!component.ShowVerb || !ActionBlockerSystem.CanInteract(user)) { data.Visibility = VerbVisibility.Invisible; return; } if (component.Cell == null) { data.Text = Loc.GetString("Eject cell (cell missing)"); } else { data.Text = Loc.GetString("Eject cell"); } if (component.Cell == null || !component.CanRemoveCell) { data.Visibility = VerbVisibility.Disabled; } }
protected override void GetData(IEntity user, IdCardConsoleComponent component, VerbData data) { if (!EntitySystem.Get <ActionBlockerSystem>().CanInteract(user)) { data.Visibility = VerbVisibility.Invisible; return; } data.Text = Loc.GetString("access-eject-target-id-verb-get-data-text"); data.Visibility = component.TargetIDEmpty ? VerbVisibility.Invisible : VerbVisibility.Visible; data.IconTexture = "/Textures/Interface/VerbIcons/eject.svg.192dpi.png"; }
protected override void GetData(IEntity user, ExpendableLightComponent component, VerbData data) { if (!ActionBlockerSystem.CanInteract(user)) { data.Visibility = VerbVisibility.Invisible; return; } if (component.CurrentState == ExpendableLightState.BrandNew) { data.Text = "Activate"; data.Visibility = VerbVisibility.Visible; } else { data.Visibility = VerbVisibility.Invisible; } }
protected override void GetData(IEntity user, SolutionContainerComponent component, VerbData data) { if (!ActionBlockerSystem.CanInteract(user) || !user.TryGetComponent <HandsComponent>(out var hands) || hands.GetActiveHand == null || hands.GetActiveHand.Owner == component.Owner || !hands.GetActiveHand.Owner.TryGetComponent <SolutionContainerComponent>(out var solution) || !solution.CanAddSolutions || !component.CanRemoveSolutions) { data.Visibility = VerbVisibility.Invisible; return; } var heldEntityName = hands.GetActiveHand.Owner?.Prototype?.Name ?? "<Item>"; var myName = component.Owner.Prototype?.Name ?? "<Item>"; var locHeldEntityName = Loc.GetString(heldEntityName); var locMyName = Loc.GetString(myName); data.Visibility = VerbVisibility.Visible; data.Text = Loc.GetString("Transfer liquid from [{0}] to [{1}].", locMyName, locHeldEntityName); return; }