/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~数据库~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ private void OnDBPageClick(object sender, EventArgs e) { if (m_tabDB_Start.Text == "停止") { m_tabDB_Start.Enabled = false; ClientNetManager.Instance.CloseAll(); m_tabDB_Start.Text = "开始"; m_tabDB_Start.Enabled = true; EnableTabPage(true, m_tabDB); EnableDBTabPage(true); EventController.TriggerEvent(ClientEventID.SWITCH_PRESSURE, ePressureType.DB, false); } else { sPressureDBInfo info = new sPressureDBInfo(); info.ip = this.m_tabDB_IP.Text; info.port = ushort.Parse(this.m_tabDB_Port.Text); info.client_count = ushort.Parse(this.m_tabDB_ClientCount.Text); info.start_account = int.Parse(this.m_tabDB_StartAccount.Text); info.end_account = long.Parse(this.m_tabDB_EndAccount.Text); info.dis_conn_time = float.Parse(this.m_tabDB_DisconTime.Text); ServerConfig.net_info.db_server_ip = info.ip; ServerConfig.net_info.db_server_port = info.port; ServerConfig.net_info.db_client_count = info.client_count; ServerConfig.net_info.db_start_account = info.start_account; m_tabDB_Start.Enabled = false; EnableTabPage(false, m_tabDB); EnableDBTabPage(false); m_pressure_type = ePressureType.DB; m_tabDB_Start.Text = "停止"; EventController.TriggerEvent(ClientEventID.SWITCH_PRESSURE, ePressureType.DB, true, info); ClientNetManager.Instance.StartConnect(info.ip, info.port, info.client_count, 8); m_tabDB_Start.Enabled = true; } }
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~移动~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ private void OnMovePageClick(object sender, EventArgs e) { if (m_tabMove_Start.Text == "停止") { m_tabMove_Start.Enabled = false; ClientNetManager.Instance.CloseAll(); m_tabMove_Start.Text = "开始"; m_tabMove_Start.Enabled = true; EnableTabPage(true, m_tabMove); EnableMoveTabPage(true); EventController.TriggerEvent(ClientEventID.SWITCH_PRESSURE, ePressureType.Move, false); } else { sPressureMoveInfo info = new sPressureMoveInfo(); info.ip = this.m_tabMove_IP.Text; info.port = ushort.Parse(this.m_tabMove_Port.Text); info.client_count = ushort.Parse(this.m_tabMove_ClientCount.Text); info.move_time = float.Parse(this.m_tabMove_MoveTime.Text); info.start_account = long.Parse(this.m_tabMove_StartAccount.Text); ServerConfig.net_info.move_server_ip = info.ip; ServerConfig.net_info.move_server_port = info.port; ServerConfig.net_info.move_client_count = info.client_count; ServerConfig.net_info.move_start_account = info.start_account; m_tabMove_Start.Enabled = false; EnableTabPage(false, m_tabMove); EnableMoveTabPage(false); m_pressure_type = ePressureType.Move; m_tabMove_Start.Text = "停止"; EventController.TriggerEvent(ClientEventID.SWITCH_PRESSURE, ePressureType.Move, true, info); ClientNetManager.Instance.StartConnect(info.ip, info.port, info.client_count, 10); m_tabMove_Start.Enabled = true; } }
private void CreateOneUser(long account_idx, long char_idx) { if (!m_active || account_idx > m_pressure_info.end_account) { return; } CreateCharacterInfo create_info = new CreateCharacterInfo(); create_info.spid = 0; create_info.ws_id = 0; create_info.ss_id = 0; create_info.fs_id = 0; create_info.char_idx = char_idx; create_info.char_name = "test" + account_idx; create_info.char_type = (byte)(MathUtils.Rand_Sign() == 1 ? eSexType.BOY : eSexType.GIRL); SQLCharHandle.CreateCharacter(account_idx, create_info, (res) => { if (create_info.char_idx != res) { Log.Error("创建角色失败,账号:" + account_idx + ", error:" + res.ToString()); } EventController.TriggerEvent(ClientEventID.CREATE_PROGRESS, (int)(account_idx - m_pressure_info.start_account), (int)(m_pressure_info.end_account - m_pressure_info.start_account)); if (account_idx + 1 > m_pressure_info.end_account) { EventController.TriggerEvent(ClientEventID.CREATE_COMPLETE); this.Stop(); } else { this.CreateOneUser(account_idx + 1, char_idx + 1); } } ); }
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~网络~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ /// <summary> /// 网络压力 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void OnNetPageClick(object sender, EventArgs e) { if (m_tabNet_Start.Text == "停止") { m_tabNet_Start.Enabled = false; ClientNetManager.Instance.CloseAll(); m_tabNet_Start.Text = "开始"; m_tabNet_Start.Enabled = true; EnableTabPage(true, m_tabNet); EnableNetTabPage(true); EventController.TriggerEvent(ClientEventID.SWITCH_PRESSURE, ePressureType.Net, false); } else { sPressureNetInfo info = new sPressureNetInfo(); info.ip = this.m_tabNet_IP.Text; info.port = ushort.Parse(this.m_tabNet_Port.Text); info.client_count = ushort.Parse(this.m_tabNet_ClientCount.Text); info.send_count_per_second = ushort.Parse(this.m_tabNet_SendCountPerSecond.Text); info.send_size_per_packet = ushort.Parse(this.m_tabNet_SendSizePerSecond.Text); ServerConfig.net_info.net_server_ip = info.ip; ServerConfig.net_info.net_server_port = info.port; ServerConfig.net_info.net_client_count = info.client_count; m_tabNet_Start.Enabled = false; EnableTabPage(false, m_tabNet); EnableNetTabPage(false); m_pressure_type = ePressureType.Net; m_tabNet_Start.Text = "停止"; EventController.TriggerEvent(ClientEventID.SWITCH_PRESSURE, ePressureType.Net, true, info); ClientNetManager.Instance.StartConnect(info.ip, info.port, info.client_count, 5); m_tabNet_Start.Enabled = true; } }
private void UnRegisterEvent() { EventController.RemoveEventListener(EventID.PLAYER_ENTER_GAME, OnGameEvent); EventController.RemoveEventListener(EventID.PLAYER_LEAVE_GAME, OnGameEvent); }
private void UnRegisterEvent() { EventController.RemoveEventListener(EventID.PLAYER_ENTER_GAME, OnGameEvent); EventController.RemoveEventListener(EventID.PLAYER_LEAVE_GAME, OnGameEvent); EventController.RemoveEventListener(EventID.NET_DISCONNECT_FIGHT_SRV, OnGameEvent); }
private void UnRegisterEvent() { EventController.RemoveEventListener(ClientEventID.NET_CONNECTED_OPEN, OnGameEvent); EventController.RemoveEventListener(ClientEventID.NET_CONNECTED_CLOSE, OnGameEvent); }
private void OnMessageReveived(long conn_idx, ushort header, ByteArray data) { m_recv_msg_count++; m_recv_msg_size += data.Available + NetID.PacketHeadSize + 2; EventController.TriggerEvent(ClientEventID.RECV_DATA, conn_idx, header, data); }
private void UnRegisterEvent() { EventController.RemoveEventListener(EventID.NET_CONNECTED_WORLD_SRV, OnGameEvent); EventController.RemoveEventListener(EventID.NET_DISCONNECT_WORLD_SRV, OnGameEvent); }
private void UnRegisterEvent() { EventController.RemoveEventListener(ClientEventID.CREATE_COMPLETE, OnGameEvent); EventController.RemoveEventListener(ClientEventID.CREATE_PROGRESS, OnGameEvent); }
private void RegisterEvent() { EventController.AddEventListener(EventID.DB_NEW_EVENT, OnGameEvent); EventController.AddEventListener(EventID.PLAYER_ENTER_GAME, OnGameEvent); EventController.AddEventListener(EventID.PLAYER_LEAVE_GAME, OnGameEvent); }
protected override void OnClosed(EventArgs e) { EventController.RemoveEventListener(ClientEventID.SERVER_PING, OnRecvPing); PingDataManager.Instance.Stop(); base.OnClosed(e); }
private void Init() { EventController.AddEventListener(ClientEventID.SERVER_PING, OnRecvPing); }
public override void OnEnter() { base.OnEnter(); EventController.TriggerEvent(EventID.PLAYER_ENTER_GAME, m_obj_idx); }
private void UnRegisterEvent() { EventController.RemoveEventListener(ClientEventID.SWITCH_PRESSURE, OnGameEvent); }
/// <summary> /// 下线 /// </summary> public void OnLeave() { EventController.TriggerEvent(EventID.PLAYER_LEAVE_GAME, m_char_idx); }
private void OnConnectClose(long conn_idx) { m_sockets.Remove(conn_idx); EventController.TriggerEvent(ClientEventID.NET_CONNECTED_CLOSE, conn_idx); }
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~事件~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ private void RegisterEvent() { EventController.AddEventListener(ClientEventID.NET_CONNECTED_OPEN, OnGameEvent); EventController.AddEventListener(ClientEventID.NET_CONNECTED_CLOSE, OnGameEvent); EventController.AddEventListener(ClientEventID.SWITCH_PRESSURE, OnGameEvent); }
/// <summary> /// 上线 /// </summary> public void OnEnter() { m_last_active_time = Time.timeSinceStartup; m_is_send_check_online = false; EventController.TriggerEvent(EventID.PLAYER_ENTER_GAME, m_char_idx); }