Example #1
0
        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();
        }
Example #2
0
        public override void Reset()
        {
            base.Reset();

            IsDummy = false;
            Message = null;
        }
Example #3
0
 private void FinishRoomCreate(RequestCreateRoomMessage message)
 {
     CreateTestPlayer();
     SendCreateRoomResponse(message);
     _room.Start();
     if (_roomListener != null)
     {
         _roomListener.OnRoomCreated(_room);
     }
     _isGameOverMsgSend = false;
     _logger.InfoFormat("CreateRoom Successfully");
 }
Example #4
0
        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");
            }
        }
Example #6
0
        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);
        }