Пример #1
0
 protected override void SendMessage(Message msg)
 {
     /*$EMPTY$*/
 }
Пример #2
0
        /// <summary>
        /// Обрабатывает сообщение.
        /// Для добавления сообщения в очередь нужно использовать процедуру <c>PostMessage()</c>.
        /// </summary>
        /// <param name="msg">Обрабатываемое сообщение.</param>
        protected void ProccessMessage(Message msg)
        {
            switch (msg.Type)
            {
                case Message.MoveMessageType:
                    {
                        MoveMessage m = (MoveMessage)msg;
                        OnMove(m.DX, m.DY);
                    } break;

                case Message.WallMessageType:
                    {
                        WallMessage m = (WallMessage)msg;
                        OnSetWall(m.I, m.J, m.Style);
                    } break;

                case Message.ChangeTurnType:
                    {
                        OnChangeTurn();
                    } break;
            }
        }
Пример #3
0
 /// <summary>
 /// Отправить сообщение противнику.
 /// Контракт:
 /// завершение этого метода гарантирует, что сообщение доставлено;
 /// берёт на себя преобразование данных сообщения, если это необходимо.
 /// </summary>
 /// <param name="msg"></param>
 protected abstract void SendMessage(Message msg);
Пример #4
0
 /// <summary>
 /// Отправить сообщение в очередь на обработку.
 /// </summary>
 /// <param name="msg">Сообщение, что нужно обработать.</param>
 public void PostMessage(Message msg)
 {
     messages.Enqueue(msg);
     StartProccesMessages();
 }