Beispiel #1
0
        protected void PerformUIMessage(Message_Ui msg)
        {
            switch (msg.SubKind)
            {
            case KnownSubkinds.BotEnterWorld:
                BotEnterWorldContext ctxtBew = (BotEnterWorldContext)msg.RequestContext;
                contestantNames.Add(ctxtBew.ObjectId, ctxtBew.BotName);
                ActualPerformBotEnterWorld_UI(msg, ctxtBew);
                break;

            case KnownSubkinds.BotFanfareOccurred:
                SystemMessageContext smc = (SystemMessageContext)msg.RequestContext;
                ActualOnBotMessage_UI(msg.MessageKind, msg.SubKind, smc);
                break;

            case KnownSubkinds.BotEndOccured:
                BotEndContext bdc = (BotEndContext)msg.RequestContext;
                ActualBotEndEvent_UI(msg.MessageKind, msg.SubKind, bdc);
                break;

            case KnownSubkinds.WeaponFire:
                var ctxt = (UICombatContext)msg.RequestContext;
                ActualWeaponFire_UI(msg.MessageKind, msg.SubKind, ctxt);
                break;

            case KnownSubkinds.DirectionChange:
            case KnownSubkinds.ChangeSpeed:
                var nicspd = (NavigationInfoContext)msg.RequestContext;
                ActualNavitationEvent_UI(msg.MessageKind, msg.SubKind, nicspd);
                break;

            case KnownSubkinds.EndGameStatus:
                EndGameRequestContext egrc = (EndGameRequestContext)msg.RequestContext;
                ActualEndGame_UI(msg.MessageKind, msg.SubKind, egrc);
                break;

            case KnownSubkinds.BotStatus:
                ActualOutputBotStatusMessage_UI(msg);
                break;
            }
        }
Beispiel #2
0
 protected abstract void ActualBotEndEvent_UI(MainMessageKind messageKind, KnownSubkinds subKind, BotEndContext bdc);
Beispiel #3
0
        protected override void ActualBotEndEvent_UI(MainMessageKind messageKind, KnownSubkinds subKind, BotEndContext bdc)
        {
            string msgtxt;

            if (bdc.Reason == BotEndReason.Depleted)
            {
                msgtxt = GetContestantName(bdc.BotId) + " Is Depleted......";
            }
            else
            {
                msgtxt = GetContestantName(bdc.BotId) + " DIES! ";
            }
            Console.WriteLine(msgtxt);
        }
Beispiel #4
0
 protected override void ActualBotEndEvent_UI(MainMessageKind messageKind, KnownSubkinds subKind, BotEndContext bdc)
 {
     UIMessageCount++;
 }
Beispiel #5
0
        protected override void ActualBotEndEvent_UI(MainMessageKind messageKind, KnownSubkinds subKind, BotEndContext bdc)
        {
            string msgtxt;

            if (bdc.Reason == BotEndReason.Depleted)
            {
                msgtxt = GetContestantName(bdc.BotId) + " Is Depleted......";
                LogXmlBotCombatEvent("UI", subKind.ToString(), bdc.BotId);
            }
            else
            {
                msgtxt = GetContestantName(bdc.BotId) + " DIES! ";
                LogBotDeathEvent(messageKind, subKind, bdc);
            }
        }
Beispiel #6
0
        private void LogBotDeathEvent(MainMessageKind mainMessageKind, KnownSubkinds uIMessageSubKind, BotEndContext bdc)
        {
            var el = GetEventElement(mainMessageKind.ToString(), uIMessageSubKind.ToString());

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