private void SendPosition() { PlayerList playerList = new PlayerList(); foreach (ClientPeer peer in MyGameServer.Instance.peerList) { if (!string.IsNullOrEmpty(peer.userName) && peer.posData != null) { PlayerData playerData = new PlayerData(); playerData.UsrName = peer.userName; playerData.Pos = new VectorData() { X = peer.posData.X, Y = peer.posData.Y, Z = peer.posData.Z }; playerList.PlayerList_.Add(playerData); } } //MyGameServer.LogInfo("playerList = " + playerList.ToString()); Dictionary <byte, object> data = DictTool.GetDtoDataByProto(playerList, ParameterCode.PlayerDataList); foreach (ClientPeer peer in MyGameServer.Instance.peerList) { if (!string.IsNullOrEmpty(peer.userName)) { EventData ed = new EventData((byte)EventCode.SyncPosition); ed.Parameters = data; //MyGameServer.LogInfo("peer.SendEvent userName = " + peer.userName); peer.SendEvent(ed, new SendParameters()); } } }
public override void DefaultRequest() { LoginData loginData = new LoginData(); loginData.UserName = UserName; loginData.PassWord = PassWord; Dictionary <byte, object> data = DictTool.GetDtoDataByProto(loginData, ParameterCode.LoginData); Debug.Log("LoginRequest send " + OpCode.ToString()); PhotonEngine.Peer.OpCustom((byte)OpCode, data, true); }
public override void DefaultRequest() { RegisterData registerData = new RegisterData() { UserName = userName, PassWord = passWord, }; Dictionary <byte, object> data = DictTool.GetDtoDataByProto(registerData, ParameterCode.RegisterData); Debug.Log("RegisterRequest send " + OpCode.ToString()); PhotonEngine.Peer.OpCustom((byte)OpCode, data, true); }
public override void DefaultRequest() { VectorData vectorData = new VectorData() { X = pos.x, Y = pos.y, Z = pos.z }; Dictionary <byte, object> data = DictTool.GetDtoDataByProto(vectorData, ParameterCode.Position); Debug.Log("SyncPositionRequest send " + OpCode.ToString()); PhotonEngine.Peer.OpCustom((byte)OpCode, data, true); }
public override void OnOperationRequest(OperationRequest operationRequest, SendParameters sendParameters, ClientPeer peer) { //取得所有已经登录的用户 List <string> userNameList = new List <string>(); foreach (var tempPeer in MyGameServer.Instance.peerList) { if (!string.IsNullOrEmpty(tempPeer.userName) && tempPeer != peer) { userNameList.Add(tempPeer.userName); } } //StringWriter sw = new StringWriter(); //XmlSerializer serializer = new XmlSerializer(typeof(List<string>)); //serializer.Serialize(sw,userNameList); //sw.Close(); //string userNameListString = sw.ToString(); UserNameList userNameListString = new UserNameList(); userNameListString.NameList.AddRange(userNameList); Dictionary <byte, object> data = DictTool.GetDtoDataByProto(userNameListString, ParameterCode.UserNameList); OperationResponse response = new OperationResponse(operationRequest.OperationCode); response.Parameters = data; peer.SendOperationResponse(response, sendParameters); NewPlayer newPlayer = new NewPlayer(); newPlayer.UserName = peer.userName; EventData eventData = new EventData((byte)EventCode.NewPlayer); Dictionary <byte, object> data2 = DictTool.GetDtoDataByProto(newPlayer, ParameterCode.UserName); eventData.Parameters = data2; foreach (var tempPeer in MyGameServer.Instance.peerList) { if (!string.IsNullOrEmpty(tempPeer.userName) && tempPeer != peer) { tempPeer.SendEvent(eventData, sendParameters); } } }