public void Test() { var apc = Apc.Allocate(); apc.FunctionName = RpcMessageType.RequestCreateRoom; var msg = RequestCreateRoomMessage.Allocate(); msg.HallRoomId = 1; msg.MapId = 33; var player = RoomPlayer.Allocate(); player.Id = 4; msg.Players.Add(player); { MemoryStream stream = new MemoryStream(); if (msg != null) { _serializer.Serialize(stream, msg); } ByteString byteString = ByteString.CopyFrom(stream.ToArray()); apc.Parameters.Add(byteString); } NetworkChannelOnMessageReceived(null, 0, apc); msg.ReleaseReference(); }
public override void Reset() { base.Reset(); IsDummy = false; Message = null; }
private void FinishRoomCreate(RequestCreateRoomMessage message) { CreateTestPlayer(); SendCreateRoomResponse(message); _room.Start(); if (_roomListener != null) { _roomListener.OnRoomCreated(_room); } _isGameOverMsgSend = false; _logger.InfoFormat("CreateRoom Successfully"); }
public ServerRoom Create(RequestCreateRoomMessage message) { _logger.InfoFormat("Handle CreateRoom Message"); var serverRoom = new ServerRoom(new RoomId(1), _contexts, _dispatcher, _coRouitneManager, _assetMananger, _tokenGenerator); ResetEventDispacther(); if (message != null) { HallRoom hallRoom = new HallRoom(_dispatcher, _contexts); hallRoom.HallRoomId = message.HallRoomId; hallRoom.ModeId = message.ModeId; hallRoom.TeamCapacity = message.TeamCapacity; hallRoom.MapId = message.MapId; hallRoom.RevivalTime = message.RevivalTime; hallRoom.MultiAngleStatus = message.MultiAngleStatus; hallRoom.WatchStatus = message.WatchStatus; hallRoom.HelpStatus = message.HelpStatus; hallRoom.HasFriendHarm = message.HasFriendHarm; hallRoom.WaitTimeNum = message.WaitTimeNum; hallRoom.OverTime = message.OverTime; hallRoom.ConditionValue = message.ConditionValue; hallRoom.ConditionType = message.ConditionType; hallRoom.ChannelName = message.ChannelName; hallRoom.RoomName = message.CustomRoomName; hallRoom.RoomCapacity = message.CustomRoomCapacity; hallRoom.RoomDisplayId = (int)message.CustomRoomDisplayId; hallRoom.Init(); serverRoom.SetHallRoom(hallRoom); serverRoom.SetRoomInfo(hallRoom); serverRoom.SetGameMode(message.ModeId); _logger.InfoFormat("Create Room {0}", message.MapId); } else { //serverRoom.SetHallRoom(new DummyHallRoom(_dispatcher, _contexts)); HallRoom hallRoom = new DummyHallRoom(_dispatcher, _contexts); hallRoom.Init(); serverRoom.SetHallRoom(hallRoom); serverRoom.SetGameMode(RuleMap.GetRuleId(SingletonManager.Get <ServerFileSystemConfigManager>().BootConfig.Rule)); } //serverRoom.Reset(); return(serverRoom); }
public void Handle(INetworkChannel networkChannel, object messagName, RequestCreateRoomMessage messageData) { var e = RoomEvent.AllocEvent <CreateRoomEvent>(); e.Message = messageData as RequestCreateRoomMessage; _dispatcher.AddEvent(e); if (e.Message != null) { _logger.InfoFormat("Receive Create Room Message Hall Room Id {0} Map Id {1}", e.Message.HallRoomId, e.Message.MapId); } else { _logger.ErrorFormat("Receive Create Room Message is Null"); } }
private void SendCreateRoomResponse(RequestCreateRoomMessage message) { if (message == null) { return; } var resMsg = ResponseCreateRoomMessage.Allocate(); resMsg.RetCode = 0; //Success resMsg.HallRoomId = message.HallRoomId; var evt = RoomEvent.AllocEvent <CreateRoomResponseEvent>(); evt.Success = true; evt.Message = resMsg; evt.RoomId = _room.RoomId.Id; _dispatcher.AddEvent(evt); }