private void OnGhostWarpToLocationRequest(GhostWarpToLocationRequestEvent msg, EntitySessionEventArgs args) { if (args.SenderSession.AttachedEntity == null || !args.SenderSession.AttachedEntity.TryGetComponent(out GhostComponent? ghost)) { Logger.Warning($"User {args.SenderSession.Name} tried to warp to {msg.Name} without being a ghost."); return; } if (FindLocation(msg.Name) is { } warp) { ghost.Owner.Transform.Coordinates = warp.Owner.Transform.Coordinates; } Logger.Warning($"User {args.SenderSession.Name} tried to warp to an invalid warp: {msg.Name}"); }
private void OnGhostWarpToLocationRequest(GhostWarpToLocationRequestEvent msg, EntitySessionEventArgs args) { if (args.SenderSession.AttachedEntity is not { Valid: true } attached || !EntityManager.TryGetComponent(attached, out GhostComponent? ghost)) { Logger.Warning($"User {args.SenderSession.Name} tried to warp to {msg.Name} without being a ghost."); return; } if (FindLocation(msg.Name) is { } warp) { EntityManager.GetComponent <TransformComponent>(ghost.Owner).Coordinates = EntityManager.GetComponent <TransformComponent>(warp.Owner).Coordinates; } Logger.Warning($"User {args.SenderSession.Name} tried to warp to an invalid warp: {msg.Name}"); }