LogicUnitManager.js 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. import LoginBehavior from "../Logic/LoginBehavior";
  2. import EnterRoomBehavior from '../Logic/EnterRoomBehavior';
  3. import BootBheavior from '../Logic/BootBehavior';
  4. import ChatBehavior from '../Logic/ChatBehavior';
  5. import ShareBehavior from '../Logic/ShareBehavior';
  6. import BattleBehavior from '../logic/BattleBehavior';
  7. let LogicUnitManager = (
  8. function()
  9. {
  10. var _behaviorMap = {};
  11. var _behaviorConsturctFun = {};
  12. var registerBehaviorContruct = function(behaviorName,constructFun)
  13. {
  14. _behaviorConsturctFun[behaviorName] = constructFun;
  15. };
  16. registerBehaviorContruct('LoginBehavior', LoginBehavior);
  17. registerBehaviorContruct('EnterRoomBehavior', EnterRoomBehavior);
  18. registerBehaviorContruct('BootBehavior', BootBheavior);
  19. registerBehaviorContruct('ChatBehavior', ChatBehavior);
  20. registerBehaviorContruct('ShareBehavior', ShareBehavior);
  21. // registerBehaviorContruct('BattleBehavior', BattleBehavior)
  22. return {
  23. getBehavior(behaviorName)
  24. {
  25. if(_behaviorMap[behaviorName])
  26. {
  27. return _behaviorMap[behaviorName];
  28. }
  29. else
  30. {
  31. if(_behaviorConsturctFun[behaviorName])
  32. {
  33. _behaviorMap[behaviorName] = new _behaviorConsturctFun[behaviorName];
  34. return _behaviorMap[behaviorName];
  35. }
  36. else
  37. {
  38. }
  39. }
  40. },
  41. destroyBehavior(behaviorName)
  42. {
  43. if(_behaviorMap[behaviorName])
  44. {
  45. _behaviorMap[behaviorName].destroy();
  46. delete _behaviorMap[behaviorName];
  47. }
  48. }
  49. };
  50. }
  51. )();
  52. export default LogicUnitManager;