服务 / RoomService
RoomService Class
MGS以及玩家信息、数据、头像等相关API。 MGS = Meta Game Service, 是编辑器提供给开发者的一些原生服务,如发布游戏后的左上角聊天、好友相关信息服务。
Table of contents
Methods
getCurrentEnvironment(resp : MGSResponse ): void |
---|
获取当前的环境 |
getMGSRoomId(): string |
获取 MGS 平台的 RoomId |
getRoomId(): string |
获取游戏的RoomMgr分配的RoomId |
isSupported(): boolean |
获取当前环境是否支持MGS功能 |
joinAudio(resp : MGSResponse ): void |
游戏方可调用 joinAudio 加入语音频道,游戏用户可使用语音服务(可说话、可听到其他游戏用户声音) |
kick(player : number Player , message? : string ): void server |
将某一玩家踢下线 |
registerMGSChatMessageEvent(callback : MGSEvent ): void |
注册聊天回调 |
reportLogInfo(eventName : string , eventDesc : string , jsonData : string ): void |
游戏方调用 reportLogInfo 接口上报运营所需的埋点数据 |
requestSaveImage(resp : MGSResponse , mgsData : string ): void |
向233发起imageModify并获得回调 |
requestSavePortrait(resp : MGSResponse , mgsData : string ): void |
向233发起editProfile并获得回调 |
requestShareScreenShot(resp : MGSResponse , mgsData : string ): void |
向 233 发起 shareScreenshot 并获得回调 |
showExitGameDialog(resp : MGSResponse ): void |
游戏方可调用 showExitGameDialog 来显示退出游戏确认框 |
showFloatingLayer(resp : MGSResponse , tab : number ): void |
向 233 发起 showFloatingLayer 来展开悬浮层的内容,可展开聊天/好友功能 |
showUserProfile(resp : MGSResponse , userId : string ): void |
若需要查看 233 玩家的资料信息,可通过调用 showUserProfile 进行查看, SDK 会弹出资料卡片弹窗 |
Methods
getCurrentEnvironment
• Static
getCurrentEnvironment(resp
): void
获取当前的环境
Parameters
resp MGSResponse | 获取到的当前的环境 |
---|
Precautions
只在移动端由233拉起生效
getMGSRoomId
• Static
getMGSRoomId(): string
获取 MGS 平台的 RoomId
Returns
string | MGS 平台的 RoomId |
---|
Precautions
只在由 233 拉起生效
ts
@Component
export default class RoomExample extends mw.Script {
protected onStart(): void {
console.log("获取MGS平台的RoomId", RoomService.getMGSRoomId());
}
}
@Component
export default class RoomExample extends mw.Script {
protected onStart(): void {
console.log("获取MGS平台的RoomId", RoomService.getMGSRoomId());
}
}
getRoomId
• Static
getRoomId(): string
获取游戏的RoomMgr分配的RoomId
Returns
string | 游戏的RoomMgr分配的RoomId |
---|
Precautions
只在由233拉起生效
ts
@Component
export default class RoomExample extends mw.Script {
protected onStart(): void {
console.log("获取当前游戏的RoomMgr分配的RoomId", RoomService.getRoomId());
}
}
@Component
export default class RoomExample extends mw.Script {
protected onStart(): void {
console.log("获取当前游戏的RoomMgr分配的RoomId", RoomService.getRoomId());
}
}
isSupported
• Static
isSupported(): boolean
获取当前环境是否支持MGS功能
Returns
boolean | 当前环境是否支持MGS功能 |
---|
ts
@Component
export default class RoomExample extends mw.Script {
protected onStart(): void {
console.log("当前环境是否支持MGS功能:", RoomService.isSupported());
}
}
@Component
export default class RoomExample extends mw.Script {
protected onStart(): void {
console.log("当前环境是否支持MGS功能:", RoomService.isSupported());
}
}
joinAudio
• Static
joinAudio(resp
): void
游戏方可调用 joinAudio 加入语音频道,游戏用户可使用语音服务(可说话、可听到其他游戏用户声音)
Parameters
resp MGSResponse | 233的回调 |
---|
Precautions
只在移动端由233拉起生效
kick
• Static
kick(player
, message?
): void
server
将某一玩家踢下线
Parameters
player number Player | 踢下线的 Player |
---|---|
message? string | 踢出玩家时触发退出 UI 弹出的信息 default:null range: 提示适合长度的信息即可 |
ts
@Component
export default class NewScript extends Script {
protected onStart(): void {
if(SystemUtil.isServer()) {
Player.spawnDefaultCharacter();
}
let player = await mw.Player.asyncGetLocalPlayer();
if(SystemUtil.isClient()) {
mw.InputUtil.onKeyDown(Keys.G,()=>{
mw.Event.dispatchToServer(`AddPlayerPassable`,player);
})
}
if(SystemUtil.isServer()) {
mw.Event.addClientListener(`AddPlayerPassable`,(player : Player)=>{
RoomService.kick(player);
})
}
}
}
@Component
export default class NewScript extends Script {
protected onStart(): void {
if(SystemUtil.isServer()) {
Player.spawnDefaultCharacter();
}
let player = await mw.Player.asyncGetLocalPlayer();
if(SystemUtil.isClient()) {
mw.InputUtil.onKeyDown(Keys.G,()=>{
mw.Event.dispatchToServer(`AddPlayerPassable`,player);
})
}
if(SystemUtil.isServer()) {
mw.Event.addClientListener(`AddPlayerPassable`,(player : Player)=>{
RoomService.kick(player);
})
}
}
}
registerMGSChatMessageEvent
• Static
registerMGSChatMessageEvent(callback
): void
注册聊天回调
Parameters
callback MGSEvent | 有消息时的触发函数 |
---|
Precautions
只在移动端由233拉起生效
ts
@Component
export default class NewScript extends Script {
protected onStart(): void {
if(SystemUtil.isClient()){
const callback = (receivedMsg: string) =>{
console.log("we received Chat message"+ receivedMsg +"from MGS");
};
RoomService.registerMGSChatMessageEvent(callback);
}
}
}
@Component
export default class NewScript extends Script {
protected onStart(): void {
if(SystemUtil.isClient()){
const callback = (receivedMsg: string) =>{
console.log("we received Chat message"+ receivedMsg +"from MGS");
};
RoomService.registerMGSChatMessageEvent(callback);
}
}
}
reportLogInfo
• Static
reportLogInfo(eventName
, eventDesc
, jsonData
): void
游戏方调用 reportLogInfo 接口上报运营所需的埋点数据
Parameters
eventName string | 事件名称 range:字符串长度不做限制,制定适合长度的字符串即可 |
---|---|
eventDesc string | 事件描述 range:字符串长度不做限制,制定适合长度的字符串即可 |
jsonData string | 发送的 json 数据 range:字符串长度不做限制,制定适合长度的字符串即可 |
Precautions
只在移动端由233拉起生效,数据需要时json格式
requestSaveImage
• Static
requestSaveImage(resp
, mgsData
): void
向233发起imageModify并获得回调
Parameters
resp MGSResponse | 233的回调 |
---|---|
mgsData string | 要保存的图片 Url 地址 range:地址 |
Precautions
只在移动端由233拉起生效
requestSavePortrait
• Static
requestSavePortrait(resp
, mgsData
): void
向233发起editProfile并获得回调
Parameters
resp MGSResponse | 233的回调 |
---|---|
mgsData string | 要保存的 mgs 数据 range:制定适合长度的字符串数据即可 |
Precautions
只在移动端由233拉起生效
requestShareScreenShot
• Static
requestShareScreenShot(resp
, mgsData
): void
向 233 发起 shareScreenshot 并获得回调
Parameters
resp MGSResponse | 233的回调 |
---|---|
mgsData string | 要保存的图片 Url 地址 range:地址 |
Precautions
只在移动端由233拉起生效
showExitGameDialog
• Static
showExitGameDialog(resp
): void
游戏方可调用 showExitGameDialog 来显示退出游戏确认框
Parameters
resp MGSResponse | 233的回调 |
---|
Precautions
只在移动端由233拉起生效
showFloatingLayer
• Static
showFloatingLayer(resp
, tab
): void
向 233 发起 showFloatingLayer 来展开悬浮层的内容,可展开聊天/好友功能
Parameters
resp MGSResponse | 233的回调 |
---|---|
tab number | 悬浮层功能位置 range:取值(0: 聊天 1: 好友) type:整数 |
Precautions
只在移动端由 233 拉起生效
showUserProfile
• Static
showUserProfile(resp
, userId
): void
若需要查看 233 玩家的资料信息,可通过调用 showUserProfile 进行查看, SDK 会弹出资料卡片弹窗
Parameters
resp MGSResponse | 233的回调 |
---|---|
userId string | 要显示的用户的 userId range: 依据 userid 长度而定 |
Precautions
只在移动端由233拉起生效