예제 #1
0
        //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);
        }
예제 #2
0
        //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()}, ";
        }