void UpdateStateFunc() { UpdateState.cycleTick = -1; UpdateState.AddMotion((deltaTime) => { //广播服务端信息 ServerCtrl.BroadcastServerInfo(); //收集客户端数据 ServerCtrl.CheckReceiveCmdStack(); ServerCtrl.CollectCmdServer(); ServerCtrl.RemoveOverMaxQueue(); }); }
void InitStateFunc() { //初始化状态时执行的方法 InitState.TransitionMap.Add(StartState, (deltaTime) => { return(true); }); InitState.AddMotion((deltaTime) => { //执行初始化 ServerCtrl.Init(); }); }
public void Init() { InitStateFunc(); StartStateFunc(); UpdateStateFunc(); //创建状态机 FSM = new FiniteStateMachines <ServerRuntimeState>(); FSM.SwitchState(InitState); FSM.AddMotion((int deltaTime) => { ServerCtrl.Update(); //更新网络节点 ServerCtrl.CheckNodeVerityMapDic(); }); }
/// <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; } }