Exemplo n.º 1
0
        protected override void ActualPerformGameMessage(Message_Game msg)
        {
            switch (msg.SubKind)
            {
            case KnownSubkinds.BotPositionChange:
                MapObjectPositionChangeContext ctxt = (MapObjectPositionChangeContext)msg.RequestContext;
                //LogXmlGEMovement2(msg.MessageKind, msg.SubKind, ctxt);
                break;

            case KnownSubkinds.TurnStart:
            case KnownSubkinds.TickStart:
                GameStructureNotificationContext ctxt2 = (GameStructureNotificationContext)msg.RequestContext;
                if (ctxt2.Turn % 250 == 0)
                {
                    Console.WriteLine("Turn " + ctxt2.Turn + "  battle still running");
                }
                // LogStructureMessage(msg.MessageKind, msg.SubKind, ctxt2);
                break;

            case KnownSubkinds.BattleStarts:
                SystemMessageContext ctxt4 = (SystemMessageContext)msg.RequestContext;
                // LogSystemMessage(msg.MessageKind, msg.SubKind, ctxt4);
                break;

            case KnownSubkinds.BattleEnds:
                // CloseDownAndRecreateXDocument();
                break;

            case KnownSubkinds.GameCombatEvent:
            default:
                Console.WriteLine("UNLOGGED - Game Message - " + msg.MessageKind.ToString() + " : " + msg.SubKind.ToString());
                break;
            }
        }
Exemplo n.º 2
0
        private void LogXmlGEMovement2(MainMessageKind mainMessageKind, KnownSubkinds gameMessageSubKind, MapObjectPositionChangeContext context)
        {
            var el = GetEventElement(mainMessageKind.ToString(), gameMessageSubKind.ToString());

            using (var w = el.CreateWriter()) {
                var sr = new DataContractSerializer(context.GetType());
                sr.WriteObject(w, context);
            }
            eventsParentElement.Add(el);
        }