完善 docs

This commit is contained in:
SmallMain 2022-06-20 20:36:39 +08:00
parent 11e48119c9
commit 6be0412814
14 changed files with 46 additions and 856 deletions

42
README-DEV.md Normal file
View File

@ -0,0 +1,42 @@
## 项目结构
- `master` 分支存放项目文档、演示项目的源码和其它文件。
- `v1.0.0-v2.4.9` 类似这种格式的分支存放引擎源码与类型提示文件。
## 目录结构
在源码分支下:
- `engine` JavaScript 引擎
- `jsb-adapter` 原生平台 JSB 适配器
- `cocos2d-x` C++ 原生平台引擎
- `creator-sp.d.ts` 引擎 TypeScript 类型提示
`master` 分支下:
- `src` 只留一份指向源码分支的说明文档
- `extension` 引擎扩展
- `docs` 存放着文档网站源码,使用 Docusaurus 开发。
- `demo` 存放着 Cocos Creator 演示项目源码。
- `patches` 存放着所有引擎改动的 Git Patch。
## 发布新版本
### 更新版本号
1. 修改 `engine`、`jsb-adapter`、`cocos2d-x` 根目录的 `VERSION` 文件。
2. 修改 `sp.js``version` 属性。
3. 修改 `extension``package.json` 文件中的 `version` 属性。
4. 修改文档中相关的版本号。
### 准备压缩包
1.将对 engine 的改动整合到 Git Patch然后将 Patch 按相应的引擎目录放置在仓库的 `patches` 目录中,并放在压缩包根目录内。
2.将引擎按照官方文档进行编译,并放到压缩包根目录内,包括类型提示文件。
3.将 `service-pack-support` 目录放在压缩包根目录内。
4.更新文档的更新日志。
### 发布压缩包
1.上传压缩包到 Github 的 Release修改文档内所有下载地址。
2.将文档分出当前版本,并发布新版本文档。

View File

@ -97,7 +97,7 @@ description: "需掌握一定的自定义引擎知识。"
:::
补丁安装实际上就是打 Git Patch**在压缩包内的 `patch` 目录放着最新的 Git Patch 文件。**
补丁安装实际上就是打 Git Patch**在压缩包内的 `patches` 目录放着最新的 Git Patch 文件。**
这种方式理论上可以在任意版本的引擎上进行,但由于这种方式如果需要正确的进行下去本就需要你拥有相关的知识与能力,所以我们不会说的很细致。

3
src/README.md Normal file
View File

@ -0,0 +1,3 @@
请切换到 `v1.0.0-v2.4.9` 类似这种格式的分支查看引擎的源码。
前面的版本号是 Cocos Service Pack 的版本号,后面的版本号是适配引擎的版本号。

855
src/creator-sp.d.ts vendored
View File

@ -1,855 +0,0 @@
declare module cc {
/**
* Cocos Creator Service Pack
*/
module sp {
/**
*
*/
const inited: boolean,
/**
*
*/
const version: string,
/**
*
*
* 8
*/
const MAX_MULTITEXTURE_NUM: number;
/**
*
*/
let autoSwitchMaterial: boolean;
/**
*
*/
let allowDynamicAtlas: boolean;
/**
* Label DPI
*/
let enableLabelRetina: boolean;
/**
* Label
*/
let labelRetinaScale: number;
/**
* Char
*/
let charAtlasAutoBatchCount: number;
/**
* Char
*/
let charAtlasAutoResetBeforeSceneLoad: boolean;
/**
* Effect Asset
*/
const multi2dSpriteEffectAsset: cc.EffectAsset;
/**
* property index to name
*/
function propertyIndex2Name(index: number): string;
/**
* property name to index
*/
function propertyName2Index(name: string): number;
/**
* Material
*/
class MultiHandler {
/**
*
*/
material: cc.Material;
/**
* Texture
*
* cc.Texture2D
*/
protected textures: any[];
/**
*
*/
protected hasEmptySlot: boolean;
constructor(material?: cc.Material);
/**
* Material
*
* Material textures
*/
syncTextures(): void;
/**
* cc.Texture2D
*/
setTexture(index: number, texture: cc.Texture2D): void;
/**
*
*
* cc.Texture2D
*/
removeTexture(texture: any): void;
/**
*
*
* cc.Texture2D
*/
hasTexture(texture: any): boolean;
/**
* Index -1
*
* cc.Texture2D
*/
getIndex(texture: any): number;
/**
* index
*
* cc.Texture2D
*/
getTexture(index: number): any;
/**
* Index -1
*/
getEmptyIndex(): number;
/**
* -1 cc.Texture2D
*/
autoSetTexture(texture: cc.Texture2D): number;
}
/**
*
*/
class MultiBatcher {
/**
*
*/
handlers: MultiHandler[];
/**
*
*/
nextHandler: MultiHandler;
/**
*
*/
init(): void;
/**
* cc.Texture2D
*/
requsetMaterial(texture: cc.Texture2D): cc.Material;
/**
* 使
*/
reset(): void;
}
};
namespace RenderComponent {
export enum EnableType {
/**
* !#en Global.
* !#zh 使
* @property {Number} GLOBAL
*/
GLOBAL = 0,
/**
* !#en Enable.
* !#zh
* @property {Number} ENABLE
*/
ENABLE = 1,
/**
* !#en Disable.
* !#zh
* @property {Number} DISABLE
*/
DISABLE = 2,
}
}
interface RenderComponent {
/**
* `updateRenderData` 使 Texture Index
*/
_texIdDirty: boolean;
/**
* 使 Texture Index
*/
_texId: number;
/**
* `_texId`使 Texture Index
*/
_updateMultiTexId(material: cc.MaterialVariant, texture: cc.Texture2D);
}
interface Label {
/**
*
*/
autoSwitchMaterial: cc.RenderComponent.EnableType;
/**
*
*/
allowDynamicAtlas: cc.RenderComponent.EnableType;
/**
* DPI
*/
enableRetina: cc.RenderComponent.EnableType;
/**
*
*/
setVertsDirty(): void;
}
namespace Label {
/**
* CHAR
*/
class LetterAtlas {
/**
*
*/
_atlases: cc.Label.LetterAtlases;
/**
*
*/
_texture: cc.RenderTexture;
/**
*
*/
_id: number;
/**
*
*/
_tmpId: number;
/**
*
*/
frees: cc.BitmapFont.FontLetterDefinition[];
/**
*
*/
waitCleans: cc.BitmapFont.FontLetterDefinition[];
/**
*
*/
reset(): void;
/**
*
*/
destroy(): void;
}
/**
* CHAR
*/
class LetterAtlases {
/**
*
*/
atlases: any[];
/**
* Char
*/
material: cc.Material;
/**
* Fake MaterialVariant
*/
fakeMaterial: { material: cc.Material };
/**
* cc.BitmapFont.FontAtlas
*/
_fontDefDictionary: any;
/**
* 使 CHAR
*/
getLetterDefinitionForChar(char: string, labelInfo: any): any;
/**
*
*/
getLetter(key: string): cc.BitmapFont.FontLetterDefinition;
/**
*
*/
deleteLetter(letter: cc.BitmapFont.FontLetterDefinition): void;
/**
*
*/
reset(): void;
/**
*
*/
destroy(): void;
}
/**
* CHAR
*/
const _shareAtlas: LetterAtlases;
}
namespace BitmapFont {
/**
* Letter
*/
class FontLetterDefinition {
u: number;
v: number;
w: number;
h: number;
offsetX: number;
offsetY: number;
textureID: number;
valid: boolean;
xAdvance: number;
texture: cc.Texture2D;
atlas: cc.Label.LetterAtlas;
ref: number;
_inCleans: boolean;
_hash: string;
_width: number;
_height: number;
}
}
interface Sprite {
/**
*
*/
autoSwitchMaterial: cc.RenderComponent.EnableType;
/**
*
*/
allowDynamicAtlas: cc.RenderComponent.EnableType;
/**
*
*/
setVertsDirty(): void;
}
interface RichText {
/**
* 使
*/
customMaterial: cc.Material;
/**
*
*/
autoSwitchMaterial: cc.RenderComponent.EnableType;
/**
*
*/
allowDynamicAtlas: cc.RenderComponent.EnableType;
/**
* DPI
*/
enableRetina: cc.RenderComponent.EnableType;
/**
*
*/
setVertsDirty(): void;
}
interface MotionStreak {
/**
*
*/
autoSwitchMaterial: cc.RenderComponent.EnableType;
/**
*
*/
_checkSwitchMaterial(): void;
/**
*
*/
setVertsDirty(): void;
}
interface Texture2D {
/**
*
*/
_multiMaterial: cc.Material;
/**
*
*
* @param material
* @param index
*/
linkMaterial(material: cc.Material, index?: number): boolean;
/**
*
*/
unlinkMaterial(): void;
/**
*
*/
getLinkedMaterial(): cc.Material;
/**
*
*/
hasLinkedMaterial(): boolean;
}
interface Material {
/**
* MultiHandler
*/
_multiHandler?: cc.sp.MultiHandler;
/**
* `USE_MULTI_TEXTURE`
*/
updateMultiSupport(): boolean;
/**
* MultiHandler
*/
isMultiSupport(): boolean;
/**
* MultiHandler
*/
setMultiSupport(bool: boolean): void;
/**
* MultiHandler
*/
getMultiHandler(): cc.sp.MultiHandler;
}
namespace DynamicAtlasManager {
/**
*
*/
class Atlas {
/**
*
*/
static ignoreRectSize: number;
/**
* Atlas
*/
static DEFAULT_HASH: string;
/**
*
*/
width: number;
/**
*
*/
height: number;
/**
*
*/
padding: number;
/**
*
*/
border: number;
/**
*
*/
rootRect: Rect;
/**
*
*/
freeRects: Rect[];
/**
* 使
*/
_count: number;
/**
* cc.RenderTexture
*/
_texture: cc.RenderTexture;
/**
* texture update dirty
*/
_dirty: boolean;
constructor(width: number, height: number, padding?: number, border?: number);
/**
* push to free rects
*/
protected pushFreeRect(rect: Rect): void;
/**
* faster remove from free rects
*/
protected removeFreeRect(index: number): void;
/**
* change member from free rects
*/
protected replaceFreeRect(index: number, rect: Rect): void;
/**
* SpriteFrame
*/
insertSpriteFrame(spriteFrame: cc.SpriteFrame): { x: number, y: number, texture: cc.Texture2D };
/**
*
*/
deleteSpriteFrame(texture: cc.Texture2D, frame: cc.SpriteFrame): boolean;
/**
*
*/
deleteInnerRect(rect: Rect): void;
/**
*
*/
deleteInnerTexture(texture: cc.Texture2D): boolean;
/**
* 使
*/
isEmpty(): boolean;
/**
*
*/
reset(): void;
/**
*
*/
destroy(): void;
}
/**
*
*/
class Rect {
/**
*
*/
static reuse(atlas: Atlas, width: number, height: number, x: number, y: number): cc.DynamicAtlasManager.Rect;
/**
*
*/
static recycle(rect: Rect): void;
/**
* Atlas
*/
atlas: Atlas;
/**
*
*/
width: number;
/**
*
*/
height: number;
/**
*
*/
x: number;
/**
*
*/
y: number;
/**
* freeRects
*/
cacheIndex: number;
/**
* cc.Texture2D UUID
*/
uuid: string;
/**
* 使
*/
spriteFrames: cc.SpriteFrame[] = [];
/**
*
*/
parentRect: Rect | undefined;
/**
*
*/
subRectA: Rect | undefined;
/**
*
*/
subRectB: Rect | undefined;
/**
*
*/
subRectC: Rect | undefined;
/**
*
*/
used: number;
/**
*
*/
readonly sizes: number;
constructor(atlas: Atlas, width: number, height: number, x: number, y: number);
}
}
interface DynamicAtlasManager {
/**
* !#en Is enable autoMultiBatch.
* !#zh
* @property autoMultiBatch
* @type {Boolean}
*/
autoMultiBatch: boolean;
/**
* !#en Is enable autoResetBeforeSceneLoad.
* !#zh
* @property autoResetBeforeSceneLoad
* @type {Boolean}
*/
autoResetBeforeSceneLoad: boolean;
/**
*
*/
atlases: cc.DynamicAtlasManager.Atlas[];
/**
* <`texture._uuid`, Rect>
*/
rects: Record<string, cc.DynamicAtlasManager.Rect>;
/**
* !#en Delete a sprite frame from the dynamic atlas.
* !#zh 使使
* @method deleteSpriteFrame
* @param {SpriteFrame} spriteFrame
*/
deleteSpriteFrame(spriteFrame: cc.SpriteFrame): void;
/**
* !#en Delete a texture from the dynamic atlas.
* !#zh 使
* @method deleteTexture
* @param {Texture2D} texture
*/
deleteTexture(texture: cc.Texture2D): void;
}
}
declare module sp {
interface SkeletonData {
/**
* SkeletonData
*/
clone(): SkeletonData;
}
namespace SkeletonData {
/**
* SpriteFrame spine.TextureAtlasRegion
*
* @param spriteFrame cc.SpriteFrame
* @param original region `name` `page`
*/
function createRegion(spriteFrame: cc.SpriteFrame, original?: spine.TextureRegion): spine.TextureAtlasRegion;
/**
* spine.TextureAtlasRegion SpriteFrame
*
* SpriteFrame region 270 0
*
* @param region spine.TextureAtlasRegion
*/
function createSpriteFrame(region: spine.TextureAtlasRegion): cc.SpriteFrame;
}
interface Skeleton {
/**
*
*/
autoSwitchMaterial: cc.RenderComponent.EnableType;
/**
*
*/
allowDynamicAtlas: cc.RenderComponent.EnableType;
/**
* slot attachment attachment regionSkeleton Skeleton Data
*/
getRegion(slotName: string, attachmentName: string): spine.TextureRegion | null;
/**
* slot attachment attachment regionSkeleton Skeleton Data
*/
setRegion(slotName: string, attachmentName: string, region: spine.TextureRegion): boolean;
/**
*
*/
setVertsDirty(): void;
}
}