void _Connect(TPeerCnt PeerNum_, _ENode Node_, CNamePort NamePort_) { _Clients[(Int32)PeerNum_].CurNode = Node_; switch (Node_) { case _ENode.Auth: if (!_NetA.Connect(_Clients[(Int32)PeerNum_].AuthNamePort, PeerNum_)) { _LoginFail(PeerNum_, EGameRet.ConnectAuthFail); } break; case _ENode.Master: if (_NetM.Connect(NamePort_, PeerNum_) == null) { _LoginFail(PeerNum_, EGameRet.ConnectMasterFail); } break; case _ENode.Server: if (_NetS.Connect(NamePort_, PeerNum_) == null) { _LoginFail(PeerNum_, EGameRet.ConnectServerFail); } break; default: break; } }
bool _ConnectToLower(TPeerCnt PeerNum_, _ENode Node_, CNamePort NamePort_) { if (!_Clients[(Int32)PeerNum_].ConnectHistory.Connect(NamePort_)) { return(false); } _Connect(PeerNum_, Node_, NamePort_); return(true); }
void _ConnectToUpper(TPeerCnt PeerNum_, _ENode Node_) { if (Node_ == _ENode.Master) { if (_Clients[(Int32)PeerNum_].MasterNamePort.Data) { _Connect(PeerNum_, _ENode.Master, _Clients[(Int32)PeerNum_].MasterNamePort.Data); return; } Node_ = _ENode.Auth; } if (Node_ == _ENode.Auth) { _Connect(PeerNum_, _ENode.Auth, null); return; } }