PreloadManager.js 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. import Common from './Common'
  2. import LogicUnitManager from '../framework/LogicUnitManager';
  3. import Event from '../net/Event';
  4. import Define from './Define'
  5. export default class PreloadManager
  6. {
  7. constructor()
  8. {
  9. if( PreloadManager.unique !== undefined ){
  10. return PreloadManager.unique;
  11. }
  12. this.init();
  13. PreloadManager.unique = this
  14. }
  15. init()
  16. {
  17. this.loadPrefabDone = false;
  18. this._PrefabMap = {};
  19. this.loadAnimDone = false;
  20. this._AnimMap = {};
  21. this.loadAtlasDone = false;
  22. this._AtlasMap = {};
  23. this._lum = LogicUnitManager;
  24. }
  25. run()
  26. {
  27. this.preloadPrefab();
  28. this.preloadAnim();
  29. this.preloadAtlas();
  30. }
  31. preloadAtlas()
  32. {
  33. var self = this;
  34. var atlasUrl = [
  35. 'plists/hall',
  36. 'plists/start',
  37. 'plists/reg',];
  38. cc.loader.loadResArray(atlasUrl, cc.SpriteAtlas, function(err, atlas){
  39. self.loadAtlasDone = true;
  40. for (var i = 0; i < atlas.length; ++i)
  41. {
  42. self._AtlasMap[atlasUrl[i]] = atlas[i];
  43. console.log(atlasUrl[i]);
  44. console.log(atlas[i]);
  45. }
  46. self._lum.getBehavior('LoginBehavior').emit(Event.COM_MSG.PRELOAD_DONE);
  47. })
  48. }
  49. getAtlasByUrl(url)
  50. {
  51. url = Define.Prefix + url
  52. return this._AtlasMap[url];
  53. }
  54. preloadPrefab()
  55. {
  56. var self = this;
  57. var prefabUrl = Define.Prefix +'prefab';
  58. cc.loader.loadResDir(prefabUrl, function(err, objects, urls){
  59. console.log("load prefab done");
  60. for (var i = 0; i < objects.length; ++i)
  61. {
  62. self._PrefabMap[urls[i]] = objects[i];
  63. console.log(urls[i]);
  64. }
  65. self.loadPrefabDone = true;
  66. self._lum.getBehavior('LoginBehavior').emit(Event.COM_MSG.PRELOAD_DONE);
  67. })
  68. }
  69. getPrefabByUrl(url)
  70. {
  71. url = Define.Prefix +url
  72. return this._PrefabMap[url];
  73. }
  74. preloadAnim()
  75. {
  76. var self = this;
  77. var animUrl = Define.Prefix + 'anim';
  78. cc.loader.loadResDir(animUrl, function(err, objects, urls){
  79. console.log("load anim done");
  80. for (var i = 0; i < objects.length; ++i)
  81. {
  82. self._AnimMap[urls[i]] = objects[i];
  83. console.log(urls[i]);
  84. }
  85. self.loadAnimDone = true;
  86. self._lum.getBehavior('LoginBehavior').emit(Event.COM_MSG.PRELOAD_DONE);
  87. })
  88. }
  89. getAnimByUrl(url)
  90. {
  91. url = Define.Prefix +url
  92. return this._AnimMap[url];
  93. }
  94. }