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; } }
protected abstract void ActualEndGame_UI(MainMessageKind messageKind, KnownSubkinds subKind, EndGameRequestContext egrc);
protected override void ActualEndGame_UI(MainMessageKind messageKind, KnownSubkinds subKind, EndGameRequestContext egrc) { UIMessageCount++; }
protected override void ActualEndGame_UI(MainMessageKind messageKind, KnownSubkinds subKind, EndGameRequestContext egrc) { string msgtxt = "End Game : " + egrc.EndGameDataDump; Console.WriteLine(msgtxt); }
protected override void ActualEndGame_UI(MainMessageKind messageKind, KnownSubkinds subKind, EndGameRequestContext egrc) { // do nothing }