AB.ts 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. import { Asset } from "cc";
  2. import { SpriteFrame } from "cc";
  3. import { Prefab, resources } from "cc";
  4. export default class AB {
  5. async loadInLoading(): Promise<boolean> {
  6. return new Promise((resolve, reject) => {
  7. resolve(true);
  8. });
  9. }
  10. loadRes(path: string, asset: typeof Asset): Promise<Asset> {
  11. return new Promise((resolve, reject) => {
  12. resources.load(path, asset, (err, asset) => {
  13. if (err) {
  14. reject(err);
  15. } else {
  16. resolve(asset);
  17. }
  18. });
  19. });
  20. }
  21. private static _ins: AB;
  22. public static get ins(): AB {
  23. return AB._ins ??= new AB();
  24. }
  25. async loadPrefab(path): Promise<Prefab> {
  26. return new Promise((resolve, reject) => {
  27. resources.load(path, Prefab, (err, prefab) => {
  28. if (err) {
  29. reject(err);
  30. } else {
  31. resolve(prefab);
  32. }
  33. });
  34. });
  35. }
  36. async loadSpriteFrame(path: string): Promise<SpriteFrame> {
  37. let a = await this.loadRes(path+"/spriteFrame", SpriteFrame);
  38. return a as SpriteFrame;
  39. }
  40. }