Пример #1
0
        static void Main(string[] args)
        {
            Console.WriteLine("***** Message *****");

            EncodingOptions options = new EncodingOptions(
                "FRA",
                VersionID.V2_5_1,
                new List <string>()
            {
                "C:\\Users\\Xavier\\Documents\\Sources\\NET\\HL7\\REP1",
                "C:\\Users\\Xavier\\Documents\\Sources\\NET\\HL7\\REP2",
                "C:\\Users\\Xavier\\Documents\\Sources\\NET\\HL7\\REP3"
            },
                new EncodingCharacters());

            EncoderContainer encoder   = new EncoderContainer(options);
            AbstractMessage  msgA28    = encoder.CreateMessage("A28", null);
            string           retEncode = encoder.Encode(msgA28, true);

            Console.WriteLine($"Encode = {retEncode}");
            Console.WriteLine($"Full   = {msgA28.GetType().FullName}");
        }
Пример #2
0
        private void ResponseParse(AbstractMessage response)
        {
            if (response is LoginResponse)
            {
                Guid userID = (response as LoginResponse).UserID;
                curUser = userID;

                GetLoginEvent.Invoke(userID);
            }
            else if (response is CreateGameResponse)
            {
                Guid gameID = (response as CreateGameResponse).GameID;
                curGame = gameID;

                CreateGameEvent?.Invoke(gameID);
            }
            else if (response is GameListResponse)
            {
                GetGameListEvent?.Invoke((response as GameListResponse).GameList);
            }
            else if (response is SendMazeResponse)
            {
                SendMazeEvent?.Invoke();
            }
            else if (response is YourStep)
            {
                YourStepEvent?.Invoke();
            }
            else if (response is SendStartPositionResponce)
            {
                SendPointEvent?.Invoke();
            }
            else if (response is MoveObjectResponse)
            {
                MoveObjectEvent?.Invoke((bool)(response as MoveObjectResponse).IsMoved);
            }
            else if (response is GiveMaze)
            {
                GiveMazeEvent?.Invoke();
            }
            else if (response is GivePoint)
            {
                GivePointEvent?.Invoke();
            }
            //else if (response is CumulativeResponse)
            //{
            //    foreach (var resp in (response as CumulativeResponse).ResponseList)
            //    {
            //        ResponseParse(resp);
            //    }
            //}
            else if (response is GameFinished)
            {
                if ((response as GameFinished).Winner.CompareTo(curUser) == 0)
                {
                    GameIsFinishedEvent?.Invoke("Вы победили", (response as GameFinished).FullMaze);
                }
                else
                {
                    GameIsFinishedEvent?.Invoke("Вы проиграли", (response as GameFinished).FullMaze);
                }
            }
            else
            {
                throw new Exception("Неизвестный пакет: " + response.GetType());
            }
        }