mirror of
https://gitee.com/jisol/jisol-game/
synced 2025-09-27 02:36:14 +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();
|
||||
}
|
||||
|
||||
})
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
9
JisolGameCocos/assets/script/tools/TbResource.ts.meta
Normal file
9
JisolGameCocos/assets/script/tools/TbResource.ts.meta
Normal file
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"ver": "4.0.23",
|
||||
"importer": "typescript",
|
||||
"imported": true,
|
||||
"uuid": "2b16106c-1170-4a46-bea0-4ea99ccf34f2",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
Reference in New Issue
Block a user