//----------------------------------------------------------------------------- public string evUpdate(IEbEvent ev) { int before_connected_count = 0; for (int i = 0; i < mServerNode.ListPeerBefore.Count; i++) { PhotonServerPeerC peer = mServerNode.ListPeerBefore[i]; //peer.Service(); //if (peer.PeerState == PeerStateValue.Disconnected) //{ // string s = peer.RemoteServerNodeInfo.ip; // s += ":"; // s += peer.RemoteServerNodeInfo.port.ToString(); // peer.Connect(s, peer.RemoteServerNodeInfo.app_name); //} //else if (peer.PeerState == PeerStateValue.Connected) //{ // before_connected_count++; //} } // 等待后置连接,并统计连接信息 if (mServerNode.ListPeerBefore.Count == before_connected_count && mServerNode.getServerNode().vec_after.Count == mServerNode.ListPeerAfter.Count) { return("ServerNodeStateRun"); } return(""); }
//------------------------------------------------------------------------- // event: 响应消息 public string evMainSendMsg(IEbEvent ev) { EbEvent2 <int, List <object> > evt = ev as EbEvent2 <int, List <object> >; int msg_id = evt.param1; List <object> vec_param = evt.param2; bool handled = false; List <INodeTrigger> trigger_list = mNode.getTriggerList(); foreach (var i in trigger_list) { handled = i.handleMsg(msg_id, vec_param); if (handled) { break; } } // 检查有没有触发器触发 if (handled) { mNode.getNodeMgr().IsHandledMsg = true; } return(""); }
//----------------------------------------------------------------------------- public string evUpdate(IEbEvent ev) { EbEvent1<float> e = (EbEvent1<float>)ev; float elapsed_tm = e.param1; mfCurSecond += elapsed_tm; return ""; }
//----------------------------------------------------------------------------- public string evOnPeerStatusChanged(IEbEvent ev) { //TEvent2<int, StatusCode> evt = ev as TEvent2<int, StatusCode>; //int servernode_id = evt.param1; //StatusCode statusCode = evt.param2; return(""); }
//------------------------------------------------------------------------- // event: 每帧更新 public string evMainUpdate(IEbEvent ev) { if (!mNode.getNodeSys().isClient()) { // 更新所有触发器 EbEvent1<float> evt = ev as EbEvent1<float>; float elasped_tm = evt.param1; List<INodeTrigger> trigger_list = mNode.getTriggerList(); foreach (var i in trigger_list) { i.update(elasped_tm); } // 检查有没有触发器触发 bool triggered = false; foreach (var i in trigger_list) { triggered = i.triggered(); if (triggered) break; } if (trigger_list.Count == 0) triggered = true; foreach (var i in trigger_list) { i.reset(); } // 检查触发条件是否满足 bool triggered_condition = false; if (triggered) { triggered_condition = _checkTriggerCondition(); } // 触发器触发了即执行脚本on_trigger函数 bool trigger_ss = true; if (triggered) { if (mNodeServerScript != null) { trigger_ss = mNodeServerScript.canExitStartState(mNode); } } // 触发结果 bool can_run = false; if (triggered && triggered_condition && trigger_ss) { can_run = true; } if (can_run) { return "CNodeStateRun"; } } return ""; }
//----------------------------------------------------------------------------- public string evUpdate(IEbEvent ev) { EbEvent1 <float> e = (EbEvent1 <float>)ev; float elapsed_tm = e.param1; mfCurSecond += elapsed_tm; return(""); }
//----------------------------------------------------------------------------- public string evUpdate(IEbEvent ev) { for (int i = 0; i < mServerNode.ListPeerBefore.Count; i++) { PhotonServerPeerC peer = mServerNode.ListPeerBefore[i]; //peer.Service(); } return(""); }
//--------------------------------------------------------------------- public string _onEvent(IEbEvent ev) { if (mMapAction.ContainsKey(ev.name)) { return mMapAction[ev.name].action(ev); } else { return ""; } }
//----------------------------------------------------------------------------- public string evSetState(IEbEvent ev) { EbEvent1<_eLevelState> e = (EbEvent1<_eLevelState>)ev; _eLevelState level_state = e.param1; if (level_state == _eLevelState.Switch) { return "CRenderLevelStateSwitch"; } return ""; }
//----------------------------------------------------------------------------- public string evSetState(IEbEvent ev) { EbEvent1 <_eLevelState> e = (EbEvent1 <_eLevelState>)ev; _eLevelState level_state = e.param1; if (level_state == _eLevelState.Switch) { return("CRenderLevelStateSwitch"); } return(""); }
//----------------------------------------------------------------------------- public string evUpdate(IEbEvent ev) { EbEvent1<float> e = (EbEvent1<float>)ev; float elapsed_tm = e.param1; mfCurSecond += elapsed_tm; IRenderListener listener = mScene.getListener(); if (listener != null) { listener.onSceneShowMessageBox("鱼潮来临!!!", false, "", 1, (int)0, false, false);//_eMessageBoxLayer.SwitchLevel } return ""; }
//----------------------------------------------------------------------------- public string evUpdate(IEbEvent ev) { EbEvent1 <float> e = (EbEvent1 <float>)ev; float elapsed_tm = e.param1; mfCurSecond += elapsed_tm; IRenderListener listener = mScene.getListener(); if (listener != null) { listener.onSceneShowMessageBox("鱼潮来临!!!", false, "", 1, (int)0, false, false);//_eMessageBoxLayer.SwitchLevel } return(""); }
//--------------------------------------------------------------------- public string evUpdate(IEbEvent ev) { EbEvent1 <float> e = (EbEvent1 <float>)ev; float elapsed_tm = e.param1; if (mfCurSecond > mfMaxSecond) { return("CLogicLevelStateNormal"); } else { mfCurSecond += elapsed_tm; } return(""); }
//--------------------------------------------------------------------- public string evUpdate(IEbEvent ev) { EbEvent1<float> e = (EbEvent1<float>)ev; float elapsed_tm = e.param1; if (mfCurSecond > mfMaxSecond) { return "CLogicLevelStateNormal"; } else { mfCurSecond += elapsed_tm; } return ""; }
//------------------------------------------------------------------------- // event: 每帧更新 public string evMainUpdate(IEbEvent ev) { EbEvent1 <float> evt = ev as EbEvent1 <float>; float elapsed_tm = evt.param1; // 执行脚本函数 if (mNodeServerScript != null) { mNodeServerScript.onUpdate(mNode, elapsed_tm); } else if (mNodeClientScript != null) { mNodeClientScript.onUpdate(mNode, elapsed_tm); } return(""); }
//------------------------------------------------------------------------- // event: 响应消息 public string evMainSendMsg(IEbEvent ev) { EbEvent2 <int, List <object> > evt = ev as EbEvent2 <int, List <object> >; int msg_id = evt.param1; List <object> msg_paramlist = evt.param2; if (mNodeServerScript != null) { mNodeServerScript.onServerMsg(mNode, 0, msg_id, 0, msg_paramlist); } else if (mNodeClientScript != null) { mNodeClientScript.onClientMsg(msg_id, msg_paramlist); } return(""); }
//------------------------------------------------------------------------- // event: 设置进入停止状态 public string evSetStopState(IEbEvent ev) { EbEvent1 <List <_tNodeParamPair> > evt = ev as EbEvent1 <List <_tNodeParamPair> >; List <_tNodeParamPair> list_param = evt.param1; Dictionary <byte, object> map_param = mNode.getMapParam(); if (list_param != null) { foreach (var i in list_param) { map_param[i.k] = i.v; } } return("CNodeStateStop"); }
//--------------------------------------------------------------------- public string evUpdate(IEbEvent ev) { EbEvent1 <float> e = (EbEvent1 <float>)ev; float elapsed_tm = e.param1; if (mfCurSecond > mfMaxSecond) { return("CLogicLevelStateSwitch"); } else { mfCurSecond += elapsed_tm; } if (mLevel != null) { mLevel.updateOutFish(elapsed_tm); } return(""); }
//--------------------------------------------------------------------- public string evUpdate(IEbEvent ev) { EbEvent1<float> e = (EbEvent1<float>)ev; float elapsed_tm = e.param1; if (mfCurSecond > mfMaxSecond) { return "CLogicLevelStateSwitch"; } else { mfCurSecond += elapsed_tm; } if (mLevel != null) { mLevel.updateOutFish(elapsed_tm); } return ""; }
//------------------------------------------------------------------------- // event: 响应消息 public string evMainSendMsg(IEbEvent ev) { EbEvent2 <int, List <object> > evt = ev as EbEvent2 <int, List <object> >; int msg_id = evt.param1; List <object> vec_param = evt.param2; List <INodeTrigger> trigger_list = mNode._getTriggerList(); foreach (var i in trigger_list) { i.handleMsg(msg_id, vec_param); } // 检查有没有触发器触发 foreach (var i in trigger_list) { if (i.triggered()) { mNode.getNodeMgr().IsHandledMsg = true; } } return(""); }
//------------------------------------------------------------------------- public string evSetNextSate(IEbEvent ev) { // 根据NodeState跳转到对应state _eNodeState state = mNode.getNodeState(); if (state == _eNodeState.Init || state == _eNodeState.Start) { return "CNodeStateStart"; } else if (state == _eNodeState.Run) { return "CNodeStateRun"; } else if (state == _eNodeState.Stop) { return "CNodeStateStop"; } else if (state == _eNodeState.Release) { return "CNodeStateRelease"; } return "CNodeStateStart"; }
//------------------------------------------------------------------------- public string evSetNextSate(IEbEvent ev) { // 根据NodeState跳转到对应state _eNodeState state = mNode.getNodeState(); if (state == _eNodeState.Init || state == _eNodeState.Start) { return("CNodeStateStart"); } else if (state == _eNodeState.Run) { return("CNodeStateRun"); } else if (state == _eNodeState.Stop) { return("CNodeStateStop"); } else if (state == _eNodeState.Release) { return("CNodeStateRelease"); } return("CNodeStateStart"); }
//------------------------------------------------------------------------- // event: 响应消息 public string evMainSendMsg(IEbEvent ev) { EbEvent2<int, List<object>> evt = ev as EbEvent2<int, List<object>>; int msg_id = evt.param1; List<object> msg_paramlist = evt.param2; if (mNodeServerScript != null) { mNodeServerScript.onServerMsg(mNode, 0, msg_id, 0, msg_paramlist); } else if (mNodeClientScript != null) { mNodeClientScript.onClientMsg(msg_id, msg_paramlist); } return ""; }
//------------------------------------------------------------------------- // event: 每帧更新 public string evMainUpdate(IEbEvent ev) { EbEvent1<float> evt = ev as EbEvent1<float>; float elapsed_tm = evt.param1; // 执行脚本函数 if (mNodeServerScript != null) { mNodeServerScript.onUpdate(mNode, elapsed_tm); } else if (mNodeClientScript != null) { mNodeClientScript.onUpdate(mNode, elapsed_tm); } return ""; }
//------------------------------------------------------------------------- public string evSetNextSate(IEbEvent ev) { return("CNodeStateRelease"); }
//------------------------------------------------------------------------- public string evSetNextSate(IEbEvent ev) { return "CNodeStateRelease"; }
//------------------------------------------------------------------------- // event: 设置进入运行状态 public string evSetRunState(IEbEvent ev) { return("CNodeStateRun"); }
//------------------------------------------------------------------------- // event: 设置进入停止状态 public string evSetStopState(IEbEvent ev) { EbEvent1<List<_tNodeParamPair>> evt = ev as EbEvent1<List<_tNodeParamPair>>; List<_tNodeParamPair> list_param = evt.param1; Dictionary<byte, object> map_param = mNode.getMapParam(); if (list_param != null) { foreach (var i in list_param) { map_param[i.k] = i.v; } } return "CNodeStateStop"; }
//--------------------------------------------------------------------- public string action(IEbEvent ev) { return mHandler(ev); }
//------------------------------------------------------------------------- // event: 设置进入运行状态 public string evSetRunState(IEbEvent ev) { return "CNodeStateRun"; }
//----------------------------------------------------------------------------- public string evUpdate(IEbEvent ev) { return(""); }
//----------------------------------------------------------------------------- public string evClose(IEbEvent ev) { return("ServerNodeStateStop"); }
//------------------------------------------------------------------------- // event: 每帧更新 public string evMainUpdate(IEbEvent ev) { if (!mNode.getNodeSys().isClient()) { // 更新所有触发器 EbEvent1 <float> evt = ev as EbEvent1 <float>; float elasped_tm = evt.param1; List <INodeTrigger> trigger_list = mNode.getTriggerList(); foreach (var i in trigger_list) { i.update(elasped_tm); } // 检查有没有触发器触发 bool triggered = false; foreach (var i in trigger_list) { triggered = i.triggered(); if (triggered) { break; } } if (trigger_list.Count == 0) { triggered = true; } foreach (var i in trigger_list) { i.reset(); } // 检查触发条件是否满足 bool triggered_condition = false; if (triggered) { triggered_condition = _checkTriggerCondition(); } // 触发器触发了即执行脚本on_trigger函数 bool trigger_ss = true; if (triggered) { if (mNodeServerScript != null) { trigger_ss = mNodeServerScript.canExitStartState(mNode); } } // 触发结果 bool can_run = false; if (triggered && triggered_condition && trigger_ss) { can_run = true; } if (can_run) { return("CNodeStateRun"); } } return(""); }
//------------------------------------------------------------------------- // event: 响应消息 public string evMainSendMsg(IEbEvent ev) { EbEvent2<int, List<object>> evt = ev as EbEvent2<int, List<object>>; int msg_id = evt.param1; List<object> vec_param = evt.param2; bool handled = false; List<INodeTrigger> trigger_list = mNode.getTriggerList(); foreach (var i in trigger_list) { handled = i.handleMsg(msg_id, vec_param); if (handled) break; } // 检查有没有触发器触发 if (handled) { mNode.getNodeMgr().IsHandledMsg = true; } return ""; }