mirror of
https://github.com/smallmain/cocos-enhance-kit.git
synced 2024-12-26 11:48:29 +00:00
856 lines
19 KiB
TypeScript
856 lines
19 KiB
TypeScript
|
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 上的 region。Skeleton 优先查找它的皮肤,然后才是 Skeleton Data 中默认的皮肤。
|
|||
|
*/
|
|||
|
getRegion(slotName: string, attachmentName: string): spine.TextureRegion | null;
|
|||
|
|
|||
|
/**
|
|||
|
* 通过 slot 和 attachment 的名称设置 attachment 上的 region。Skeleton 优先查找它的皮肤,然后才是 Skeleton Data 中默认的皮肤。
|
|||
|
*/
|
|||
|
setRegion(slotName: string, attachmentName: string, region: spine.TextureRegion): boolean;
|
|||
|
|
|||
|
/**
|
|||
|
* 置渲染数据刷新脏标记
|
|||
|
*/
|
|||
|
setVertsDirty(): void;
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
|