@cc-component/cc-core 1.2.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.cc-ex-component.md +12 -0
- package/assets/core/config/CommonEnum.ts +94 -0
- package/assets/core/config/CommonEnum.ts.meta +9 -0
- package/assets/core/config/IConfig.ts +89 -0
- package/assets/core/config/IConfig.ts.meta +9 -0
- package/assets/core/config/LayerType.ts +44 -0
- package/assets/core/config/LayerType.ts.meta +9 -0
- package/assets/core/config/LayerUI.ts +113 -0
- package/assets/core/config/LayerUI.ts.meta +9 -0
- package/assets/core/config.meta +9 -0
- package/assets/core/editor/LanguageManager.ts +323 -0
- package/assets/core/editor/LanguageManager.ts.meta +9 -0
- package/assets/core/editor/SpineRunner.ts +39 -0
- package/assets/core/editor/SpineRunner.ts.meta +9 -0
- package/assets/core/editor/i18nEditorComponent.ts +137 -0
- package/assets/core/editor/i18nEditorComponent.ts.meta +9 -0
- package/assets/core/editor.meta +9 -0
- package/assets/core/home/AudioUtil.ts +164 -0
- package/assets/core/home/AudioUtil.ts.meta +9 -0
- package/assets/core/home/BaseBoxView.ts +60 -0
- package/assets/core/home/BaseBoxView.ts.meta +9 -0
- package/assets/core/home/BaseLaunchComponent.ts +9 -0
- package/assets/core/home/BaseLaunchComponent.ts.meta +9 -0
- package/assets/core/home/BaseLoading.ts +136 -0
- package/assets/core/home/BaseLoading.ts.meta +9 -0
- package/assets/core/home/BaseSkeleton.ts +39 -0
- package/assets/core/home/BaseSkeleton.ts.meta +9 -0
- package/assets/core/home/CameraAngel.ts +326 -0
- package/assets/core/home/CameraAngel.ts.meta +9 -0
- package/assets/core/home/DouYinShow.ts +27 -0
- package/assets/core/home/DouYinShow.ts.meta +9 -0
- package/assets/core/home/EventManager.ts +39 -0
- package/assets/core/home/EventManager.ts.meta +9 -0
- package/assets/core/home/ExView.ts +9 -0
- package/assets/core/home/ExView.ts.meta +9 -0
- package/assets/core/home/FollowCamera.ts +205 -0
- package/assets/core/home/FollowCamera.ts.meta +9 -0
- package/assets/core/home/InViewCenter.ts +52 -0
- package/assets/core/home/InViewCenter.ts.meta +9 -0
- package/assets/core/home/JsonUtil.ts +102 -0
- package/assets/core/home/JsonUtil.ts.meta +9 -0
- package/assets/core/home/LoadingWindow.ts +44 -0
- package/assets/core/home/LoadingWindow.ts.meta +9 -0
- package/assets/core/home/ParabolaTween.ts +110 -0
- package/assets/core/home/ParabolaTween.ts.meta +9 -0
- package/assets/core/home/ProgessView.ts +96 -0
- package/assets/core/home/ProgessView.ts.meta +9 -0
- package/assets/core/home/Quaternion.ts +237 -0
- package/assets/core/home/Quaternion.ts.meta +9 -0
- package/assets/core/home/ResUtil.ts +132 -0
- package/assets/core/home/ResUtil.ts.meta +9 -0
- package/assets/core/home/ResourceManager.ts +430 -0
- package/assets/core/home/ResourceManager.ts.meta +9 -0
- package/assets/core/home/StateMachine.ts +93 -0
- package/assets/core/home/StateMachine.ts.meta +9 -0
- package/assets/core/home/StorageManager.ts +161 -0
- package/assets/core/home/StorageManager.ts.meta +9 -0
- package/assets/core/home/ThirdFreeLookCamera.ts +201 -0
- package/assets/core/home/ThirdFreeLookCamera.ts.meta +9 -0
- package/assets/core/home/TimeManager.ts +486 -0
- package/assets/core/home/TimeManager.ts.meta +9 -0
- package/assets/core/home/Tools.ts +103 -0
- package/assets/core/home/Tools.ts.meta +9 -0
- package/assets/core/home/prefabs.meta +12 -0
- package/assets/core/home/util/EncryptUtil.ts +60 -0
- package/assets/core/home/util/EncryptUtil.ts.meta +11 -0
- package/assets/core/home/util/MathUtil.ts +22 -0
- package/assets/core/home/util/MathUtil.ts.meta +9 -0
- package/assets/core/home/util/Md5.ts +202 -0
- package/assets/core/home/util/Md5.ts.meta +11 -0
- package/assets/core/home/util/RandomUtil.ts +61 -0
- package/assets/core/home/util/RandomUtil.ts.meta +9 -0
- package/assets/core/home/util/ResUtil.ts +129 -0
- package/assets/core/home/util/ResUtil.ts.meta +9 -0
- package/assets/core/home/util/crypto-js.d.ts +30 -0
- package/assets/core/home/util/crypto-js.d.ts.meta +11 -0
- package/assets/core/home/util/crypto-js.js +6030 -0
- package/assets/core/home/util/crypto-js.js.meta +9 -0
- package/assets/core/home/util.meta +12 -0
- package/assets/core/home.meta +12 -0
- package/assets/core/interface/ISceneParam.ts +11 -0
- package/assets/core/interface/ISceneParam.ts.meta +9 -0
- package/assets/core/interface/Interface.ts +160 -0
- package/assets/core/interface/Interface.ts.meta +1 -0
- package/assets/core/interface/MainModule.ts +1019 -0
- package/assets/core/interface/MainModule.ts.meta +9 -0
- package/assets/core/interface.meta +9 -0
- package/assets/core/lib/Logger.ts +286 -0
- package/assets/core/lib/Logger.ts.meta +9 -0
- package/assets/core/lib/language/.language.md +1 -0
- package/assets/core/lib/language/Language.ts +133 -0
- package/assets/core/lib/language/Language.ts.meta +13 -0
- package/assets/core/lib/language/LanguageData.ts +114 -0
- package/assets/core/lib/language/LanguageData.ts.meta +9 -0
- package/assets/core/lib/language/LanguageLabel.ts +172 -0
- package/assets/core/lib/language/LanguageLabel.ts.meta +13 -0
- package/assets/core/lib/language/LanguagePack.ts +126 -0
- package/assets/core/lib/language/LanguagePack.ts.meta +13 -0
- package/assets/core/lib/language/LanguagePointLabel.ts.meta +16 -0
- package/assets/core/lib/language/LanguageSpine.ts +60 -0
- package/assets/core/lib/language/LanguageSpine.ts.meta +9 -0
- package/assets/core/lib/language/LanguageSprite.ts +138 -0
- package/assets/core/lib/language/LanguageSprite.ts.meta +13 -0
- package/assets/core/lib/language.meta +9 -0
- package/assets/core/lib/logger/ELoggerLevel.ts +16 -0
- package/assets/core/lib/logger/ELoggerLevel.ts.meta +9 -0
- package/assets/core/lib/logger/MLogger.ts +118 -0
- package/assets/core/lib/logger/MLogger.ts.meta +9 -0
- package/assets/core/lib/logger.meta +9 -0
- package/assets/core/lib/net/libs/proto/output/protobuf.d.ts +2729 -0
- package/assets/core/lib/net/libs/proto/output/protobuf.d.ts.meta +9 -0
- package/assets/core/lib/net/libs/proto/output/protobuf.min.js +8 -0
- package/assets/core/lib/net/libs/proto/output/protobuf.min.js.meta +9 -0
- package/assets/core/lib/net/libs/proto/output/protobuf_custom.d.ts +102 -0
- package/assets/core/lib/net/libs/proto/output/protobuf_custom.d.ts.meta +9 -0
- package/assets/core/lib/net/libs/proto/output/protobuf_custom.js +222 -0
- package/assets/core/lib/net/libs/proto/output/protobuf_custom.js.meta +9 -0
- package/assets/core/lib/net/libs/proto/output.meta +9 -0
- package/assets/core/lib/net/libs/proto/source/Cmd.proto +6 -0
- package/assets/core/lib/net/libs/proto/source/Cmd.proto.meta +11 -0
- package/assets/core/lib/net/libs/proto/source/UserLogin.proto +12 -0
- package/assets/core/lib/net/libs/proto/source/UserLogin.proto.meta +11 -0
- package/assets/core/lib/net/libs/proto/source/base.proto +24 -0
- package/assets/core/lib/net/libs/proto/source/base.proto.meta +11 -0
- package/assets/core/lib/net/libs/proto/source/command.proto +31 -0
- package/assets/core/lib/net/libs/proto/source/command.proto.meta +11 -0
- package/assets/core/lib/net/libs/proto/source/domain/boos_battle_info.proto +13 -0
- package/assets/core/lib/net/libs/proto/source/domain/boos_battle_info.proto.meta +11 -0
- package/assets/core/lib/net/libs/proto/source/domain/player_auth.proto +26 -0
- package/assets/core/lib/net/libs/proto/source/domain/player_auth.proto.meta +11 -0
- package/assets/core/lib/net/libs/proto/source/domain.meta +9 -0
- package/assets/core/lib/net/libs/proto/source/message/game_push.proto +23 -0
- package/assets/core/lib/net/libs/proto/source/message/game_push.proto.meta +11 -0
- package/assets/core/lib/net/libs/proto/source/message/game_request.proto +24 -0
- package/assets/core/lib/net/libs/proto/source/message/game_request.proto.meta +11 -0
- package/assets/core/lib/net/libs/proto/source/message/game_response.proto +24 -0
- package/assets/core/lib/net/libs/proto/source/message/game_response.proto.meta +11 -0
- package/assets/core/lib/net/libs/proto/source/message.meta +9 -0
- package/assets/core/lib/net/libs/proto/source/push/boss_battle_events.proto +43 -0
- package/assets/core/lib/net/libs/proto/source/push/boss_battle_events.proto.meta +11 -0
- package/assets/core/lib/net/libs/proto/source/push.meta +9 -0
- package/assets/core/lib/net/libs/proto/source.meta +12 -0
- package/assets/core/lib/net/libs/proto.meta +9 -0
- package/assets/core/lib/net/libs.meta +9 -0
- package/assets/core/lib/net/net/HttpManager.ts +307 -0
- package/assets/core/lib/net/net/HttpManager.ts.meta +9 -0
- package/assets/core/lib/net/net/NetInterface.ts +114 -0
- package/assets/core/lib/net/net/NetInterface.ts.meta +9 -0
- package/assets/core/lib/net/net/NetManager.ts +77 -0
- package/assets/core/lib/net/net/NetManager.ts.meta +9 -0
- package/assets/core/lib/net/net/NetNode.ts +471 -0
- package/assets/core/lib/net/net/NetNode.ts.meta +9 -0
- package/assets/core/lib/net/net/WebSock.ts +81 -0
- package/assets/core/lib/net/net/WebSock.ts.meta +9 -0
- package/assets/core/lib/net/net/custom/NetChannelManager.ts +41 -0
- package/assets/core/lib/net/net/custom/NetChannelManager.ts.meta +9 -0
- package/assets/core/lib/net/net/custom/NetConfig.ts +11 -0
- package/assets/core/lib/net/net/custom/NetConfig.ts.meta +9 -0
- package/assets/core/lib/net/net/custom/NetErrorCode.ts +4 -0
- package/assets/core/lib/net/net/custom/NetErrorCode.ts.meta +9 -0
- package/assets/core/lib/net/net/custom/NetGameTips.ts +53 -0
- package/assets/core/lib/net/net/custom/NetGameTips.ts.meta +9 -0
- package/assets/core/lib/net/net/custom/NetNodeGame.ts +105 -0
- package/assets/core/lib/net/net/custom/NetNodeGame.ts.meta +9 -0
- package/assets/core/lib/net/net/custom.meta +9 -0
- package/assets/core/lib/net/net/protocol/NetProtocolJson.ts +39 -0
- package/assets/core/lib/net/net/protocol/NetProtocolJson.ts.meta +9 -0
- package/assets/core/lib/net/net/protocol/NetProtocolProtobuf.ts +85 -0
- package/assets/core/lib/net/net/protocol/NetProtocolProtobuf.ts.meta +9 -0
- package/assets/core/lib/net/net/protocol.meta +9 -0
- package/assets/core/lib/net/net.meta +9 -0
- package/assets/core/lib/net/prompt.meta +9 -0
- package/assets/core/lib/net.meta +9 -0
- package/assets/core/lib/old/VM2.ts +619 -0
- package/assets/core/lib/old/VM2.ts.meta +9 -0
- package/assets/core/lib/old/ViewModel.ts +905 -0
- package/assets/core/lib/old/ViewModel.ts.meta +9 -0
- package/assets/core/lib/old/ViewSearch.ts +125 -0
- package/assets/core/lib/old/ViewSearch.ts.meta +9 -0
- package/assets/core/lib/old.meta +9 -0
- package/assets/core/lib/tabbar/TabBarComponent.ts +113 -0
- package/assets/core/lib/tabbar/TabBarComponent.ts.meta +9 -0
- package/assets/core/lib/tabbar/TabBarController.ts +86 -0
- package/assets/core/lib/tabbar/TabBarController.ts.meta +9 -0
- package/assets/core/lib/tabbar/TabBarItem.ts +52 -0
- package/assets/core/lib/tabbar/TabBarItem.ts.meta +9 -0
- package/assets/core/lib/tabbar.meta +9 -0
- package/assets/core/lib.meta +12 -0
- package/assets/core.meta +9 -0
- package/assets.meta +9 -0
- package/index.ts +3 -0
- package/index.ts.meta +9 -0
- package/package.json +19 -0
- package/package.json.meta +11 -0
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* @Date: 2021-08-12 09:33:37
|
|
3
|
+
* @LastEditors: dgflash
|
|
4
|
+
* @LastEditTime: 2022-01-24 15:15:30
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
/** 网络配置 */
|
|
8
|
+
export class NetConfig {
|
|
9
|
+
public static gameIp: string = "ws://api.dev-room.tandaima.com"; // "172.16.16.185"
|
|
10
|
+
public static gamePort: string = "80";
|
|
11
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* @Date: 2021-08-12 09:33:37
|
|
3
|
+
* @LastEditors: dgflash
|
|
4
|
+
* @LastEditTime: 2022-07-22 18:09:52
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { Logger } from "../../../Logger";
|
|
8
|
+
import { INetworkTips } from "../NetInterface";
|
|
9
|
+
import { netChannel } from "./NetChannelManager";
|
|
10
|
+
|
|
11
|
+
/** 游戏服务器提示 */
|
|
12
|
+
export class NetGameTips implements INetworkTips {
|
|
13
|
+
/** 连接提示 */
|
|
14
|
+
async connectTips(isShow: boolean) {
|
|
15
|
+
if (isShow) {
|
|
16
|
+
Logger.logNet("游戏服务器正在连接");
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
Logger.logNet("游戏服务器连接成功");
|
|
20
|
+
|
|
21
|
+
// 连接成功后向服务器发数据
|
|
22
|
+
// var ulq = new proto.UserLoginReq();
|
|
23
|
+
// ulq.token = "123456";
|
|
24
|
+
// ulq.serverId = 8888;
|
|
25
|
+
// var ret1 = await netChannel.game.req<proto.UserLoginReq>(proto.Cmd.UserLogin, "UserLoginReq", "UserLoginReq", ulq);
|
|
26
|
+
// if (ret1.isSucc) {
|
|
27
|
+
// console.log(`收到服务器【${proto.Cmd.UserLogin}】协议返回数据`, ret1.res); // 处理正常逻辑
|
|
28
|
+
// }
|
|
29
|
+
// else {
|
|
30
|
+
// console.log(`收到服务器【${proto.Cmd.UserLogin}】协议返回错误码`, ret1.err); // 服务器错误码客户端出对应的提示
|
|
31
|
+
// }
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/** 重连接提示 */
|
|
36
|
+
reconnectTips(): void {
|
|
37
|
+
console.log("重连接提示");
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/** 请求提示 */
|
|
41
|
+
requestTips(isShow: boolean): void {
|
|
42
|
+
if (isShow) {
|
|
43
|
+
console.log("有请求处理中");
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
console.log("所有请求结束");
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
disconnectTips(isShow: boolean): void {
|
|
51
|
+
console.log("断网", isShow);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* @Author: dgflash
|
|
3
|
+
* @Date: 2022-06-02 09:38:48
|
|
4
|
+
* @LastEditors: dgflash
|
|
5
|
+
* @LastEditTime: 2022-06-14 17:52:54
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import { CallbackObject, IRequestProtocol, IResponseProtocol, NetCallFunc } from "../NetInterface";
|
|
9
|
+
import { NetNode, WebSocketReturn } from "../NetNode";
|
|
10
|
+
import { WebSock } from "../WebSock";
|
|
11
|
+
import { NetProtocolProtobuf } from "../protocol/NetProtocolProtobuf";
|
|
12
|
+
import { NetErrorCode } from "./NetErrorCode";
|
|
13
|
+
import { NetGameTips } from "./NetGameTips";
|
|
14
|
+
|
|
15
|
+
/** 自定义通讯协议 */
|
|
16
|
+
class GameProtocol extends NetProtocolProtobuf {
|
|
17
|
+
async onHearbeat() {
|
|
18
|
+
// var ret = await netChannel.game.req(proto.ClientCmd.HEART.toString(), null!, "GameHeartResp");
|
|
19
|
+
// if (ret.isSucc) {
|
|
20
|
+
// console.log(ret.res);
|
|
21
|
+
// }
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/** 网络节点扩展 */
|
|
26
|
+
export class NetNodeGame extends NetNode {
|
|
27
|
+
init() {
|
|
28
|
+
this._heartTime = 3000; // 心跳间隔
|
|
29
|
+
this._receiveTime = 60000; // 60秒没收到消息就断开连接
|
|
30
|
+
this._reconnetTimeOut = 3000; // 重连间隔
|
|
31
|
+
super.init(new WebSock(), new GameProtocol(), new NetGameTips());
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
public req<T>(cmd: number, reqName: string, respName: string, params?: any): Promise<WebSocketReturn<T>> {
|
|
35
|
+
return new Promise((resolve, reject) => {
|
|
36
|
+
var protocol: IRequestProtocol = {
|
|
37
|
+
cmd: cmd,
|
|
38
|
+
params: params,
|
|
39
|
+
reqName: reqName,
|
|
40
|
+
respName: respName,
|
|
41
|
+
callback: {
|
|
42
|
+
target: this,
|
|
43
|
+
callback: (iresp: IResponseProtocol) => {
|
|
44
|
+
var res = new WebSocketReturn<T>();
|
|
45
|
+
res.isSucc = iresp.code == NetErrorCode.Success;
|
|
46
|
+
if (res.isSucc)
|
|
47
|
+
res.res = iresp.data;
|
|
48
|
+
else
|
|
49
|
+
res.err = iresp.code; // 如果需要同意处理错误码逻辑,可在这里发个全局事件,到其它地方处理通用错误码逻辑
|
|
50
|
+
resolve(res);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
this.request(protocol);
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
public reqUnique<T>(cmd: number, reqName: string, respName: string, params: any): Promise<WebSocketReturn<T>> {
|
|
59
|
+
return new Promise((resolve, reject) => {
|
|
60
|
+
var protocol: IRequestProtocol = {
|
|
61
|
+
cmd: cmd,
|
|
62
|
+
params: params,
|
|
63
|
+
reqName: reqName,
|
|
64
|
+
respName: respName,
|
|
65
|
+
callback: {
|
|
66
|
+
target: this,
|
|
67
|
+
callback: (iresp: IResponseProtocol) => {
|
|
68
|
+
var res = new WebSocketReturn<T>();
|
|
69
|
+
res.isSucc = iresp.code == NetErrorCode.Success;
|
|
70
|
+
if (res.isSucc)
|
|
71
|
+
res.res = iresp.data;
|
|
72
|
+
else
|
|
73
|
+
res.err = iresp.code; // 如果需要同意处理错误码逻辑,可在这里发个全局事件,到其它地方处理通用错误码逻辑
|
|
74
|
+
resolve(res);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
this.requestUnique(protocol);
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* 监听服务器推送
|
|
84
|
+
* @param cmd 协议命令号
|
|
85
|
+
* @param respName Protobuf返回协议名
|
|
86
|
+
* @param callback 回调方法
|
|
87
|
+
* @param target 目标对象
|
|
88
|
+
*/
|
|
89
|
+
on(cmd: number, respName: string, callback: NetCallFunc, target?: any): void {
|
|
90
|
+
var co: CallbackObject = {
|
|
91
|
+
target: target,
|
|
92
|
+
callback: callback
|
|
93
|
+
}
|
|
94
|
+
var ireqp: IRequestProtocol = {
|
|
95
|
+
cmd: cmd,
|
|
96
|
+
respName: respName,
|
|
97
|
+
callback: co
|
|
98
|
+
}
|
|
99
|
+
this.addResponeHandler(ireqp);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
off(cmd: number, callback: NetCallFunc, target?: any) {
|
|
103
|
+
this.removeResponeHandler(cmd, callback, target);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* @Author: dgflash
|
|
3
|
+
* @Date: 2022-04-21 13:45:51
|
|
4
|
+
* @LastEditors: dgflash
|
|
5
|
+
* @LastEditTime: 2022-04-21 13:51:33
|
|
6
|
+
*/
|
|
7
|
+
import { IProtocolHelper, IRequestProtocol, IResponseProtocol } from "../NetInterface";
|
|
8
|
+
|
|
9
|
+
/** JSON数据协议 */
|
|
10
|
+
export class NetProtocolJson extends IProtocolHelper {
|
|
11
|
+
encode(ireqp: IRequestProtocol): void {
|
|
12
|
+
ireqp.id = this.getRequestId();
|
|
13
|
+
|
|
14
|
+
var data: any = {};
|
|
15
|
+
data.id = ireqp.id;
|
|
16
|
+
data.cmd = ireqp.cmd;
|
|
17
|
+
data.data = JSON.stringify(ireqp.params);
|
|
18
|
+
ireqp.buffer = JSON.stringify(data);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
decodeCommon(msg: string): IResponseProtocol {
|
|
22
|
+
var json = JSON.parse(msg);
|
|
23
|
+
var ipp: IResponseProtocol = {
|
|
24
|
+
id: json.id,
|
|
25
|
+
cmd: json.cmd,
|
|
26
|
+
code: json.code,
|
|
27
|
+
data: JSON.parse(json.data)
|
|
28
|
+
}
|
|
29
|
+
return ipp;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
decodeCustom(ireqp: IRequestProtocol, iresp: IResponseProtocol): void {
|
|
33
|
+
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
onHearbeat(): void {
|
|
37
|
+
|
|
38
|
+
}
|
|
39
|
+
}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* @Author: dgflash
|
|
3
|
+
* @Date: 2022-04-21 13:48:44
|
|
4
|
+
* @LastEditors: dgflash
|
|
5
|
+
* @LastEditTime: 2022-04-21 14:11:25
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import { IProtocolHelper, IRequestProtocol, IResponseProtocol } from "../NetInterface";
|
|
9
|
+
|
|
10
|
+
/** 自定义通用包头长度 */
|
|
11
|
+
var Head_Length = 8;
|
|
12
|
+
|
|
13
|
+
/** Protobuf.js 编码与解码逻辑 */
|
|
14
|
+
export class NetProtocolProtobuf extends IProtocolHelper {
|
|
15
|
+
encode(ireqp: IRequestProtocol): void {
|
|
16
|
+
ireqp.id = this.getRequestId();
|
|
17
|
+
|
|
18
|
+
var length = Head_Length;
|
|
19
|
+
|
|
20
|
+
// 自定义请求参数用Protobuf Api编码为Uint8Array对象
|
|
21
|
+
var bytes: Uint8Array = null!;
|
|
22
|
+
if (ireqp.reqName && ireqp.params) {
|
|
23
|
+
//@ts-ignore
|
|
24
|
+
var pb = proto[ireqp.reqName].encode(ireqp.params);
|
|
25
|
+
bytes = pb.finish();
|
|
26
|
+
length = length + bytes.length; // 计算请求包总长度
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
// 自定义包头编码
|
|
30
|
+
var abHead = new ArrayBuffer(Head_Length);
|
|
31
|
+
var dv = new DataView(abHead);
|
|
32
|
+
|
|
33
|
+
/** 【开发者自定义通用包头协议修改点】 */
|
|
34
|
+
var id = ireqp.id;
|
|
35
|
+
var cmd = ireqp.cmd;
|
|
36
|
+
var uid = 0;
|
|
37
|
+
dv.setUint16(0, id) // 向二进制流中写入唯一编号
|
|
38
|
+
dv.setUint16(2, cmd); // 向二进制流中写入协议编号
|
|
39
|
+
dv.setUint32(4, uid); // 向二进制流中写入玩家编号数据
|
|
40
|
+
/** 【开发者自定义通用包头协议修改点】 */
|
|
41
|
+
|
|
42
|
+
// 创建包头二进制数据
|
|
43
|
+
var u8aBuffer = new Uint8Array(abHead);
|
|
44
|
+
var buffer = new Uint8Array(length);
|
|
45
|
+
buffer.set(u8aBuffer)
|
|
46
|
+
|
|
47
|
+
// 创建请求参数二进制数据
|
|
48
|
+
if (bytes) buffer.set(bytes, Head_Length);
|
|
49
|
+
|
|
50
|
+
ireqp.buffer = buffer;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
decodeCommon(msg: ArrayBuffer): IResponseProtocol {
|
|
54
|
+
let dv = new DataView(msg);
|
|
55
|
+
/** 【开发者自定义通用包头协议修改点】 */
|
|
56
|
+
var id = dv.getUint16(0); // 二进制流中读取唯一编号
|
|
57
|
+
var cmd = dv.getUint16(2); // 二进制流中读取协议编号
|
|
58
|
+
var code = dv.getUint32(4); // 二进制流中读取服务器返回错误码信息
|
|
59
|
+
/** 【开发者自定义通用包头协议修改点】 */
|
|
60
|
+
|
|
61
|
+
// 自定义Protobuf协议数据
|
|
62
|
+
var bytes: Uint8Array = null!;
|
|
63
|
+
if (msg.byteLength >= Head_Length) {
|
|
64
|
+
bytes = new Uint8Array(msg, Head_Length, msg.byteLength - Head_Length)
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
var ipp: IResponseProtocol = {
|
|
68
|
+
id: id,
|
|
69
|
+
code: code,
|
|
70
|
+
cmd: cmd
|
|
71
|
+
}
|
|
72
|
+
if (bytes) ipp.data = bytes;
|
|
73
|
+
|
|
74
|
+
return ipp;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
decodeCustom(ireqp: IRequestProtocol, iresp: IResponseProtocol): void {
|
|
78
|
+
if (ireqp.respName) {
|
|
79
|
+
//@ts-ignore
|
|
80
|
+
iresp.data = proto[ireqp.respName].decode(iresp.data);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
onHearbeat(): void { }
|
|
85
|
+
}
|