1. 整理框架中所有组件在属性检查器中显示路径

2. 框架部分源码关联在线文档
This commit is contained in:
dgflash
2024-10-13 12:55:33 +08:00
parent 968024d85c
commit ee47857f2b
41 changed files with 87 additions and 55 deletions

View File

@@ -7,6 +7,7 @@ const LOCAL_STORE_KEY = "game_audio";
/**
* 音频管理
* @help https://gitee.com/dgflash/oops-framework/wikis/pages?sort_id=12037893&doc_id=2873565
* @example
// 模块功能通过 oops.audio 调用
oops.audio.playMusic("audios/nocturne");

View File

@@ -66,6 +66,7 @@ export class MessageEventData {
/**
* 全局消息管理
* @help https://gitee.com/dgflash/oops-framework/wikis/pages?sort_id=12037894&doc_id=2873565
* @example
// 注册持续监听的全局事件
export class RoleViewComp extends Component{

View File

@@ -28,6 +28,8 @@ interface ILoadResArgs<T extends Asset> {
* 1、加载默认resources文件夹中资源
* 2、加载默认bundle远程资源
* 3、主动传递bundle名时优先加载传递bundle名资源包中的资源
*
* @help https://gitee.com/dgflash/oops-framework/wikis/pages?sort_id=12037901&doc_id=2873565
*/
export class ResLoader {
//#region 资源配置数据

View File

@@ -27,6 +27,7 @@ var names = {
/**
* 日志管理
* @help https://gitee.com/dgflash/oops-framework/wikis/pages?sort_id=12037904&doc_id=2873565
* @example
oops.log.trace("默认标准日志");
oops.log.logConfig("灰色配置日志");

View File

@@ -1,6 +1,9 @@
/** 引擎 utils.ts 中有一些基础数学方法 */
/** 随机管理 */
/**
* 随机管理
* @help https://gitee.com/dgflash/oops-framework/wikis/pages?sort_id=12037911&doc_id=2873565
*/
export class RandomManager {
private static _instance: RandomManager;
private random: any = null!;

View File

@@ -7,7 +7,10 @@ export interface IStorageSecurity {
encryptKey(str: string): string;
}
/** 本地存储 */
/**
* 本地存储
* @help https://gitee.com/dgflash/oops-framework/wikis/pages?sort_id=12037957&doc_id=2873565
*/
export class StorageManager {
private id: string = null!;
private iss: IStorageSecurity = null!;

View File

@@ -7,6 +7,7 @@
/**
* 定时触发组件
* @help https://gitee.com/dgflash/oops-framework/wikis/pages?sort_id=12037964&doc_id=2873565
* @example
export class Test extends Component {
// 创建一个定时跳动组件

View File

@@ -37,6 +37,7 @@ export enum LayerType {
/**
* 界面配置结构体
* @help https://gitee.com/dgflash/oops-framework/wikis/pages?sort_id=12037986&doc_id=2873565
* @example
// 界面唯一标识
export enum UIID {

View File

@@ -2,7 +2,7 @@ import { Animation, AnimationState, _decorator } from "cc";
import AnimatorBase, { AnimationPlayer } from "./core/AnimatorBase";
import { AnimatorStateLogic } from "./core/AnimatorStateLogic";
const { ccclass, property, requireComponent, disallowMultiple, menu } = _decorator;
const { ccclass, property, requireComponent, disallowMultiple, menu, help } = _decorator;
/**
* Cocos Animation状态机组件
@@ -10,7 +10,8 @@ const { ccclass, property, requireComponent, disallowMultiple, menu } = _decorat
@ccclass
@disallowMultiple
@requireComponent(Animation)
@menu('animator/AnimatorAnimation')
@menu('OopsFramework/Animator/AnimatorAnimation (动画状态机)')
@help('https://gitee.com/dgflash/oops-framework/wikis/pages?sort_id=12036279&doc_id=2873565')
export default class AnimatorAnimation extends AnimatorBase {
/** Animation组件 */
protected _animation: Animation = null!;

View File

@@ -2,18 +2,19 @@ import { _decorator } from "cc";
import AnimatorBase, { AnimationPlayer } from "./core/AnimatorBase";
import { AnimatorStateLogic } from "./core/AnimatorStateLogic";
const { ccclass, property, menu, disallowMultiple } = _decorator;
const { ccclass, property, disallowMultiple, menu, help } = _decorator;
/**
* 自定义动画控制的状态机组件
*/
@ccclass
@disallowMultiple
@menu('animator/AnimatorCustomization')
@menu('OopsFramework/Animator/AnimatorCustomization (自定义状态机)')
@help('https://gitee.com/dgflash/oops-framework/wikis/pages?sort_id=12036279&doc_id=2873565')
export default class AnimatorCustomization extends AnimatorBase {
/** 此组件必须主动调用onInit初始化 */
@property({ override: true, visible: false })
protected PlayOnStart: boolean = false;
PlayOnStart: boolean = false;
/**
* 手动初始化状态机可传入0-3个参数类型如下

View File

@@ -1,8 +1,8 @@
import { dragonBones, _decorator } from "cc";
import { _decorator, dragonBones } from "cc";
import AnimatorBase, { AnimationPlayer } from "./core/AnimatorBase";
import { AnimatorStateLogic } from "./core/AnimatorStateLogic";
const { ccclass, property, requireComponent, disallowMultiple } = _decorator;
const { ccclass, property, requireComponent, disallowMultiple, menu, help } = _decorator;
/**
* DragonBones状态机组件
@@ -10,6 +10,8 @@ const { ccclass, property, requireComponent, disallowMultiple } = _decorator;
@ccclass
@disallowMultiple
@requireComponent(dragonBones.ArmatureDisplay)
@menu('OopsFramework/Animator/AnimatorDragonBones (龙骨状态机)')
@help('https://gitee.com/dgflash/oops-framework/wikis/pages?sort_id=12036279&doc_id=2873565')
export default class AnimatorDragonBones extends AnimatorBase {
/** DragonBones组件 */
private _dragonBones: dragonBones.ArmatureDisplay = null!;

View File

@@ -8,12 +8,13 @@
import { CCFloat, game, SkeletalAnimation, _decorator } from 'cc';
import AnimatorAnimation from './AnimatorAnimation';
const { ccclass, property, requireComponent, disallowMultiple, menu } = _decorator;
const { ccclass, property, requireComponent, disallowMultiple, menu, help } = _decorator;
@ccclass
@disallowMultiple
@requireComponent(SkeletalAnimation)
@menu('animator/AnimatorSkeletal')
@menu('OopsFramework/Animator/AnimatorSkeletal (骨骼动画状态机)')
@help('https://gitee.com/dgflash/oops-framework/wikis/pages?sort_id=12036279&doc_id=2873565')
export class AnimatorSkeletal extends AnimatorAnimation {
@property({
type: CCFloat,

View File

@@ -1,9 +1,9 @@
import { sp, _decorator } from "cc";
import { _decorator, sp } from "cc";
import AnimatorSpineSecondary from "./AnimatorSpineSecondary";
import AnimatorBase, { AnimationPlayer } from "./core/AnimatorBase";
import { AnimatorStateLogic } from "./core/AnimatorStateLogic";
const { ccclass, property, requireComponent, disallowMultiple } = _decorator;
const { ccclass, property, requireComponent, disallowMultiple, menu, help } = _decorator;
/**
* Spine状态机组件主状态机trackIndex为0
@@ -11,6 +11,8 @@ const { ccclass, property, requireComponent, disallowMultiple } = _decorator;
@ccclass
@disallowMultiple
@requireComponent(sp.Skeleton)
@menu('OopsFramework/Animator/AnimatorSpineSpine 状态机)')
@help('https://gitee.com/dgflash/oops-framework/wikis/pages?sort_id=12036279&doc_id=2873565')
export default class AnimatorSpine extends AnimatorBase {
/** spine组件 */
protected _spine: sp.Skeleton = null!;

View File

@@ -1,15 +1,17 @@
import { sp, _decorator } from "cc";
import { _decorator, sp } from "cc";
import AnimatorSpine from "./AnimatorSpine";
import AnimatorBase, { AnimationPlayer } from "./core/AnimatorBase";
import { AnimatorStateLogic } from "./core/AnimatorStateLogic";
const { ccclass, property, requireComponent } = _decorator;
const { ccclass, property, requireComponent, menu, help } = _decorator;
/**
* Spine状态机组件次状态机同一节点可添加多个用于在不同track中播放动画trackIndex必须大于0
*/
@ccclass
@requireComponent(sp.Skeleton)
@menu('OopsFramework/Animator/AnimatorSpine Spine 次状态机)')
@help('https://gitee.com/dgflash/oops-framework/wikis/pages?sort_id=12036279&doc_id=2873565')
export default class AnimatorSpineSecondary extends AnimatorBase {
@property({ tooltip: '动画播放的trackIndex必须大于0' }) TrackIndex: number = 1;

View File

@@ -29,7 +29,7 @@ const KEYCODE = {
};
@ccclass("FreeFlightCamera")
@menu('oops/camera/FreeFlightCamera')
@menu('OopsFramework/Camera/FreeFlightCamera (自由飞行摄像机)')
export class FreeFlightCamera extends Component {
@property({
type: CCFloat,

View File

@@ -1,6 +1,6 @@
import { Component, EventMouse, EventTouch, input, Input, lerp, Node, Quat, Vec2, Vec3, _decorator } from 'cc';
import { _decorator, Component, EventMouse, EventTouch, input, Input, lerp, Node, Quat, Vec2, Vec3 } from 'cc';
import { EDITOR } from 'cc/env';
const { ccclass, property } = _decorator;
const { ccclass, property, menu } = _decorator;
let tempVec3 = new Vec3;
let tempVec3_2 = new Vec3;
@@ -14,6 +14,7 @@ const DeltaFactor = 1 / 200;
* 3、固定为第三人称摄像机
*/
@ccclass('OrbitCamera')
@menu('OopsFramework/Camera/OrbitCamera (轨道摄影机)')
export class OrbitCamera extends Component {
@property({
tooltip: "是否启动触摸控制"

View File

@@ -9,8 +9,11 @@ import { ECSComblockSystem, ECSRootSystem, ECSSystem } from "./ECSSystem";
* ECSComp对象从ECSEntity.remove后数据组件会回收到ECSModel.compPools组件对象池中
*/
/** Entity-Component-System实体-组件-系统)框架 */
export module ecs {
/**
* Entity-Component-System实体-组件-系统)框架
* 文档https://gitee.com/dgflash/oops-framework/wikis/pages?sort_id=12033388&doc_id=2873565
*/
export namespace ecs {
/** 实体 - 一个概念上的定义,指的是游戏世界中的一个独特物体,是一系列组件的集合 */
export type Entity = ECSEntity;
/** 组件 - 一堆数据的集合,即不存在任何的行为,只用来存储状态 */

View File

@@ -10,9 +10,9 @@ import ButtonSimple from "./ButtonSimple";
const { ccclass, property, menu } = _decorator;
/** 有特效短按按钮 */
/** 有特效按钮 */
@ccclass("ButtonEffect")
@menu('ui/button/ButtonEffect')
@menu('OopsFramework/Button/ButtonEffect (有特效按钮)')
export default class ButtonEffect extends ButtonSimple {
@property({
tooltip: "是否开启"

View File

@@ -4,9 +4,9 @@ import { resLoader } from "../../../core/common/loader/ResLoader";
const { ccclass, property, menu } = _decorator;
/** 短按按钮 */
/** 节点按钮 */
@ccclass("ButtonSimple")
@menu('ui/button/ButtonSimple')
@menu('OopsFramework/Button/ButtonSimple (节点按钮)')
export default class ButtonSimple extends Component {
@property({
tooltip: "是否只触发一次"

View File

@@ -11,7 +11,7 @@ const { ccclass, property, menu } = _decorator;
/** 长按按钮 */
@ccclass("ButtonTouchLong")
@menu('ui/button/ButtonTouchLong')
@menu('OopsFramework/Button/ButtonTouchLong (长按按钮)')
export class ButtonTouchLong extends ButtonEffect {
@property({
tooltip: "长按时间(秒)"

View File

@@ -10,7 +10,7 @@ const { ccclass, property, menu } = _decorator;
* 2、按钮点击触发音效
*/
@ccclass("UIButton")
@menu('ui/button/UIButton')
@menu('OopsFramework/Button/UIButton (通用按钮)')
export default class UIButton extends Button {
@property({
tooltip: "每次触发间隔"

View File

@@ -11,7 +11,7 @@ const { ccclass, property, menu } = _decorator;
/** 数值变化动画标签组件 */
@ccclass("LabelChange")
@menu('ui/label/LabelChange')
@menu('OopsFramework/Label/LabelChange (数值变化动画标签)')
export class LabelChange extends LabelNumber {
@property
isInteger: boolean = false;

View File

@@ -10,7 +10,7 @@ const {ccclass, property, menu} = _decorator;
/** 只能显示数字的标签组件 */
@ccclass("LabelNumber")
@menu('ui/label/LabelNumber')
@menu('OopsFramework/Label/LabelNumber (只显示数字的标签)')
export default class LabelNumber extends Label {
@property({tooltip: "数字"})
_num: number = 0;

View File

@@ -5,8 +5,9 @@ import { TimeUtil } from "../../../core/utils/TimeUtils";
const { ccclass, property, menu } = _decorator;
/** 倒计时标签 */
@ccclass("LabelTime")
@menu('ui/label/LabelTime')
@menu('OopsFramework/Label/LabelTime (倒计时标签)')
export default class LabelTime extends Label {
@property({
tooltip: "到计时间总时间(单位秒)"

View File

@@ -12,8 +12,9 @@ export class LangLabelParamsItem {
value: string = "";
}
/** 文本多语言 */
@ccclass("LanguageLabel")
@menu('ui/language/LanguageLabel')
@menu('OopsFramework/Language/LanguageLabel (文本多语言)')
export class LanguageLabel extends Component {
@property({
type: LangLabelParamsItem,

View File

@@ -11,8 +11,9 @@ import { LanguageData } from "./LanguageData";
const { ccclass, property, menu } = _decorator;
/** Spine 动画多语言 */
@ccclass("LanguageSpine")
@menu('ui/language/LanguageSpine')
@menu('OopsFramework/Language/LanguageSpine Spine 动画多语言)')
export class LanguageSpine extends Component {
@property({ serializable: true })
private _dataID: string = "";

View File

@@ -11,8 +11,9 @@ import { LanguageData } from "./LanguageData";
const { ccclass, property, menu } = _decorator;
/** 图片多语言 */
@ccclass("LanguageSprite")
@menu('ui/language/LanguageSprite')
@menu('OopsFramework/Language/LanguageSprite (图片多语言)')
export class LanguageSprite extends Component {
@property({ serializable: true })
private _dataID: string = "";

View File

@@ -9,7 +9,7 @@ class StringFormat {
format = format.toLowerCase().trim(); // 不区分大小
let match_func = format.match(/^[a-z|A-Z]+/gi); // 匹配到 format 中的 函数名
let match_num = format.match(/\d+$/gi); //匹配到 format 中的参数
let match_num = format.match(/\d+$/gi); // 匹配到 format 中的参数
let func: string = '';
let num: number = 0;
let res: number | string = '';

View File

@@ -16,7 +16,7 @@ const { ccclass, help } = _decorator;
* watchPath 的基础,只提供绑定功能 和 对应的数据更新函数
*/
@ccclass
@help('https://gitee.com/dgflash/oops-framework/blob/master/doc/mvvm/VMBase.md')
@help('https://gitee.com/dgflash/oops-framework/wikis/pages?sort_id=12037631&doc_id=2873565')
export class VMBase extends Component {
/**VM管理 */
VM = VM;

View File

@@ -16,8 +16,8 @@ enum ACTION_MODE {
*/
@ccclass
@executeInEditMode
@menu('ModelViewer/Edit-Comps (快速组件操作)')
@help('https://gitee.com/dgflash/oops-framework/blob/master/doc/mvvm/VMCompsEdit.md')
@menu('OopsFramework/Mvvm/Edit-Comps 快速组件操作')
@help('https://gitee.com/dgflash/oops-framework/wikis/pages?sort_id=12037632&doc_id=2873565')
export default class MVCompsEdit extends Component {
@property({
type: [CCString]

View File

@@ -25,8 +25,8 @@ const COMP_ARRAY_CHECK = [
*/
@ccclass
@executeInEditMode
@menu('ModelViewer/VM-Custom (自定义VM)')
@help('https://gitee.com/dgflash/oops-framework/blob/master/doc/mvvm/VMCustom.md')
@menu('OopsFramework/Mvvm/VM-Custom 自定义')
@help('https://gitee.com/dgflash/oops-framework/wikis/pages?sort_id=12037634&doc_id=2873565')
export class VMCustom extends VMBase {
@property({
tooltip: '激活controller,以开启双向绑定,否则只能接收消息',

View File

@@ -29,8 +29,8 @@ enum FILTER_MODE {
*/
@ccclass
@executeInEditMode
@menu('ModelViewer/VM-EventCall(调用函数)')
@help('https://gitee.com/dgflash/oops-framework/blob/master/doc/mvvm/VMEvent.md')
@menu('OopsFramework/Mvvm/VM-EventCall 调用函数')
@help('https://gitee.com/dgflash/oops-framework/wikis/pages?sort_id=12037640&doc_id=2873565')
export default class VMEvent extends VMBase {
@property({
tooltip: '使用模板模式,可以使用多路径监听'

View File

@@ -1,4 +1,4 @@
import { CCString, error, _decorator } from 'cc';
import { _decorator, CCString, error } from 'cc';
import { StringFormatFunction } from './StringFormat';
import { VMBase } from './VMBase';
import { VMEnv } from './VMEnv';
@@ -19,8 +19,8 @@ const LABEL_TYPE = {
*/
@ccclass
@executeInEditMode
@menu('ModelViewer/VM-Label(文本VM)')
@help('https://gitee.com/dgflash/oops-framework/blob/master/doc/mvvm/VMLabel.md')
@menu('OopsFramework/Mvvm/VM-Label (标签)')
@help('https://gitee.com/dgflash/oops-framework/wikis/pages?sort_id=12037641&doc_id=2873565')
export default class VMLabel extends VMBase {
@property({
tooltip: '是否启用模板代码,只能在运行时之前设置,\n将会动态解析模板语法 {{0}},并且自动设置监听的路径'

View File

@@ -16,8 +16,8 @@ enum CLAMP_MODE {
* 修改 Model 的值
*/
@ccclass
@menu('ModelViewer/VM-Modify(修改Model)')
@help('https://gitee.com/dgflash/oops-framework/blob/master/doc/mvvm/VMModify.md')
@menu('OopsFramework/Mvvm/VM-Modify (修改数据)')
@help('https://gitee.com/dgflash/oops-framework/wikis/pages?sort_id=12037642&doc_id=2873565')
export default class VMModify extends VMBase {
@property({
tooltip: "监视对象路径"

View File

@@ -13,7 +13,7 @@ const { ccclass, help, executionOrder } = _decorator;
*/
@ccclass
@executionOrder(-1)
@help('https://gitee.com/dgflash/oops-framework/blob/master/doc/mvvm/VMParent.md')
@help('https://gitee.com/dgflash/oops-framework/wikis/pages?sort_id=12037729&doc_id=2873565')
export default class VMParent extends GameComponent {
/** 绑定的标签可以通过这个tag 获取 当前的 vm 实例 */
protected tag: string = '_temp';

View File

@@ -12,8 +12,8 @@ import { VMEnv } from "./VMEnv";
const { ccclass, property, menu, help } = _decorator;
@ccclass
@menu('ModelViewer/VM-Progress (VM-进度条)')
@help('https://gitee.com/dgflash/oops-framework/blob/master/doc/mvvm/VMProgress.md')
@menu('OopsFramework/Mvvm/VM-Progress 进度条')
@help('https://gitee.com/dgflash/oops-framework/wikis/pages?sort_id=12037843&doc_id=2873565')
export default class VMProgress extends VMCustom {
@property({
visible: false,

View File

@@ -35,8 +35,8 @@ enum CHILD_MODE_TYPE {
* 监听数值状态,根据数值条件设置节点是否激活
*/
@ccclass
@menu('ModelViewer/VM-State (VM状态控制)')
@help('https://github.com/wsssheep/cocos_creator_mvvm_tools/blob/master/docs/VMState.md')
@menu('OopsFramework/Mvvm/VM-State 状态控制')
@help('https://gitee.com/dgflash/oops-framework/wikis/pages?sort_id=12037846&doc_id=2873565')
export default class VMState extends VMBase {
@property
watchPath: string = "";

View File

@@ -12,7 +12,7 @@ enum PARAM_TYPE {
* 将该组件的所处节点的所有子节点绑定相同的回调对象并将组件名设置到customEventData属性中
*/
@ccclass
@menu("添加特殊行为/UI/Button Group(一组按钮控制)")
@menu("OopsFramework/UI/Button Group 按钮控制")
export class BhvButtonGroup extends Component {
@property({
type: Enum(Button.Transition)

View File

@@ -2,10 +2,11 @@ import { CCInteger, Component, error, Sprite, SpriteFrame, _decorator } from "cc
const { ccclass, property, executeInEditMode, requireComponent, menu } = _decorator;
/** 图片切换 */
@ccclass
@executeInEditMode
@requireComponent(Sprite)
@menu("添加特殊行为/UI/Frame Index(帧图改变)")
@menu("OopsFramework/UI/Frame Index (图片切换)")
export class BhvFrameIndex extends Component {
@property({
type: [SpriteFrame],

View File

@@ -20,11 +20,11 @@ enum VALUE_TYPE {
type CustomCallback = (curValue: number, targetValue: number) => string;
/**
* [滚动数字] ver 0.5.0
* 滚动数字
* 将会使用 lerp 自动滚动数字到目标数值
*/
@ccclass
@menu("添加特殊行为/UI/Roll Number (滚动数字)")
@menu("OopsFramework/UI/Roll Number 滚动数字")
export class BhvRollNumber extends Component {
@property({
type: Label,

View File

@@ -3,9 +3,10 @@ import { VMEnv } from "../VMEnv";
const { ccclass, property, executeInEditMode, menu } = _decorator;
/** 页面切换 */
@ccclass
@executeInEditMode
@menu("添加特殊行为/UI/Switch Page (切换页面)")
@menu("OopsFramework/UI/Switch Page (页面切换)")
export class BhvSwitchPage extends Component {
@property
isLoopPage: boolean = false;