private void AddToggleVerb(EntityUid uid, MagbootsComponent component, GetActivationVerbsEvent args) { if (!args.CanAccess || !args.CanInteract) return; Verb verb = new(); verb.Text = Loc.GetString("toggle-magboots-verb-get-data-text"); verb.Act = () => component.On = !component.On; // TODO VERB ICON add toggle icon? maybe a computer on/off symbol? args.Verbs.Add(verb); }
private void AddOpenUIVerb(EntityUid uid, GasTankComponent component, GetActivationVerbsEvent args) { if (!args.CanAccess || !EntityManager.TryGetComponent <ActorComponent?>(args.User, out var actor)) { return; } Verb verb = new(); verb.Act = () => component.OpenInterface(actor.PlayerSession); verb.Text = Loc.GetString("control-verb-open-control-panel-text"); // TODO VERBS add "open UI" icon? args.Verbs.Add(verb); }
private void AddWipeVerb(EntityUid uid, PAIComponent pai, GetActivationVerbsEvent args) { if (args.User == null || !args.CanAccess || !args.CanInteract) { return; } if (EntityManager.TryGetComponent <MindComponent>(uid, out var mind) && mind.HasMind) { Verb verb = new(); verb.Text = Loc.GetString("pai-system-wipe-device-verb-text"); verb.Act = () => { if (pai.Deleted) { return; } // Wiping device :( // The shutdown of the Mind should cause automatic reset of the pAI during OnMindRemoved // EDIT: But it doesn't!!!! Wtf? Do stuff manually if (EntityManager.HasComponent <MindComponent>(uid)) { EntityManager.RemoveComponent <MindComponent>(uid); _popupSystem.PopupEntity(Loc.GetString("pai-system-wiped-device"), uid, Filter.Entities(args.User)); PAITurningOff(uid); } }; args.Verbs.Add(verb); } else if (EntityManager.HasComponent <GhostTakeoverAvailableComponent>(uid)) { Verb verb = new(); verb.Text = Loc.GetString("pai-system-stop-searching-verb-text"); verb.Act = () => { if (pai.Deleted) { return; } if (EntityManager.HasComponent <GhostTakeoverAvailableComponent>(uid)) { EntityManager.RemoveComponent <GhostTakeoverAvailableComponent>(uid); _popupSystem.PopupEntity(Loc.GetString("pai-system-stopped-searching"), uid, Filter.Entities(args.User)); PAITurningOff(uid); } }; args.Verbs.Add(verb); } }
/// <summary> /// Add a verb that allows the player to start playing a tabletop game. /// </summary> private void AddPlayGameVerb(EntityUid uid, TabletopGameComponent component, GetActivationVerbsEvent args) { if (!args.CanAccess || !args.CanInteract) { return; } if (!EntityManager.TryGetComponent <ActorComponent?>(args.User, out var actor)) { return; } Verb verb = new(); verb.Text = Loc.GetString("tabletop-verb-play-game"); verb.IconTexture = "/Textures/Interface/VerbIcons/die.svg.192dpi.png"; verb.Act = () => OpenSessionFor(actor.PlayerSession, uid); args.Verbs.Add(verb); }
private void AddToggleOpenVerb(EntityUid uid, ItemCabinetComponent cabinet, GetActivationVerbsEvent args) { if (args.Hands == null || !args.CanAccess || !args.CanInteract) { return; } // Toggle open verb Verb toggleVerb = new(); toggleVerb.Act = () => ToggleItemCabinet(uid, cabinet); if (cabinet.Opened) { toggleVerb.Text = Loc.GetString("verb-common-close"); toggleVerb.IconTexture = "/Textures/Interface/VerbIcons/close.svg.192dpi.png"; } else { toggleVerb.Text = Loc.GetString("verb-common-open"); toggleVerb.IconTexture = "/Textures/Interface/VerbIcons/open.svg.192dpi.png"; } args.Verbs.Add(toggleVerb); }
private void AddToggleLightVerbs(EntityUid uid, UnpoweredFlashlightComponent component, GetActivationVerbsEvent args) { if (!args.CanAccess || !args.CanInteract) { return; } Verb verb = new(); verb.Text = Loc.GetString("toggle-flashlight-verb-get-data-text"); verb.IconTexture = "/Textures/Interface/VerbIcons/light.svg.192dpi.png"; verb.Act = () => ToggleLight(component); verb.Priority = -1; // For things like PDA's, Open-UI and other verbs that should be higher priority. args.Verbs.Add(verb); }
private void AddIgniteVerb(EntityUid uid, ExpendableLightComponent component, GetActivationVerbsEvent args) { if (!args.CanAccess || !args.CanInteract) { return; } if (component.CurrentState != ExpendableLightState.BrandNew) { return; } // Ignite the flare or make the glowstick glow. // Also hot damn, those are some shitty glowsticks, we need to get a refund. Verb verb = new(); verb.Text = Loc.GetString("expendable-light-start-verb"); verb.IconTexture = "/Textures/Interface/VerbIcons/light.svg.192dpi.png"; verb.Act = () => component.TryActivate(); args.Verbs.Add(verb); }