public override void OnHandlerMessage(OperationRequest request, OperationResponse response, ARPeer peer, SendParameters sendParameters) { SubCode subcode = ParameterTool.GetParameter <SubCode>(request.Parameters, ParameterCode.SubCode, false); switch (subcode) { case SubCode.AddRole: { int heroIndex = ParameterTool.GetParameter <int>(request.Parameters, ParameterCode.RoleID, false); Dictionary <byte, object> responseParameter = new Dictionary <byte, object>(); responseParameter.Add((byte)ParameterCode.RoleID, heroIndex); //response.Parameters = responseParameter; for (int i = 0; i < ARApplication.AR_Instance.peerListForTeam.Count; i++) { if (peer != ARApplication.AR_Instance.peerListForTeam[i]) { EventData data = new EventData(); data.Parameters = responseParameter; ARApplication.AR_Instance.peerListForTeam[i].SendEvent(data, sendParameters); } } } break; case SubCode.SendTeam: { if (ARApplication.AR_Instance.peerListForTeam.Count == 2) { ARPeer peer1 = ARApplication.AR_Instance.peerListForTeam[0]; Team t = new Team(peer1, peer); Dictionary <byte, object> parameterDic = new Dictionary <byte, object>(); parameterDic.Add((byte)ParameterCode.SubCode, SubCode.GetTeam); response.Parameters = parameterDic; } else { ARApplication.AR_Instance.peerListForTeam.Add(peer); Dictionary <byte, object> parameterDic = new Dictionary <byte, object>(); parameterDic.Add((byte)ParameterCode.SubCode, SubCode.WaitTeam); response.Parameters = parameterDic; } } break; } }
public abstract void OnHandlerMessage(OperationRequest request, OperationResponse response, ARPeer peer, SendParameters sendParameters);
public override void OnHandlerMessage(OperationRequest request, OperationResponse response, ARPeer peer, SendParameters sendParameters) { SubCode subcode = ParameterTool.GetParameter <SubCode>(request.Parameters, ParameterCode.SubCode, false); switch (subcode) { case SubCode.LoadRoomList: { IList <Room> roomList = roomManager.GetAllRoom(); string jsonObject = JsonMapper.ToJson(roomList); Dictionary <byte, object> parameter = new Dictionary <byte, object>(); parameter.Add((byte)ParameterCode.SubCode, SubCode.LoadRoomList); parameter.Add((byte)ParameterCode.ServerList, jsonObject); response.Parameters = parameter; } break; case SubCode.AddRoom: { Room roomToAdd = ParameterTool.GetParameter <Room>(request.Parameters, ParameterCode.RoomName); roomManager.AddRoom(roomToAdd); Dictionary <byte, object> parameter = new Dictionary <byte, object>(); parameter.Add((byte)ParameterCode.SubCode, SubCode.AddRoom); response.Parameters = parameter; } break; case SubCode.RemoveRoom: { string roomName = ParameterTool.GetParameter <string>(request.Parameters, ParameterCode.RoomName, false); roomManager.RemoveRoomByName(roomName); Dictionary <byte, object> parameter = new Dictionary <byte, object>(); parameter.Add((byte)ParameterCode.SubCode, SubCode.RemoveRoom); parameter.Add((byte)ParameterCode.RoomName, "成功移除房间"); response.Parameters = parameter; } break; } }
public override void OnHandlerMessage(OperationRequest request, OperationResponse respons, ARPeer peer, SendParameters sendParameters) { string userName = ParameterTool.GetParameter <string>(request.Parameters, ParameterCode.UserName, false); string pwd = ParameterTool.GetParameter <string>(request.Parameters, ParameterCode.Pwd, false); IList <User> userList = userManager.GetUserName(userName); if (userList.Count == 0 || userList == null) { Dictionary <byte, object> parameter = new Dictionary <byte, object>(); parameter.Add((byte)ReturnCode.Sucess, "登录失败,用户名或密码错误!"); respons.Parameters = parameter; } if (userList.Count > 0) { Dictionary <byte, object> parameter = new Dictionary <byte, object>(); parameter.Add((byte)ReturnCode.Sucess, "登录成功!"); respons.Parameters = parameter; } }