public override async Task OnClick() { try { await GameState.SetCurrentWorldByWorldIndex(WorldIndex); UIEvents.ChangeGameText(GameTextId.WorldName, GameState.CurrentWorld.World.Name); var character = GameState.GetCharacterByWorldId(GameState.CurrentWorld.World.Id); if (character == null) { LOG.Log($"Player does not have a character on world: {GameState.CurrentWorld.World.Id}"); await ScreenChangerService.ChangeScreen(ScreenId.CreateCharacter); } else { LOG.Log($"Found Character!"); GameState.CurrentCharacter = character; await ScreenChangerService.ChangeScreen(ScreenId.SelectCharacter); } } catch (System.Exception e) { LOG.Log(e); throw; } }
public override async Task OnClick() { try { if (!CharacterCreationScreenRefresherService.GetHasCharacterTypeSelected()) { return; } var characterType = CharacterCreationScreenRefresherService.GetSelectedCharacterType(); LOG.Log($"Sending a request to create character: {GameState.PlayerName} on {GameState.CurrentWorld.World.Id} and type {characterType}"); var characterData = await NetworkService.RequestCreateCharacter( GameState.PlayerName, GameState.CurrentWorld.World.Id, characterType ); if (characterData != null) { LOG.Log($"Character creation was ok"); GameState.CurrentCharacter = characterData; await ScreenChangerService.ChangeScreen(ScreenId.Area); } } catch (System.Exception e) { LOG.Log(e); throw; } }
public override async Task OnClick() { try { await ScreenChangerService.ChangeScreen(screenId); } catch (System.Exception e) { LOG.Log(e); } }
public override async Task OnClick() { var response = await RegistrationService.TryToRegister(); await Task.Delay(1000); if (response.response == RegisterAccountResponseType.Success) { await ScreenChangerService.ChangeScreen(ScreenId.Login); } }
public static async Task ProcessLoginResponse(LoginResponseData response) { LOG.Log("Processing login response"); if (response.ResponseType == LoginResponseType.Success) { LOG.Log("Log in was success!"); await GameState.RefreshGameStateFromLoginResponse(response); GeneralRefresherService.Refresh(); await ScreenChangerService.ChangeScreen(ScreenId.Universe); } else { LOG.Log($"Log failed {response.ResponseType}"); ShowLoginResponse($"Login failed: {response.ResponseType}"); } }
async void Start() { // MUST BE THE FIRST THING LOG.Log("Setting up all objects"); foreach (var item in Resources.FindObjectsOfTypeAll <SetupMonoBehaviour>()) { item.Setup(); } ScreenChangerService.HideAll(); PanelChangerService.HideAllPanels(); await ScreenChangerService.ChangeScreen(ScreenId.Login); UserInputService.ShouldHandleUserInputs = true; SoundService.PlaySong(SongId.Opening); try { await ConnectToServer(); } catch (Exception e) { LOG.Log(e); } }