tools.ts 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. import { _decorator, assetManager, Component, ImageAsset, instantiate, Node, Prefab, resources, SpriteFrame, Texture2D } from 'cc';
  2. import { gameManager } from './gameManager';
  3. import { config } from './config';
  4. import { toast } from './toast';
  5. import { dialog } from './dialog/dialog';
  6. const { ccclass, property } = _decorator;
  7. export class tools {
  8. public static showToast(text:string){
  9. if(gameManager.getTopLayer()==null){
  10. console.log("gameManager.topLayer -- null!");
  11. return;
  12. }
  13. resources.load(config.PREFAB_PATH.toast, Prefab, (err, prefab) => {
  14. if(err){
  15. console.log("addTopView -- err::",err);
  16. return;
  17. }
  18. let newNode:Node = instantiate(prefab);
  19. newNode.parent = gameManager.getTopLayer();
  20. newNode.getComponent(toast).showView(text);
  21. });
  22. }
  23. public static showDialog(text:string,call_yes=null,call_not=null){
  24. if(gameManager.getTopLayer()==null){
  25. console.log("gameManager.topLayer -- null!");
  26. return;
  27. }
  28. resources.load(config.PREFAB_PATH.dialog, Prefab, (err, prefab) => {
  29. if(err){
  30. console.log("addTopView -- err::",err);
  31. return;
  32. }
  33. let newNode:Node = instantiate(prefab);
  34. newNode.parent = gameManager.getTopLayer();
  35. newNode.getComponent(dialog).show(text,call_yes,call_not);
  36. });
  37. }
  38. public static showDialogOne(text:string,call_yes=null){
  39. if(gameManager.getTopLayer()==null){
  40. console.log("gameManager.topLayer -- null!");
  41. return;
  42. }
  43. resources.load(config.PREFAB_PATH.dialog, Prefab, (err, prefab) => {
  44. if(err){
  45. console.log("addTopView -- err::",err);
  46. return;
  47. }
  48. let newNode:Node = instantiate(prefab);
  49. newNode.parent = gameManager.getTopLayer();
  50. newNode.getComponent(dialog).showOne(text,call_yes);
  51. });
  52. }
  53. public static loadRemoteImg(url,call_back,id=null){
  54. assetManager.loadRemote<ImageAsset>(url, (err, imageAsset2)=>{
  55. if (!err && imageAsset2) {
  56. const texture = new Texture2D();
  57. texture.image = imageAsset2;
  58. let spFrame2 = new SpriteFrame();
  59. spFrame2.texture = texture;
  60. if(id!=null){
  61. call_back(spFrame2,id);
  62. }else{
  63. call_back(spFrame2);
  64. }
  65. }
  66. });
  67. }
  68. public static loadRemoteImgByCategoryid(categoryid:number,level:number,url,call_back,id=null){
  69. let map = gameManager.cache.get(`${level}_${categoryid}`)
  70. let isCache = false;
  71. if(map!=null&&map.size>0){
  72. if(map.get(url)){
  73. isCache =true;
  74. if(id!=null){
  75. call_back(map.get(url),id);
  76. }else{
  77. call_back(map.get(url));
  78. }
  79. }
  80. }
  81. if(!isCache){
  82. assetManager.loadRemote<ImageAsset>(url, (err, imageAsset2)=>{
  83. if (!err && imageAsset2) {
  84. const texture = new Texture2D();
  85. texture.image = imageAsset2;
  86. let spFrame2 = new SpriteFrame();
  87. spFrame2.texture = texture;
  88. if(id!=null){
  89. call_back(spFrame2,id);
  90. }else{
  91. call_back(spFrame2);
  92. }
  93. }
  94. });
  95. }
  96. }
  97. }