private void OnToggleAction(EntityUid uid, UnpoweredFlashlightComponent component, ToggleActionEvent args)
        {
            if (args.Handled)
            {
                return;
            }

            ToggleLight(component);

            args.Handled = true;
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        public void ToggleLight(UnpoweredFlashlightComponent flashlight)
        {
            if (!EntityManager.TryGetComponent(flashlight.Owner, out PointLightComponent? light))
            {
                return;
            }

            flashlight.LightOn = !flashlight.LightOn;
            light.Enabled      = flashlight.LightOn;

            if (EntityManager.TryGetComponent(flashlight.Owner, out AppearanceComponent? appearance))
            {
                appearance.SetData(UnpoweredFlashlightVisuals.LightOn, flashlight.LightOn);
            }

            SoundSystem.Play(Filter.Pvs(light.Owner), flashlight.ToggleSound.GetSound(), flashlight.Owner);

            RaiseLocalEvent(flashlight.Owner, new LightToggleEvent(flashlight.LightOn));
        }
 private void OnGetActions(EntityUid uid, UnpoweredFlashlightComponent component, GetItemActionsEvent args)
 {
     args.Actions.Add(component.ToggleAction);
 }