示例#1
0
        public void StartScene(int sceneId)
        {
            currentSceneId = sceneId;
            currentServer  = new BaseServer();
            currentServer.Connect(ServerConst.ServerAddress, ServerConst.TcpRemotePort, ServerConst.UdpRemotePort, ServerConst.UdpLocalPort, true);
            Int32Data sceneIdData = new Int32Data();

            sceneIdData.Value = sceneId;
            currentServer.Request(HandlerConst.RequestId.RequsetSceneHandler, -1, sceneIdData, SendType.TCP, (reqSceneRes) =>
            {
                if (reqSceneRes.GetValue <BoolData>().Value == true)
                {
                    Debug.logger.Log("请求场景成功");
                    currentServer.Regist(new List <int> {
                        currentSceneId
                    }, new List <int>(), (pkg) =>
                    {
                        Debug.logger.Log("频道注册成功");
                        EventDispatcher.AddEventListener <NetBehavior>(NetSceneEvent.NetBehaviorAddToScene, AddNetBehavior);
                        EventDispatcher.AddEventListener <NetBehavior>(NetSceneEvent.NetBehaviorRemoveFromScene, RemoveNetBehavior);
                        sceneConnected = true;
                    });
                }
                else
                {
                    Debug.logger.LogError("NetPost", "请求场景失败");
                }
            });
        }