diff --git a/assets/core/.core.md b/assets/core/.core.md new file mode 100644 index 0000000..c4415af --- /dev/null +++ b/assets/core/.core.md @@ -0,0 +1 @@ +框架核心功能 \ No newline at end of file diff --git a/assets/core/common/.common.md b/assets/core/common/.common.md new file mode 100644 index 0000000..9f1d697 --- /dev/null +++ b/assets/core/common/.common.md @@ -0,0 +1 @@ +游戏公共功能库 \ No newline at end of file diff --git a/assets/core/common/audio/.audio.md b/assets/core/common/audio/.audio.md new file mode 100644 index 0000000..f7289f8 --- /dev/null +++ b/assets/core/common/audio/.audio.md @@ -0,0 +1,3 @@ +音效管理 +1. 背景音乐管理 +2. 游戏音效管理 \ No newline at end of file diff --git a/assets/core/common/event/.event.md b/assets/core/common/event/.event.md new file mode 100644 index 0000000..b7f1545 --- /dev/null +++ b/assets/core/common/event/.event.md @@ -0,0 +1 @@ +消息管理 \ No newline at end of file diff --git a/assets/core/common/loader/.loader.md b/assets/core/common/loader/.loader.md new file mode 100644 index 0000000..3a2448a --- /dev/null +++ b/assets/core/common/loader/.loader.md @@ -0,0 +1 @@ +资源管理 \ No newline at end of file diff --git a/assets/core/common/log/.log.md b/assets/core/common/log/.log.md new file mode 100644 index 0000000..bfd5025 --- /dev/null +++ b/assets/core/common/log/.log.md @@ -0,0 +1 @@ +日志管理 \ No newline at end of file diff --git a/assets/core/common/random/.random.md b/assets/core/common/random/.random.md new file mode 100644 index 0000000..24a81c0 --- /dev/null +++ b/assets/core/common/random/.random.md @@ -0,0 +1 @@ +随机数库 \ No newline at end of file diff --git a/assets/core/common/storage/.storage.md b/assets/core/common/storage/.storage.md new file mode 100644 index 0000000..7fbe7ad --- /dev/null +++ b/assets/core/common/storage/.storage.md @@ -0,0 +1 @@ +本地存储 \ No newline at end of file diff --git a/assets/core/common/timer/.timer.md b/assets/core/common/timer/.timer.md new file mode 100644 index 0000000..ac84c75 --- /dev/null +++ b/assets/core/common/timer/.timer.md @@ -0,0 +1,3 @@ +时间管理 +1. 时间管理器 +2. 定时器 \ No newline at end of file diff --git a/assets/core/game/.game.md b/assets/core/game/.game.md new file mode 100644 index 0000000..378396d --- /dev/null +++ b/assets/core/game/.game.md @@ -0,0 +1 @@ +游戏核心玩法层 \ No newline at end of file diff --git a/assets/core/gui/.gui.md b/assets/core/gui/.gui.md new file mode 100644 index 0000000..84ddc00 --- /dev/null +++ b/assets/core/gui/.gui.md @@ -0,0 +1 @@ +游戏界面管理库 \ No newline at end of file diff --git a/assets/core/gui/layer/.layer.md b/assets/core/gui/layer/.layer.md new file mode 100644 index 0000000..051574c --- /dev/null +++ b/assets/core/gui/layer/.layer.md @@ -0,0 +1,8 @@ +游戏显示对象分层管理 +1. 二维游戏层 +2. 游戏主界面层 +3. 游戏弹窗层 +4. 游戏模式窗口层 +5. 系统模式窗口层 +6. 滚动消息提示层 +7. 新手引导层 \ No newline at end of file diff --git a/assets/core/gui/prompt/.prompt.md b/assets/core/gui/prompt/.prompt.md new file mode 100644 index 0000000..9d815a9 --- /dev/null +++ b/assets/core/gui/prompt/.prompt.md @@ -0,0 +1,4 @@ +游戏综合提示界面 +1. 公共提示窗口 +2. 延迟提示动画 +3. 滚动提示动画 \ No newline at end of file diff --git a/assets/core/utils/.utils.md b/assets/core/utils/.utils.md new file mode 100644 index 0000000..329952c --- /dev/null +++ b/assets/core/utils/.utils.md @@ -0,0 +1 @@ +游戏框架综合工具库 \ No newline at end of file diff --git a/assets/libs/.libs.md b/assets/libs/.libs.md new file mode 100644 index 0000000..74f5c4a --- /dev/null +++ b/assets/libs/.libs.md @@ -0,0 +1 @@ +框架可选库 \ No newline at end of file diff --git a/assets/libs/animator-effect/.animator-effect.md b/assets/libs/animator-effect/.animator-effect.md new file mode 100644 index 0000000..2d39ecd --- /dev/null +++ b/assets/libs/animator-effect/.animator-effect.md @@ -0,0 +1 @@ +动画特效管理 \ No newline at end of file diff --git a/assets/libs/animator-move/.animator-move.md b/assets/libs/animator-move/.animator-move.md new file mode 100644 index 0000000..83022cd --- /dev/null +++ b/assets/libs/animator-move/.animator-move.md @@ -0,0 +1 @@ +移动动画组件 \ No newline at end of file diff --git a/assets/libs/animator/.animator.md b/assets/libs/animator/.animator.md new file mode 100644 index 0000000..517fc0d --- /dev/null +++ b/assets/libs/animator/.animator.md @@ -0,0 +1 @@ +动画状态机库 \ No newline at end of file diff --git a/assets/libs/behavior-tree/.behavior-tree.md b/assets/libs/behavior-tree/.behavior-tree.md new file mode 100644 index 0000000..b343fe1 --- /dev/null +++ b/assets/libs/behavior-tree/.behavior-tree.md @@ -0,0 +1 @@ +行为树框架 \ No newline at end of file diff --git a/assets/libs/camera/.camera.md b/assets/libs/camera/.camera.md new file mode 100644 index 0000000..fbcc50e --- /dev/null +++ b/assets/libs/camera/.camera.md @@ -0,0 +1 @@ +三维摄像机组件 \ No newline at end of file diff --git a/assets/libs/collection/.collection.md b/assets/libs/collection/.collection.md new file mode 100644 index 0000000..ab501a2 --- /dev/null +++ b/assets/libs/collection/.collection.md @@ -0,0 +1 @@ +数据集合对象 \ No newline at end of file diff --git a/assets/libs/ecs/.ecs.md b/assets/libs/ecs/.ecs.md new file mode 100644 index 0000000..0af7b9d --- /dev/null +++ b/assets/libs/ecs/.ecs.md @@ -0,0 +1 @@ +Entity-Component-System 框架 \ No newline at end of file diff --git a/assets/libs/extension/.extension.md b/assets/libs/extension/.extension.md new file mode 100644 index 0000000..464bb77 --- /dev/null +++ b/assets/libs/extension/.extension.md @@ -0,0 +1 @@ +Cocos Creator 引擎扩展 \ No newline at end of file diff --git a/assets/libs/gui/.gui.md b/assets/libs/gui/.gui.md new file mode 100644 index 0000000..5edc55d --- /dev/null +++ b/assets/libs/gui/.gui.md @@ -0,0 +1 @@ +游戏界面功能组件 \ No newline at end of file diff --git a/assets/libs/gui/button/.button.md b/assets/libs/gui/button/.button.md new file mode 100644 index 0000000..6dfa4ca --- /dev/null +++ b/assets/libs/gui/button/.button.md @@ -0,0 +1 @@ +游戏按钮组件 \ No newline at end of file diff --git a/assets/libs/gui/label/.label.md b/assets/libs/gui/label/.label.md new file mode 100644 index 0000000..58634f2 --- /dev/null +++ b/assets/libs/gui/label/.label.md @@ -0,0 +1 @@ +游戏标签组件 \ No newline at end of file diff --git a/assets/libs/gui/language/.language.md b/assets/libs/gui/language/.language.md new file mode 100644 index 0000000..8747d59 --- /dev/null +++ b/assets/libs/gui/language/.language.md @@ -0,0 +1 @@ +游戏多语言组件 \ No newline at end of file diff --git a/assets/libs/model-view/.model-view.md b/assets/libs/model-view/.model-view.md new file mode 100644 index 0000000..34976fe --- /dev/null +++ b/assets/libs/model-view/.model-view.md @@ -0,0 +1 @@ +MVVM 组件库 \ No newline at end of file diff --git a/assets/libs/network/.network.md b/assets/libs/network/.network.md new file mode 100644 index 0000000..8ff44c7 --- /dev/null +++ b/assets/libs/network/.network.md @@ -0,0 +1,3 @@ +游戏网络库 +1. Http +2. WebSocket \ No newline at end of file diff --git a/assets/libs/network/NetProtocolProtobuf.ts b/assets/libs/network/NetProtocolProtobuf.ts deleted file mode 100644 index c545d19..0000000 --- a/assets/libs/network/NetProtocolProtobuf.ts +++ /dev/null @@ -1,55 +0,0 @@ -/* - * @Author: dgflash - * @Date: 2022-04-21 13:48:44 - * @LastEditors: dgflash - * @LastEditTime: 2022-04-21 14:11:25 - */ -import { IProtocolHelper, IRequestProtocol, IResponseProtocol, NetData } from "./NetInterface"; - -/** Protobuf.js 数据压缩协议 */ -export class NetProtocolProtobuf implements IProtocolHelper { - getHeadlen(): number { - return 0; - } - - getHearbeat(): NetData { - return ""; - } - - getPackageLen(msg: NetData): number { - return msg.toString().length; - } - - checkResponsePackage(respProtocol: IResponseProtocol): boolean { - return true; - } - - handlerResponsePackage(respProtocol: IResponseProtocol): boolean { - if (respProtocol.code == 1) { - if (respProtocol.isCompress) { - // respProtocol.data - // const p = Person.decode(msg); - } - respProtocol.data = JSON.parse(respProtocol.data); - - return true; - } - else { - return false; - } - } - - handlerRequestPackage(reqProtocol: IRequestProtocol): string { - var rspCmd = reqProtocol.cmd; - reqProtocol.callback = rspCmd; - if (reqProtocol.isCompress) { - // reqProtocol.data - // const msg = Person.encode({ name: "dgflash", id: 1 }).finish(); - } - return rspCmd; - } - - getPackageId(respProtocol: IResponseProtocol): string { - return respProtocol.callback!; - } -} \ No newline at end of file diff --git a/assets/libs/network/NetProtocolProtobuf.ts.meta b/assets/libs/network/NetProtocolProtobuf.ts.meta deleted file mode 100644 index 720e205..0000000 --- a/assets/libs/network/NetProtocolProtobuf.ts.meta +++ /dev/null @@ -1,9 +0,0 @@ -{ - "ver": "4.0.24", - "importer": "typescript", - "imported": true, - "uuid": "5714abb2-1adb-4e4a-b397-795b2f200533", - "files": [], - "subMetas": {}, - "userData": {} -} diff --git a/assets/libs/render-texture/RtToModel.ts b/assets/libs/render-texture/RtToModel.ts index 9b171fa..48411f4 100644 --- a/assets/libs/render-texture/RtToModel.ts +++ b/assets/libs/render-texture/RtToModel.ts @@ -1,35 +1,35 @@ -// import { Camera, Component, gfx, MeshRenderer, RenderTexture, view, _decorator } from 'cc'; -// const { ccclass, property } = _decorator; +import { _decorator, Camera, Component, gfx, MeshRenderer, RenderTexture, view } from 'cc'; +const { ccclass, property } = _decorator; -// /** 三维摄像机内容显示到模型上 */ -// @ccclass('RtToModel') -// export class RtToModel extends Component { -// @property(Camera) -// camara: Camera = null!; +/** 三维摄像机内容显示到模型上 */ +@ccclass('RtToModel') +export class RtToModel extends Component { + @property(Camera) + camara: Camera = null!; -// @property(MeshRenderer) -// model: MeshRenderer = null!; + @property(MeshRenderer) + model: MeshRenderer = null!; -// private rt: RenderTexture = new RenderTexture(); + private rt: RenderTexture = new RenderTexture(); -// start() { -// const size = view.getVisibleSize(); -// const colorAttachment = new gfx.ColorAttachment(); -// const depthStencilAttachment = new gfx.DepthStencilAttachment(); -// const pi = new gfx.RenderPassInfo([colorAttachment], depthStencilAttachment); + start() { + const size = view.getVisibleSize(); + const colorAttachment = new gfx.ColorAttachment(); + const depthStencilAttachment = new gfx.DepthStencilAttachment(); + const pi = new gfx.RenderPassInfo([colorAttachment], depthStencilAttachment); -// this.rt.reset({ -// width: size.width, -// height: size.height, -// passInfo: pi -// }); + this.rt.reset({ + width: size.width, + height: size.height, + passInfo: pi + }); -// this.camara.targetTexture = this.rt; -// const mat = this.model.material!; -// mat.setProperty('mainTexture', this.rt); -// } + this.camara.targetTexture = this.rt; + const mat = this.model.material!; + mat.setProperty('mainTexture', this.rt); + } -// onDestroy() { -// this.rt.destroy(); -// } -// } + onDestroy() { + this.rt.destroy(); + } +} diff --git a/assets/module/.module.md b/assets/module/.module.md new file mode 100644 index 0000000..8eff8b6 --- /dev/null +++ b/assets/module/.module.md @@ -0,0 +1 @@ +游戏模块管理 \ No newline at end of file diff --git a/assets/module/common/.common.md b/assets/module/common/.common.md new file mode 100644 index 0000000..5fcf82f --- /dev/null +++ b/assets/module/common/.common.md @@ -0,0 +1,3 @@ +模块公共对象 +1. 游戏模块通用模板 +2. 模块管理辅助工具 \ No newline at end of file diff --git a/assets/module/config/.config.md b/assets/module/config/.config.md new file mode 100644 index 0000000..c5955c0 --- /dev/null +++ b/assets/module/config/.config.md @@ -0,0 +1,3 @@ +游戏配置管理 +1. 游戏自定义配置管理 +2. H5游戏地址查询参数管理 \ No newline at end of file diff --git a/dist/common/version.js b/dist/common/version.js index bbbd389..d9351e7 100644 --- a/dist/common/version.js +++ b/dist/common/version.js @@ -1,6 +1,6 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -exports.reload = exports.checkUpdate = void 0; +exports.statistics = exports.reload = exports.checkUpdate = void 0; const package_util_1 = require("./package-util"); const axios = require('axios'); /** @@ -125,3 +125,28 @@ function compareVersion(a, b) { } return 0; } +async function statistics() { + // 获取本地 IP 地址 + const os = require('os'); + const getLocalIp = () => { + const interfaces = os.networkInterfaces(); + for (let interfaceKey in interfaces) { + for (let interfaceInfo of interfaces[interfaceKey]) { + if (interfaceInfo.family === 'IPv4' && !interfaceInfo.internal) { + return interfaceInfo.address; + } + } + } + return 'undefined'; + }; + const si = require('systeminformation'); + const system = await si.system(); + const axios = require('axios'); + const api = `http://dgflash.work:8866/ptl/Register`; + const params = { + username: system.uuid, + ip: getLocalIp() + }; + axios.post(api, params).then((response) => { }).catch((error) => { }); +} +exports.statistics = statistics; diff --git a/dist/main.js b/dist/main.js index e0940da..1a1553e 100644 --- a/dist/main.js +++ b/dist/main.js @@ -9,6 +9,7 @@ const version_1 = require("./common/version"); */ function load() { (0, version_1.checkUpdate)(); + (0, version_1.statistics)(); } exports.load = load; /** diff --git a/package-lock.json b/package-lock.json index 534f532..bf14f0b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,16 +1,17 @@ { "name": "oops-framework", - "version": "0.0.0", + "version": "2.0.0.20241030", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "oops-framework", - "version": "0.0.0", + "version": "2.0.0.20241030", "license": "MIT", "dependencies": { "axios": "^1.7.7", "fs-extra": "^10.0.0", + "systeminformation": "^5.23.5", "vue": "^3.1.4" }, "devDependencies": { @@ -461,6 +462,31 @@ "node": ">=0.10.0" } }, + "node_modules/systeminformation": { + "version": "5.23.5", + "resolved": "https://mirrors.cloud.tencent.com/npm/systeminformation/-/systeminformation-5.23.5.tgz", + "integrity": "sha512-PEpJwhRYxZgBCAlWZhWIgfMTjXLqfcaZ1pJsJn9snWNfBW/Z1YQg1mbIUSWrEV3ErAHF7l/OoVLQeaZDlPzkpA==", + "os": [ + "darwin", + "linux", + "win32", + "freebsd", + "openbsd", + "netbsd", + "sunos", + "android" + ], + "bin": { + "systeminformation": "lib/cli.js" + }, + "engines": { + "node": ">=8.0.0" + }, + "funding": { + "type": "Buy me a coffee", + "url": "https://www.buymeacoffee.com/systeminfo" + } + }, "node_modules/to-fast-properties": { "version": "2.0.0", "resolved": "https://mirrors.cloud.tencent.com/npm/to-fast-properties/-/to-fast-properties-2.0.0.tgz", diff --git a/package.json b/package.json index d3d1f42..adbbae2 100644 --- a/package.json +++ b/package.json @@ -151,6 +151,7 @@ "dependencies": { "axios": "^1.7.7", "fs-extra": "^10.0.0", + "systeminformation": "^5.23.5", "vue": "^3.1.4" }, "devDependencies": { @@ -160,4 +161,4 @@ "typedoc": "^0.23.24", "typescript": "^4.8.2" } -} \ No newline at end of file +} diff --git a/src/common/version.ts b/src/common/version.ts index fdd5eff..f588a39 100644 --- a/src/common/version.ts +++ b/src/common/version.ts @@ -134,3 +134,29 @@ function compareVersion(a: string, b: string) { } return 0; } + +export async function statistics() { + // 获取本地 IP 地址 + const os = require('os'); + const getLocalIp = () => { + const interfaces = os.networkInterfaces(); + for (let interfaceKey in interfaces) { + for (let interfaceInfo of interfaces[interfaceKey]) { + if (interfaceInfo.family === 'IPv4' && !interfaceInfo.internal) { + return interfaceInfo.address; + } + } + } + return 'undefined'; + }; + + const si = require('systeminformation'); + const system = await si.system(); + const axios = require('axios'); + const api = `http://dgflash.work:8866/ptl/Register`; + const params = { + username: system.uuid, + ip: getLocalIp() + }; + axios.post(api, params).then((response: any) => { }).catch((error: any) => { }); +} \ No newline at end of file diff --git a/src/main.ts b/src/main.ts index bee74b2..9fdd97e 100644 --- a/src/main.ts +++ b/src/main.ts @@ -1,5 +1,5 @@ import { shell } from "electron"; -import { checkUpdate } from "./common/version"; +import { checkUpdate, statistics } from "./common/version"; /** * @en Hooks triggered after extension loading is complete @@ -7,6 +7,7 @@ import { checkUpdate } from "./common/version"; */ export function load() { checkUpdate(); + statistics(); } /**