예제 #1
0
 /// <summary>
 /// 初始化监听器。
 /// 该方法为静态方法。初始化 Listener 时需要传入 gameInfo 和 config 两个参数。
 /// 初始化结果在 callback 中异步返回,错误码为 0 表示初始化成功。
 /// </summary>
 /// <param name="gameInfo"> 游戏信息 </param>
 /// <param name="config"> 游戏配置 </param>
 /// <param name="callback"> 初始化回调函数 </param>
 public static void Init(GameInfoPara gameInfo, ConfigPara config, Action <ResponseEvent> callback)
 {
     Sdk.Instance = new Sdk(gameInfo, config);
     Sdk.Instance.Init(callback);
     // 绑定全局广播
     Sdk.Instance.BindResponse(GlobalRoomBroadcast.Instance);
 }
예제 #2
0
        // public SDKType.RoomInfo roomInfo;

        public Sdk(GameInfoPara gameInfo, ConfigPara config)
        {
            var task = Task.Run(() => SdkUtil.UploadMgobeUserInfo(gameInfo.GameId));

            if (Instance != null)
            {
                return;
            }
            Instance = this;

            // 合并游戏信息
            GameInfo.Assign(gameInfo);
            Config.Assign(config);
            RequestHeader.GameId = gameInfo.GameId;
        }
예제 #3
0
    // Start is called before the first frame update
    public static void Login(string name)
    {
        var gameInfo = new GameInfoPara {
            // 替换 为控制台上的“游戏ID”
            GameId = "obg-gb9uj4hq",
            // 玩家 openId
            OpenId = name,
            //替换 为控制台上的“游戏Key”
            SecretKey = "50635494ab9c1a40074f1ccf66c260f5d072b831"
        };
        var config = new ConfigPara {
            // 替换 为控制台上的“域名”
            Url = "gb9uj4hq.wxlagame.com",
            ReconnectMaxTimes  = 5,
            ReconnectInterval  = 1000,
            ResendInterval     = 1000,
            ResendTimeout      = 10000,
            IsAutoRequestFrame = true,
        };

// 初始化监听器 Listener
        Listener.Init(gameInfo, config, (ResponseEvent eve) => {
            if (eve.Code == 0)
            {
                EventManager.Invoke(EventType.OnLogin, new BaseEventArgs()
                {
                    Code    = 0,
                    Message = "初始化成功"
                });
                openId = name;
            }
            else
            {
                Debug.LogFormat("初始化失败: {0}", eve.Code);
                EventManager.Invoke(EventType.OnLogin, new BaseEventArgs()
                {
                    Code    = -1,
                    Message = "初始化失败"
                });
            }
// 初始化广播回调事件
        });
    }
예제 #4
0
    public void InitNetWork(string userId)
    {
        InitGlobal(userId);
        GameInfoPara gameInfo = new GameInfoPara
        {
            GameId    = Global.GameId,
            OpenId    = Global.OpenId,
            SecretKey = Global.SecretKey,
        };

        ConfigPara config = new ConfigPara
        {
            Url = Global.Server,
            ReconnectMaxTimes = 5,
            ReconnectInterval = 1000,
            ResendInterval    = 1000,
            ResendTimeout     = 10000
        };

        Listener.Init(gameInfo, config, OnListenerInit);
    }
예제 #5
0
 public static void Assign(GameInfoPara gameInfo)
 {
     OpenId    = gameInfo.OpenId;
     GameId    = gameInfo.GameId;
     SecretKey = gameInfo.SecretKey;
 }