Files
ft/CodexOutput/upserver/uloop-exit-production-path.cs

16 lines
1.2 KiB
C#

using asap.core;
if (!UnityEngine.Application.isPlaying) return "Refused: not playing";
var user = GContext.container.Resolve<game.IUserService>();
var api = GContext.container.Resolve<ICustomServerMgr>();
var realtime = GContext.container.Resolve<IRTService>();
if (!user.IsAuthorized || (user.ApiPlayerId != "101" && user.ApiPlayerId != "102"))
return "Refused: not an authorized test account";
var previousId = user.ApiPlayerId;
var previousJar = api.Cookie;
var previousVersion = api.SessionVersion;
var previousConnected = realtime.IsConnected;
game.QuitStage.Logout = true;
await GContext.container.Resolve<IStageService>().SwitchStageAsync("QuitStage");
await System.Threading.Tasks.Task.Delay(3500);
return $"PreviousId={previousId}; WasConnected={previousConnected}; OldUserAuthorized={user.IsAuthorized}; OldInternalId={user.InternalId}; OldUserIdCleared={string.IsNullOrEmpty(user.UserId)}; OldApiPlayerIdCleared={string.IsNullOrEmpty(user.ApiPlayerId)}; CookieJarReplaced={!object.ReferenceEquals(previousJar,api.Cookie)}; NewJarCount={api.Cookie.Count}; SessionAdvanced={api.SessionVersion>previousVersion}; OldHubConnected={realtime.IsConnected}; Scene={UnityEngine.SceneManagement.SceneManager.GetActiveScene().name}";