コード例 #1
0
        //method for sending an avatar image to the host
        private void SendAvatarImageToHost(int playerNumber)
        {
            //sending data with image
            MemoryStream avatarMemoryStream = new MemoryStream();

            byte[] bytes = File.ReadAllBytes(MainWindow.SavedData.CurrentAvatarPicture);
            avatarMemoryStream.Write(bytes, 0, bytes.Length);
            avatarMemoryStream.Position = 0;

            IMakaoGameHostService proxy = factory.CreateChannel();

            //actual sending
            bool success = EngineHostHandler.SendAvatarToHost(avatarMemoryStream, playerNumber, proxy);

            if (!success)
            {
                var logger = NLog.LogManager.GetCurrentClassLogger();
                logger.Error("Player's avatar not assigned in the host implementation");

                MessageBox.Show("Twojego avatara nie udało się przesłać do hosta.",
                                "Informacja", MessageBoxButton.OK, MessageBoxImage.Information);
            }
            else
            {
                var logger = NLog.LogManager.GetCurrentClassLogger();
                logger.Info("Player's avatar successfully assigned in the host implementation");

                //if successfully joined the game, fire the event - it sholud be
                //served in the main window.

                SynchCont.Post(_ => OnSuccessfullyJoinedToTheRoom(), null);
            }
        }
コード例 #2
0
        //method for starting the service
        private void CreateNewGameRoom(int localTimeout, int timeout, string serviceName, string password)
        {
            EngineHostHandler.EngineHostHandlerConstructor(localTimeout, timeout, serviceName, password, true);
            bool serviceStarted = EngineHostHandler.StartNewService();

            if (!serviceStarted)
            {
                var logger = NLog.LogManager.GetCurrentClassLogger();
                logger.Error("Makao Engine Host Service did not sratt.");

                MessageBox.Show("Nie udało się uruchomić usługi: " + serviceName,
                                "Błąd", MessageBoxButton.OK, MessageBoxImage.Error);
            }
            else
            {
                bool setupDataSavedInHost = EngineHostHandler.SetGameSetup();
                //if setup succesfully written to host
                if (setupDataSavedInHost)
                {
                    //send request to WS to add host player to the room
                    EngineHostHandler.AddHostPlayerToRoom();
                }
                else
                {
                    var logger = NLog.LogManager.GetCurrentClassLogger();
                    logger.Error("Saving game setup data to host failed");

                    MessageBox.Show("Nie udało się utworzyć gry z poprawnymi danymi.",
                                    "Błąd", MessageBoxButton.OK, MessageBoxImage.Error);
                }
            }
        }
コード例 #3
0
        //method thad downloads all images, for all players and saves as files
        private void DownloadPLayersAvatars(List <int> playersNumbers)
        {
            IMakaoGameHostService proxy = factory.CreateChannel();

            foreach (int item in playersNumbers)
            {
                Stream responseStream = proxy.DownloadAvatarImage(item);
                EngineHostHandler.SaveAnImage(responseStream, item);
            }
        }