Skip to content

Commit 5360f3d

Browse files
author
songwei
committed
更新SDK
1 parent 10300af commit 5360f3d

File tree

6 files changed

+36472
-29481
lines changed

6 files changed

+36472
-29481
lines changed

MatchvsDemo_Egret/src/matchvs/MsEngine.ts

+6-6
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,9 @@ module mvs {
2626
* @param {string} platform
2727
* @param {number} gameID
2828
*/
29-
public init(channel:string, platform:string, gameID:number):number{
29+
public init(channel:string, platform:string, gameID:number, appkey:string):number{
3030
this._response = MsResponse.getInstance.getResponse();
31-
let res = this._engine.init(MsResponse.getInstance.getResponse(),channel,platform,gameID);
31+
let res = this._engine.init(MsResponse.getInstance.getResponse(),channel,platform,gameID,appkey, 1);
3232
if (res !== 200){
3333
console.info("[MsEngine init failed] resCode:",res);
3434
return res;
@@ -40,9 +40,9 @@ module mvs {
4040
/**
4141
* 独立部署的初始化
4242
*/
43-
public premiseInit(endPoint:string, gameID:number):number{
43+
public premiseInit(endPoint:string, gameID:number, appkey:string):number{
4444
this._response = MsResponse.getInstance.getResponse();
45-
let res = this._engine.premiseInit( MsResponse.getInstance.getResponse(),endPoint, gameID);
45+
let res = this._engine.premiseInit( MsResponse.getInstance.getResponse(),endPoint, gameID, appkey);
4646
if (res !== 0){
4747
console.info("[MsEngine premiseInit failed] resCode:",res);
4848
return res;
@@ -59,8 +59,8 @@ module mvs {
5959
* @param {string} appkey 游戏 appkey
6060
* @param {string} secretkey 游戏 secretkey
6161
*/
62-
public login(userID:number, token:string, gameID:number, appkey:string):number{
63-
let res = this._engine.login(userID,token,gameID,1,appkey,"eglejjddg");
62+
public login(userID:number, token:string):number{
63+
let res = this._engine.login(userID,token,"eglejjddg");
6464
console.info("[MsEngine login] resCode:",res);
6565
return res;
6666
}

MatchvsDemo_Egret/src/screen/Login.ts

+8-4
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ class Login extends eui.Component implements eui.UIComponent {
2929
this.btn_enter = instance;
3030
this.btn_enter.addEventListener(egret.TouchEvent.TOUCH_TAP, ()=>{
3131
console.log(" environment=" + GameData.DEFAULT_ENV + " gameid=" + GameData.gameID);
32-
let result = mvs.MsEngine.getInstance.init(GameData.CHANNEL, GameData.DEFAULT_ENV, GameData.gameID);
32+
let result = mvs.MsEngine.getInstance.init(GameData.CHANNEL, GameData.DEFAULT_ENV, GameData.gameID, GameData.appkey);
3333
}, this);
3434
}else if("rect_clear" == partName){
3535
this.rect_clear = instance;
@@ -84,7 +84,11 @@ class Login extends eui.Component implements eui.UIComponent {
8484
}
8585

8686
private initResponse(ev:egret.Event) {
87-
console.log("initResponse,status:" + ev.data.status);
87+
// console.log("initResponse,status:" + ev.data.status);
88+
if( ev.data.status !== 200){
89+
console.log("init failed", ev.data.status);
90+
return;
91+
}
8892
//获取微信信息
8993
this.getUserFromWeChat((userInfos)=>{
9094
//绑定 微信 openID 成功 生成一个 专用 userID 登录
@@ -107,7 +111,7 @@ class Login extends eui.Component implements eui.UIComponent {
107111
GameData.gameUser.token = userInfo.token;
108112
//登录
109113
if(userInfo.status == 0){
110-
mvs.MsEngine.getInstance.login(userInfo.id, userInfo.token, GameData.gameID,GameData.appkey);
114+
mvs.MsEngine.getInstance.login(userInfo.id, userInfo.token);
111115
}
112116
}
113117
/**
@@ -228,7 +232,7 @@ class Login extends eui.Component implements eui.UIComponent {
228232
GameData.gameUser.avatar = wxUserInfo.userInfo.avatarUrl;
229233
GameData.gameUser.token = repData.data.token;
230234
//绑定成功就登录
231-
mvs.MsEngine.getInstance.login(GameData.gameUser.id, GameData.gameUser.token, GameData.gameID,GameData.appkey);
235+
mvs.MsEngine.getInstance.login(GameData.gameUser.id, GameData.gameUser.token);
232236
}else{
233237
console.log("bindOpenIDWithUserID get error : " , err);
234238
}

MatchvsDemo_Egret/src/screen/PremiseLoginUI.ts

+4-3
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,8 @@ class PremiseLoginUI extends eui.Component implements eui.UIComponent {
110110
private premiseInit(event:egret.TouchEvent){
111111
let endPoint:string = this.txt_endport.text;
112112
let gameID:number = Number(this.txt_gameID.text);
113-
mvs.MsEngine.getInstance.premiseInit(endPoint,gameID);
113+
let appkey:string = this.txt_appKey.text;
114+
mvs.MsEngine.getInstance.premiseInit(endPoint,gameID,appkey);
114115
}
115116

116117
/**
@@ -120,14 +121,14 @@ class PremiseLoginUI extends eui.Component implements eui.UIComponent {
120121
let userID:number = Number(this.txt_userID.text);
121122
let token:string = this.txt_token.text;
122123
let gameID:number = Number(this.txt_gameID.text);
123-
let appkey:string = this.txt_appKey.text;
124+
124125
let secretkey:string = this.txt_secretKey.text;
125126
GameData.gameUser.id = userID;
126127
GameData.gameUser.token = token;
127128
/**
128129
* 调用 matchvs 登录接口
129130
*/
130-
mvs.MsEngine.getInstance.login(userID,token,gameID, appkey);
131+
mvs.MsEngine.getInstance.login(userID,token);
131132
}
132133

133134
/**

matchvs/matchvs.d.ts

+110-32
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
* @Author: Ville
44
* @Date: 2018-04-17 17:46:35
55
* @LastEditors: Ville
6-
* @LastEditTime: 2018-12-21 16:37:21
6+
* @LastEditTime: 2019-01-30 14:25:25
77
* @Version: Develop v3.7.5.+
88
* @Description: Matchvs skd .d.ts define files for typescrip
99
*/
@@ -18,7 +18,8 @@ declare namespace MVS{
1818
public startIndex:number;
1919
public timestamp:string;
2020
public enableGS:number;
21-
constructor(frameRate:number, startIndex:number, timestamp:string,enableGS:number);
21+
public cacheFrameMS:number;
22+
constructor(frameRate:number, startIndex:number, timestamp:string,enableGS:number, cacheFrameMS:number);
2223
}
2324

2425
/**
@@ -157,7 +158,7 @@ declare namespace MVS{
157158
* @param {MsTeamMatchCond} cond 队伍匹配参数设置
158159
* @memberof MsTeamMatchInfo
159160
*/
160-
constructor(roomName: string, maxPlayer: number, canWatch: number, mode: number, visibility: number, roomProperty: string, watchSet: MsWatchSet, cond: MsTeamMatchCond);
161+
constructor(roomName: string, maxPlayer: number, canWatch: number, mode: number, visibility: number, roomProperty: string, cond: MsTeamMatchCond, watchSet: MsWatchSet);
161162
}
162163

163164
class MsJoinTeamInfo{
@@ -1137,14 +1138,9 @@ declare class MatchvsResponse {
11371138
* @param {number} rsp.status 配置的状态,200 成功,422 超时
11381139
* @param {Array<any>} rsp.brigades 配置到队伍,大队伍列表信息
11391140
* @param {number} rsp.brigades.brigadeID 大队伍ID号
1140-
* @param {Array<any>} rsp.brigades.teamList 小队伍列表
1141-
* @param {string} rsp.brigades.teamList.teamID 小队伍ID号
1142-
* @param {number} rsp.brigades.teamList.capacity 小队伍容量
1143-
* @param {number} rsp.brigades.teamList.mode 小队伍模式,开发者自定义数据
1144-
* @param {number} rsp.brigades.teamList.owner 小队伍队长
1145-
* @param {Array<any>} rsp.brigades.teamList.playerList 小队伍玩家列表
1146-
* @param {number} rsp.brigades.teamList.playerList.userID 小队伍玩家ID
1147-
* @param {string} rsp.brigades.teamList.playerList.userProfile 小队伍玩家自定义数据
1141+
* @param {Array<any>} rsp.brigades.playerList 小队伍玩家列表
1142+
* @param {number} rsp.brigades.playerList.userID 小队伍玩家ID
1143+
* @param {string} rsp.brigades.playerList.userProfile 小队伍玩家自定义数据
11481144
* @memberof MatchvsResponse
11491145
*/
11501146
teamMatchResultNotify(rsp:any):void
@@ -1156,6 +1152,68 @@ declare class MatchvsResponse {
11561152
* @memberof MatchvsResponse
11571153
*/
11581154
teamMatchStartNotify(rsp:any):void
1155+
1156+
/**
1157+
*
1158+
* @param {number} rsp.status 状态值
1159+
* @param {number} rsp.frameCount 帧数量
1160+
* @param {number} rsp.msgCount 消息数量
1161+
*/
1162+
getOffLineDataResponse(rsp:any);
1163+
1164+
/**
1165+
* 取消组队匹配返回,但调用 cancelTeamMatch 接口后,通过这个接口接收服务的结果
1166+
* @param {number} rsp.status
1167+
*/
1168+
cancelTeamMatchResponse(rsp:any);
1169+
1170+
/**
1171+
* 取消组队匹配时
1172+
* @param {any} notify
1173+
* @param {number} notify.userID 取消组队匹配的玩家ID
1174+
* @param {string} notify.teamID 当前的队伍号
1175+
* @param {string} notify.cpProto 取消时附带的消息
1176+
*/
1177+
cancelTeamMatchNotify(notify:any);
1178+
1179+
/**
1180+
* 在队伍中发送消息回调,调用sendTeamEvent 接口后,这个接口收到发送的结果
1181+
* @param {any} rsp
1182+
* @param {number} rsp.status 发送队伍消息的结果,200 成功。
1183+
* @param {Array<number>} rsp.dstUserIDs 发送消息给了哪些玩家。
1184+
*/
1185+
sendTeamEventResponse(rsp:any);
1186+
1187+
/**
1188+
* 接收忘记发送队伍消息,当其他玩家在队伍中发送消息时,其他指定的玩家就能收到这个接口的回调
1189+
* @param {any} notify
1190+
* @param {any} notify.userID 发送消息的玩家ID
1191+
* @param {any} notify.teamID 当前队伍号
1192+
* @param {string} notify.cpProto 收到的数据
1193+
*/
1194+
sendTeamEventNotify(notify:any);
1195+
1196+
/**
1197+
* 调用 kickTeamMember 接口后,通过这个接口获取服务的结果
1198+
* @param {any} rsp
1199+
* @param {number} rsp.status 状态 200 表示成功
1200+
* @param {Array<number>} rsp.members 队伍内剩下的玩家
1201+
* @param {number} rsp.owner 当前队伍中队长
1202+
* @param {string} rsp.teamID 当前队伍号
1203+
*/
1204+
kickTeamMemberResponse(rsp:any);
1205+
1206+
/**
1207+
* 收到踢人通知,当队伍中有人触发踢人接口,其他人就会收到这个接口的通知
1208+
* @param {any} notify
1209+
* @param {string} notify.teamID 当前队伍号
1210+
* @param {number} notify.userID 当前发起踢人的玩家号
1211+
* @param {number} notify.dstUserID 被踢的玩家号
1212+
* @param {number} notify.owner 当前队伍的队长
1213+
* @param {Array<number>} notify.members 队伍中剩下的玩家
1214+
* @param {string} notify.cpProto 踢人时携带的消息
1215+
*/
1216+
kickTeamMemberNotify(notify:any);
11591217
}
11601218

11611219

@@ -1176,31 +1234,31 @@ declare class MatchvsEngine {
11761234
* @param {string} pChannel 默认填写 "Matchvs"
11771235
* @param {string} pPlatform 有 release和alpha 两个值,对应两个不同环境。
11781236
* @param {number} gameID 游戏ID,官网生成
1237+
* @param {number} appKey 游戏 App key 官网生成
1238+
* @param {number} gameVersion 游戏版本,自定义,用于隔离匹配空间
11791239
* @returns {number}
11801240
*/
1181-
init(pResponse: MatchvsResponse, pChannel: string, pPlatform: string, gameID: number): number
1241+
init(pResponse: MatchvsResponse, pChannel: string, pPlatform: string, gameID: number, appKey: string, gameVersion: number): number
11821242

11831243
/**
11841244
* 用于独立部署的初始化接口,初始化,后续收到的回调是都是由该对象初始化的pResponse对象控制。
11851245
* @param {MatchvsResponse} pResponse 这个参数需要保证全局唯一,避免在重定MatchvsResponse类型值时收不到 相关接口的
11861246
* @param {string} endPoint matchvs 服务部署的地址 有端口就要加上端口号,例如:www.matchvs.com:12345
11871247
* @param {number} gameID 独立部署配置的 游戏ID
1248+
* @param {number} appKey 游戏 App key 官网生成
11881249
* @returns {number} 0-成功
11891250
*/
1190-
premiseInit(pResponse: MatchvsResponse, endPoint:string, gameID:number): number
1251+
premiseInit(pResponse: MatchvsResponse, endPoint:string, gameID:number, appKey: string): number
11911252

11921253
/**
11931254
* 登录
11941255
* @param {number} pUserID 用户ID,该值必须使用 registerUser接口回调的用户ID
11951256
* @param {string} pToken 用户验证字段,用于验证 userID
1196-
* @param {number} pGameID 游戏ID,由 matchvs 官网生成
1197-
* @param {number} pGameVersion 开发者自定义 默认 1
1198-
* @param {string} pAppkey 游戏key 由 matchvs 官网生成
11991257
* @param pDeviceID 用于区分 用户在不同设备登录情况,用户只能在一个设备登录,默认填1,如果允许一个设备登录就要开发者
12001258
* 自定义唯一值,或者获取 设备ID值
12011259
* @returns {number}
12021260
*/
1203-
login(pUserID: number, pToken: string, pGameID: number, pGameVersion: number, pAppkey: string, pDeviceID: string): number
1261+
login(pUserID: number, pToken: string, pDeviceID: string): number
12041262

12051263
/**
12061264
* 用户网关速度,暂时不用
@@ -1325,10 +1383,11 @@ declare class MatchvsEngine {
13251383
* frameRate ex:10/s . = 0 is off,>0 is on.
13261384
* @param {number} frameRate
13271385
* @param {number} enableGS 0-gs不参与帧同步 1-gs参与帧同步
1328-
* @param {number} other 其他数据
1386+
* @param {any} other 其他数据
1387+
* @param {any} other.cacheFrameMS 其他数据
13291388
* @returns {number}
13301389
*/
1331-
setFrameSync(frameRate:number, enableGS?:number ):number
1390+
setFrameSync(frameRate:number, enableGS?:number , other?:any):number
13321391

13331392

13341393
/**
@@ -1356,9 +1415,9 @@ declare class MatchvsEngine {
13561415

13571416
/**
13581417
* 发送消息的扩展,sequence 的用途和 sendEvent 返回的 sequence 相同
1359-
* @param {number} msgType 0-包含destUids 1-排除destUids
1418+
* @param {number} msgType 0-客户端+not GameServer 1-not客户端 + GameServer 2-客户端 + GameServer
13601419
* @param {string} data 要发送的数据
1361-
* @param {number} desttype 0-客户端+not CPS 1-not客户端+ CPS 2-客户端 + CPS
1420+
* @param {number} desttype 0-包含destUids 1-排除destUids
13621421
* @param {Array<number>} userIDs 玩家ID集合 [1,2,3,4,5]
13631422
* @returns {{sequence: number, result: number}}
13641423
*/
@@ -1454,17 +1513,36 @@ declare class MatchvsEngine {
14541513
* @memberof MatchvsEngine
14551514
*/
14561515
teamMatch(matchInfo:MVS.MsTeamMatchInfo):number
1457-
}
14581516

1459-
declare class md5 {
1460-
constructor();//构造函数
1461-
/**
1462-
*
1463-
*/
1464-
hex_md5 (s:string) :string
1465-
}
1517+
/**
1518+
* 获取断线期间的帧数据,只有开启的帧同步功能才能有效
1519+
* @param cacheFrameMS
1520+
*/
1521+
getOffLineData(cacheFrameMS:number):number
14661522

1467-
declare class MatchvsHttp {
1468-
constructor(callBack);//构造函数
1469-
get(url);
1523+
/**
1524+
* 取消组队匹配,只有在组队匹配的时候才能调用这个接口
1525+
* @param {object} args
1526+
* @param {string} args.cpProto 取消组队匹配时携带的消息 长度不能超过 1024/B
1527+
*/
1528+
cancelTeamMatch(args:object):number
1529+
1530+
/**
1531+
* 组队时,进入到同一个队伍中的玩家,可以通过这个接口来发送消息。这个消息发送频率是有限制 50ms/条。
1532+
* @param {object} args
1533+
* @param {number} args.dstType 0-包含dstUids 1-排除dstUids
1534+
* @param {number} args.msgType 0-只发client 1-只发gs 2-client和 gs 都发
1535+
* @param {Array<number>} args.dstUserIDs 指定的用户列表 配合 dstType 使用
1536+
* @param {string} args.data 发送的数据 长度不能超过 1024/B
1537+
*/
1538+
sendTeamEvent(args:object):number
1539+
1540+
/**
1541+
* 剔除队伍中的指定玩家,队伍中任何人都可以剔除任意人,但是不能剔除自己。
1542+
* @param {object} args
1543+
* @param {number} args.userID 要剔除的玩家
1544+
* @param {number} args.cpProto 剔除玩家时携带的信息,长度不能超过 1024/B
1545+
*/
1546+
kickTeamMember(args:object):number
14701547
}
1548+

0 commit comments

Comments
 (0)