private void OnUseInHand(EntityUid uid, PinpointerComponent component, UseInHandEvent args)
        {
            TogglePinpointer(uid, component);

            // try to find target from whitelist
            if (component.IsActive && component.Whitelist != null)
            {
                var target = FindTargetFromWhitelist(uid, component.Whitelist);
                SetTarget(uid, target, component);
            }
        }
Пример #2
0
        private void HandleCompState(EntityUid uid, PinpointerComponent pinpointer, ref ComponentHandleState args)
        {
            if (args.Current is not PinpointerComponentState state)
            {
                return;
            }
            SetActive(uid, state.IsActive, pinpointer);
            SetDirection(uid, state.DirectionToTarget, pinpointer);
            SetDistance(uid, state.DistanceToTarget, pinpointer);

            UpdateAppearance(uid, pinpointer);
            UpdateEyeDir(uid, pinpointer);
        }
Пример #3
0
        private void OnActivate(EntityUid uid, PinpointerComponent component, ActivateInWorldEvent args)
        {
            TogglePinpointer(uid, component);

            // try to find target from whitelist
            if (component.IsActive && component.Component != null)
            {
                if (!EntityManager.ComponentFactory.TryGetRegistration(component.Component, out var reg))
                {
                    Logger.Error($"Unable to find component registration for {component.Component} for pinpointer!");
                    DebugTools.Assert(false);
                    return;
                }

                var target = FindTargetFromComponent(uid, reg.Type);
                SetTarget(uid, target, component);
            }
        }