Example #1
0
 void UpdateStateFunc()
 {
     UpdateState.cycleTick = -1;
     UpdateState.AddMotion((deltaTime) =>
     {
         //广播服务端信息
         ServerCtrl.BroadcastServerInfo();
         //收集客户端数据
         ServerCtrl.CheckReceiveCmdStack();
         ServerCtrl.CollectCmdServer();
         ServerCtrl.RemoveOverMaxQueue();
     });
 }
Example #2
0
 void InitStateFunc()
 {
     //初始化状态时执行的方法
     InitState.TransitionMap.Add(StartState, (deltaTime) =>
     {
         return(true);
     });
     InitState.AddMotion((deltaTime) =>
     {
         //执行初始化
         ServerCtrl.Init();
     });
 }
Example #3
0
        public void Init()
        {
            InitStateFunc();
            StartStateFunc();
            UpdateStateFunc();

            //创建状态机
            FSM = new FiniteStateMachines <ServerRuntimeState>();
            FSM.SwitchState(InitState);
            FSM.AddMotion((int deltaTime) =>
            {
                ServerCtrl.Update();
                //更新网络节点
                ServerCtrl.CheckNodeVerityMapDic();
            });
        }
Example #4
0
        /// <summary>
        /// 开启服务
        /// </summary>
        private void StartServer()
        {
            ViewModel.IsRun = true;
            foreach (ConfigModel config in ApplicationConfig.Configs)
            {
                var serverCtrl = new ServerCtrl(config);
                MainTabControl.Items.Add(new TabItem
                {
                    Header  = config.Name,
                    Content = serverCtrl
                });
                serverCtrl.StartServer();
            }

            if (MainTabControl.Items.Count > 0)
            {
                MainTabControl.SelectedIndex = 0;
            }
        }