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); } }
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); }
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); } }