public void UpdateControls(IMyEvent message)
        {
            if (InvokeRequired)
            {
                var d = new UpdateControlsCallback(UpdateControls);
                Invoke(d, new object[] { message });
            }
            else
            {
                richTextBoxReceivedMessages.DeselectAll();
                richTextBoxReceivedMessages.SelectionFont = new Font("Letter Gothic", 9f, FontStyle.Bold);
                richTextBoxReceivedMessages.AppendText(string.Format("[{0}] ", DateTime.Now.ToString("MM/dd/yyyy hh:mm:ss.fff")));
                richTextBoxReceivedMessages.SelectionFont = new Font(richTextBoxReceivedMessages.SelectionFont, FontStyle.Italic);
                richTextBoxReceivedMessages.AppendText(" from " + message.Publisher);

                richTextBoxReceivedMessages.SelectionFont = new Font(richTextBoxReceivedMessages.SelectionFont, FontStyle.Bold);
                richTextBoxReceivedMessages.AppendText("\r\n  ID:\t\t");
                richTextBoxReceivedMessages.SelectionFont = new Font(richTextBoxReceivedMessages.SelectionFont, FontStyle.Italic);
                richTextBoxReceivedMessages.AppendText(message.ID.ToString(CultureInfo.InvariantCulture));

                richTextBoxReceivedMessages.SelectionFont = new Font(richTextBoxReceivedMessages.SelectionFont, FontStyle.Bold);
                richTextBoxReceivedMessages.AppendText("\r\n  Message:\t");
                richTextBoxReceivedMessages.SelectionFont = new Font(richTextBoxReceivedMessages.SelectionFont, FontStyle.Italic);
                richTextBoxReceivedMessages.AppendText(message.Message + "\r\n\r\n");

                richTextBoxReceivedMessages.SelectionStart = richTextBoxReceivedMessages.Text.Length;
                richTextBoxReceivedMessages.ScrollToCaret();
            }
        }
示例#2
0
 public static void Register(IMyEvent myEvent)
 {
     if (myEvent == null)
     {
         throw new ArgumentNullException(nameof(myEvent), "Can't register null object.");
     }
     if (!MyList.Contains(myEvent))
     {
         MyList.Add(myEvent);
     }
 }
示例#3
0
        public Present()
        {
            view     = new View();
            tank     = new MyTank();
            bot      = new BotTanks();
            music    = new PlayMusic();
            gameOver = new GameOver();
            post     = new PostInFacebook();

            Events();
            new Task(view.Render).Start();
            new Task(ThreadBot).Start();
            view.Click();
        }
                public Task Handle(IMyEvent messageThatIsEnlisted, IMessageHandlerContext context)
                {
                    testContext.AddTrace($"Got event '{messageThatIsEnlisted}'");
                    if (messageThatIsEnlisted is MyEvent2)
                    {
                        testContext.SubscriberGotMyEvent2 = true;
                    }
                    else
                    {
                        testContext.SubscriberGotIMyEvent = true;
                    }

                    return(Task.FromResult(0));
                }
示例#5
0
        void GeneralHandle(IMyEvent message)
        {
            // Display
            Console.ForegroundColor = ConsoleColor.DarkYellow;
            Console.WriteLine("\n[{0}] from {1}", DateTime.Now.ToString(("MM/dd/yyyy hh:mm:ss.fff")), message.Publisher);
            Console.ForegroundColor = ConsoleColor.White;
            Console.WriteLine("ID:      {0}", message.ID);
            Console.WriteLine("Message: {0}.", message.Message);

            // Process
            Console.ForegroundColor = ConsoleColor.Green;
            Console.Write("Processing");

            var interval = new TimeSpan(0, 0, 0, 0, 250); // 250 milliseconds
            var rand     = new Random();
            var times    = rand.Next(2, 12);

            for (var i = 0; i < times; i++)
            {
                Thread.Sleep(interval); // Delay
                Console.Write(".");
            }
            Console.WriteLine("   Done!");
        }
示例#6
0
 public Task <bool> DispatchEventAsync(IMyEvent @event, int context)
 {
     return(this.DispatchActionAsync(@event, context));
 }
示例#7
0
 public Task <int> DispatchEventAsync(IMyEvent @event, int context)
 {
     return(this.DispatchFuncAsync(@event, context, 13));
 }
示例#8
0
 public Task <int> DispatchEventAsync(IMyEvent @event)
 {
     return(this.DispatchFuncAsync(@event, 9));
 }
示例#9
0
 public bool DispatchEvent(IMyEvent @event, int context)
 {
     return(this.DispatchAction(@event, context));
 }
示例#10
0
 public bool DispatchEvent(IMyEvent @event)
 {
     return(this.DispatchAction(@event));
 }
示例#11
0
 public int DispatchEvent(IMyEvent @event, int context)
 {
     return(this.DispatchFunc(@event, context, 13));
 }
示例#12
0
 public int DispatchEvent(IMyEvent @event)
 {
     return(this.DispatchFunc(@event, 9));
 }
示例#13
0
 private void HandleEvent2(IMyEvent evnt)
 {
     Debug.Log("catch IMyEvent " + evnt.Num());
 }
示例#14
0
        public IHoldHigherOrder Apply(IHoldHigherOrder state, IMyEvent @event)
        {
            state.HigherOrder = Math.Max(@event.Value, state.HigherOrder);

            return(state);
        }
示例#15
0
 public void EventHandler(IMyEvent evt)
 {
     Debug.Log("Event in model " + evt.Num());
 }
示例#16
0
        public void Subscribe()
        {
            IMyEvent myEvent = OperationContext.Current.GetCallbackChannel <IMyEvent>();

            this.myEvent += myEvent.OnOrder;
        }