AssetSlot.ts 625 B

123456789101112131415161718192021222324252627
  1. import { AppKernel } from '@scripts/app/AppKernel';
  2. import { _decorator, Asset, Component, Node } from 'cc';
  3. const { ccclass, property } = _decorator;
  4. @ccclass('AssetSlot')
  5. export class AssetSlot extends Component {
  6. private _preAsset: Asset;
  7. changeAsset(res: Asset) {
  8. this.releaseRes(this._preAsset);
  9. this._preAsset = res;
  10. }
  11. releaseRes(res: Asset) {
  12. // const res = this._preAsset;
  13. if (res) {
  14. AppKernel.resources.releaseRes(res);
  15. }
  16. }
  17. protected onDestroy(): void {
  18. this.releaseRes(this._preAsset);
  19. this._preAsset = null;
  20. }
  21. }