This commit is contained in:
PC-20230316NUNE\Administrator
2024-01-09 11:52:44 +08:00
parent a153d98cf1
commit b2a5a6c491
967 changed files with 2612 additions and 431 deletions

View File

@@ -1,45 +1,22 @@
import { Asset } from "cc";
import { app } from "../App";
import { Sprite } from "cc";
import { SpriteFrame } from "cc";
import { Node } from "cc";
import { Component } from "cc";
export enum IconTypeEnum{
= "品质",
= "宠物装备",
}
export default class TbResource {
static load<T extends Asset>(res:string,onComplete?:((err: Error | null, data: T) => void)){
app.tbRes.get().load<T>(res,onComplete)
}
static loadSpriteFrame(res:string,sprite:Sprite,comp:Component){
this.load<SpriteFrame>(res,(err,data:SpriteFrame) => {
if(!data) return;
if(!sprite.isValid || !comp.isValid) {
//提前销毁
data.addRef();
data.decRef();
}
sprite.spriteFrame = data;
//添加引用标记
data.addRef();
//添加销毁资源引用
let onDestroy = comp["onDestroy"];
comp["onDestroy"] = () => {
if(onDestroy)
onDestroy.bind(comp)();
//销毁引用
if(sprite.isValid && sprite.spriteFrame == data) sprite.spriteFrame = null;
data.decRef();
}
})
app.tbRes.loadSpriteFrame(res,sprite,comp)
}
//加载资源ICON
static loadSpriteIcon(type:IconTypeEnum,id:string | number,sprite:Sprite,comp:Component){
app.tbRes.loadSpriteFrame(`icon/${type}/${id}/spriteFrame`,sprite,comp)
}
}