Example #1
0
        /// <summary>
        /// 从控制端收到打开实验请求
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="proto"></param>
        private void OnExpReq(int sender, IMessage proto)
        {
            var info = proto as ExperimentInfo;

            print("收到请求" + info.PrefabPath);
            controlTerminal.Broadcast(serverEventPool.GetEvent <ExperimentRequestEvent>().GetProtobuf(proto), sender);
        }
Example #2
0
        public ExperimentEventControl(ControlTerminal controlTerminal, Action <string> actionlog = null)
        {
            this.controlTerminal = controlTerminal;

            experimentInfo = new ExperimentInfo()
            {
                Id         = 0,
                OwnProject = string.Empty,
                Name       = string.Empty,
                IsBack     = false
            };

            this.actionLog = actionlog;

            //收到请求
            MessageDistributionControl.Instance.AddListener((int)CommandID.ExperimentInfoRequest, (int connectID, ProtobufTool data) =>
            {
                data.DeSerialize(experimentInfo, data.bytes);

                ProtobufTool tool = GetProtobuf(data, experimentInfo);

                controlTerminal.Broadcast(tool);

                if (actionLog != null)
                {
                    actionLog("ExperimentInfoRequest");
                }
            });

            MessageDistributionControl.Instance.AddListener((int)CommandID.ExperimentInfoReceipt, (int connectID, ProtobufTool data) =>
            {
                data.DeSerialize(experimentInfo, data.bytes);

                ProtobufTool tool = GetProtobuf(data, experimentInfo);

                controlTerminal.Broadcast(tool);

                if (actionLog != null)
                {
                    actionLog("发送请求,转发出去:ExperimentInfoReceipt");
                }
            });
        }