コード例 #1
0
ファイル: Play.cs プロジェクト: wujun4code/Play-SDK-dotNET
        internal static void RunSocketCommand(PlayCommand command, PlayEventCode eventCode = PlayEventCode.None, Action <PlayCommand, PlayResponse> done = null)
        {
            var encoded = command.SokcetEncode;

            Play.Log("socket=>" + encoded);
            Play.RoomConnection.Send(encoded);

            var repsonseListener = new SocketResponseListener()
            {
                Command   = command,
                Done      = done,
                EventCode = eventCode
            };

            Play.SubscribeNoticeReceived(repsonseListener);

            //Action<string> onMessage = null;

            //LogCommand(command, null, CommandType.WebSocket);
            //onMessage = (messgae) =>
            //{
            //	var messageJson = Json.Parse(messgae) as IDictionary<string, object>;
            //	if (messageJson.Keys.Contains("i"))
            //	{
            //		if (command.Body["i"].ToString() == messageJson["i"].ToString())
            //		{
            //			RoomConnection.OnMessage -= onMessage;
            //			var response = new PlayResponse(messageJson);
            //			LogCommand(null, response, CommandType.WebSocket);
            //			if (response.IsSuccessful)
            //			{
            //				if (done != null)
            //				{
            //					done(command, response);
            //				}
            //			}

            //			if (eventCode != PlayEventCode.None)
            //			{
            //				var next = PlayStateMachine.Next(eventCode, response);
            //				if (response.IsSuccessful)
            //				{
            //					Play.InvokeEvent(next);
            //				}
            //				else
            //				{
            //					Play.InvokeEvent(next, response.ErrorCode, response.ErrorReason);
            //				}
            //			}
            //		}
            //	}
            //};

            //RoomConnection.OnMessage += onMessage;
        }
コード例 #2
0
ファイル: Play.cs プロジェクト: wujun4code/Play-SDK-dotNET
        static Play()
        {
            peer              = new PlayPeer();
            Player            = new Player(peer);
            lobby             = new PlayLobby();
            EevntMessageQueue = new Queue <PlayEventMessage>();
            Play.OnPlayEvent += InvokeEvent;

            Play.SubscribeNoticeReceived(new PlayRPCListener());
            Play.SubscribeNoticeReceived(new RoomJoinListener());
            Play.SubscribeNoticeReceived(new RoomOnlineListener());
            Play.SubscribeNoticeReceived(new RoomOfflineListener());
            Play.SubscribeNoticeReceived(new RoomUpdateListener());
            Play.SubscribeNoticeReceived(new RoomLeftListener());
            Play.SubscribeNoticeReceived(new RoomMasterClientSwitchListener());
            Play.SubscribeNoticeReceived(new PlayerPropertyListener());
            Play.SubscribeNoticeReceived(new RoomOpenListener());
            Play.SubscribeNoticeReceived(new RoomVisibleListener());
            Play.StartListen();

            Play.RegisterSynchronousObjectType <PlayRoom>();
            Play.RegisterSynchronousObjectType <Player>();
            Play.RegisterSynchronousObjectType <PlayLobby>();
        }