//method for logging out of current player private void Logout() { if (playerDBID > 0) { SettingsData data = new SettingsData { TypeOfAvatar = SavedDataPlaceholder.CurrentAvatarPicture, UserName = SavedDataPlaceholder.CurrentPlayerName, AmountOfPlayers = SavedDataPlaceholder.SavedAmountOfPlayers, AmountOfJokers = SavedDataPlaceholder.SavedAmountOfJokers, AmountOfDecks = SavedDataPlaceholder.SavedAmountOfDecks, AmountOfStartCards = SavedDataPlaceholder.SavedAmountOfStartCards, PlayedGames = SavedDataPlaceholder.SavedAmountOfPlayedGames, PlayedAndWonGames = SavedDataPlaceholder.SavedAmountOfPlayedAndWonGames, ReadinessTimeoutEnabled = SavedDataPlaceholder.ReadinessTimeoutEnabled, WaitingForPlayersReadinessTimeout = SavedDataPlaceholder.ReadinessTimeoutMinutesAmount, JoiningTimeoutEnabled = SavedDataPlaceholder.JoiningTimeoutEnabled, WaitingForPlayersJoiningTimeout = SavedDataPlaceholder.JoiningTimeoutMinutesAmount, CardsBackColor = SavedDataPlaceholder.CardsBackColor, LocationOfThirdPlayer = SavedDataPlaceholder.LocationOfThirdPlayersCards, }; RealmUserHandler handler = new RealmUserHandler(); handler.UpdatePlayerName(playerDBID, SavedDataPlaceholder.CurrentPlayerName); handler.UpdatePlayerData(data, playerDBID); } playerDBID = 0; menuLogout.IsEnabled = false; //reading saved data at the start of application ReadDataFromSettings(DefaultUserSettings.GetDefaultSettings()); //reload avatar AssignAvatar(SavedDataPlaceholder.CurrentAvatarPicture); }
//constructor public MainWindow() { InitializeComponent(); //seting default user data (ID and login) playerDBID = 0; //inicialize datapleceholders SavedDataPlaceholder = new SavedDataClass(); //variables for logging unhandled exceptions AppDomain currentDomain = default; currentDomain = AppDomain.CurrentDomain; currentDomain.UnhandledException += GlobalUnhandledExceptionHandler; //Synchronization context SynchCont = SynchronizationContext.Current; //NLOG configutation methos string logsLocation = logLocationString + @"MakaoGameLogs" + DateTime.Now.ToString() + ".txt"; NLogConfigMethod(logsLocation); //setting directory of avatars used in game location avatarTempLocation = logLocationString.Substring(0, logLocationString.Length - 5) + @"AvatarsTemp\"; //reading saved data at the start of application ReadDataFromSettings(DefaultUserSettings.GetDefaultSettings()); //Avatar AssignAvatar(SavedDataPlaceholder.CurrentAvatarPicture); //assign background AssignMainWindowBackgroundGraphics(); //generate cliend endpoint Uri thisClientEndpoint = MakaoGameClientServiceAddresObtainer.GetClientServiceEndpoint(); //delete host endpoint - assign null makaoGameHostEndpoint = null; //deleting old logs in new task Task deleteOldLogs = new Task(new Action(DeleteOldLogFiles)); deleteOldLogs.Start(); //subscription of event - the event is fired, when host user deleted the room DataPlaceholder.TheRoomWasDeleted += DataPlaceholder_TheRoomWasDeleted; //subscription for an event of opening new window game command from game host service DataPlaceholder.NewGameStarted += DataPlaceholder_NewGameStarted; //changing status of application (host, client or none) ApplicationStatusChanged += MainWindow_ApplicationStatusChanged; //start client service StartMakaoGameClientService(); //assign rules window as null rulesWindow = null; //assign local IP address of endpoint of this devce UserIPString.Text = $"IP: {MakaoGameClientServiceAddresObtainer.GetLocalIPAddressString()}, "; }