Exemple #1
0
 public void BroadcastMessage(EntityMessages message)
 {
     for (int i = 0; i < entities.Count; i++)
     {
         entities[i].SendMessage(message);
     }
 }
Exemple #2
0
 public void BroadcastMessage(EntityMessages message, object argument)
 {
     for (int i = 0; i < entities.Count; i++)
     {
         entities[i].SendMessage(message, argument);
     }
 }
Exemple #3
0
        public void SendMessage <T>(EntityMessages message, T argument)
        {
            for (int i = 0; i < messageables.Count; i++)
            {
                messageables[i].OnMessage(message);
            }

            GetMessageGroup(message).SendMessage(argument);
        }
Exemple #4
0
        public void SendMessage(EntityMessages message)
        {
            for (int i = 0; i < messageables.Count; i++)
            {
                messageables[i].OnMessage(message);
            }

            GetMessageGroup(message).SendMessage();
        }
Exemple #5
0
        MessageGroup CreateMessageGroup(EntityMessages message)
        {
            var group = new MessageGroup(message.ToString());

            for (int i = 0; i < allComponents.Count; i++)
            {
                group.TryAdd(allComponents[i]);
            }

            return(group);
        }
Exemple #6
0
        MessageGroup GetMessageGroup(EntityMessages message)
        {
            MessageGroup group;

            if (!messageGroups.TryGetValue((byte)message, out group))
            {
                group = CreateMessageGroup(message);
                messageGroups[(byte)message] = group;
            }

            return(group);
        }
    public void OnMessage(EntityMessages message)
    {
        if (Entity == null)
            return;

        var time = Entity.GetComponent<TimeComponent>();

        for (int i = 0; i < activeActions.Count; i++)
        {
            var action = activeActions[i];

            if (action.LastExecutionTime + action.ExecutionDelay < time.Time && action.Messages[(byte)message])
            {
                ExecuteAction(action);

                action.LastExecutionTime = time.Time;

                if (action.ExecuteOnce)
                    activeActions.RemoveAt(i--);
            }
        }
    }
 public void OnMessage(EntityMessages message)
 {
     if (Messages[(byte)message])
         targetAngle += Increment;
 }
Exemple #9
0
 public static void BroadcastMessage(EntityMessages message, object argument)
 {
     masterGroup.BroadcastMessage(message, argument);
 }
Exemple #10
0
 public static void BroadcastMessage(EntityMessages message)
 {
     masterGroup.BroadcastMessage(message);
 }
 public void OnMessage(EntityMessages message)
 {
     if (Messages[(byte)message])
         spectatorGroup.BroadcastMessage(EntityMessages.OnShowEvent, ShowEventType);
 }
 public void OnMessage(EntityMessages message)
 {
     shouldRecycle |= RecycleMessages[(byte)message];
 }
        public async Task AsyncExcute(CancellationToken cancel = default(CancellationToken))
        {
            var log = _logFact.CreateLogger <KafkaToElasticsearch>();

            _kafkaService.AddConsumerEvent(new List <string>()
            {
                "mylog"
            });
            // _kafkaService.GetMessageDele = (message) => {
            //     var id = message.Key;
            //     var offset = string.Format("{0}---{2}",message.Offset.IsSpecial,message.Offset.Value);
            //     var topic = message.Topic;
            //     var topicPartition = message.TopicPartition.Partition.ToString();
            //     var topicPartitionOffsetValue = message.TopicPartitionOffset.Offset.Value;
            //     // log.LogInformation("id:{0},offset:{1},topic:{2},topicpatiton:{3},topicPartitionOffsetValue:{4}"
            //     // ,id,offset,topic,topicPartition,topicPartitionOffsetValue);
            // };
            //  _kafkaService.ErrorDele = (message) => {
            //      log.LogError(message.ToString());
            //  };
            //  _kafkaService.LogDele = (message) => {
            //      log.LogInformation(message.ToString());
            // };
            // log.LogInformation("事件添加完毕");
            // var waitForStop =
            // new TaskCompletionSource<object>(TaskCreationOptions.RunContinuationsAsynchronously);
            // cancel.Register(()=>{
            //     log.LogInformation("task执行被取消回掉函数");
            //     waitForStop.SetResult(null);
            // });
            // waitForStop.Task.Wait();
            // log.LogInformation("任务已经被取消。");

            if (!cancel.IsCancellationRequested)
            {
                while (true)
                {
                    Message message = _kafkaService.Poll(2000);
                    if (message != null)
                    {
                        if (message.Error != null && message.Error.Code != ErrorCode.NoError)
                        {
                            //log.LogError("consumer获取message出错,详细信息:{0}",message.Error);
                            System.Console.WriteLine("consumer获取message出错,详细信息:{0}", message.Error);
                            System.Threading.Thread.Sleep(200);
                            continue;
                        }
                        var            id                        = message.Key == null?"":System.Text.Encoding.Default.GetString(message.Key);
                        var            offset                    = string.Format("{0}---{1}", message.Offset.IsSpecial, message.Offset.Value);
                        var            topic                     = message.Topic;
                        var            topicPartition            = message.TopicPartition.Partition.ToString();
                        var            topicPartitionOffsetValue = message.TopicPartitionOffset.Offset.Value;
                        var            val                       = System.Text.Encoding.Default.GetString(message.Value);
                        EntityMessages entityMess                =
                            Newtonsoft.Json.JsonConvert.DeserializeObject <EntityMessages>(val);
                        await _elasticsearch.CreateIndexIfNoExists <LogElasticsearch>("mylog" + entityMess.OtherFlag);

                        var addDocumentResponse = await _elasticsearch.CreateDocument <LogElasticsearch>("mylog" + entityMess.OtherFlag
                                                                                                         , new LogElasticsearch()
                        {
                            Id        = entityMess.Id,
                            Time      = entityMess.DateTime,
                            LogLevel  = entityMess.LogLevel,
                            Exception = entityMess.Message
                        }
                                                                                                         );

                        if (addDocumentResponse != null)
                        {
                            if (!addDocumentResponse.ApiCall.Success)
                            {
                            }
                        }
                    }
                }
            }
            return;
        }
 public void OnMessage(EntityMessages message)
 {
     GameManager.Instance.StartGame();
 }