mirror of
https://gitee.com/jisol/jisol-game/
synced 2025-10-09 00:26:11 +00:00
我也不知道在做什么 反正做的东西不少....
This commit is contained in:
46
JisolGameCocos/assets/script/tools/TbResource.ts
Normal file
46
JisolGameCocos/assets/script/tools/TbResource.ts
Normal file
@@ -0,0 +1,46 @@
|
||||
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 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();
|
||||
}
|
||||
|
||||
})
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user