GameLayerManager_launcher.lua 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. local GameLayerManager = class("GameLayerManager")
  2. local tremove = table.remove
  3. function GameLayerManager:ctor()
  4. end
  5. function GameLayerManager:Init()
  6. local scene = cc.Scene:create()
  7. local currScene = global.Director:getRunningScene()
  8. if not currScene then
  9. global.Director:runWithScene( scene )
  10. else
  11. global.Director:replaceScene( scene )
  12. end
  13. self._uiNode = cc.Node:create()
  14. scene:addChild(self._uiNode)
  15. self._uiNode:retain()
  16. end
  17. function GameLayerManager:Close()
  18. if nil == self._uiNode then
  19. return nil
  20. end
  21. self._uiNode:autorelease()
  22. self._uiNode = nil
  23. end
  24. function GameLayerManager:OpenLayer(data)
  25. if not self._uiNode then
  26. data._layer = nil
  27. return nil
  28. end
  29. if not data._layer or not data._type then
  30. data._layer = nil
  31. print("Openlayer args: data._layer, data._type")
  32. return nil
  33. end
  34. local layer = data._layer
  35. local ltype = data._type
  36. self._uiNode:addChild(layer, ltype)
  37. end
  38. function GameLayerManager:CloseLayer(data)
  39. if not self._uiNode then
  40. data._layer = nil
  41. return nil
  42. end
  43. if not data._layer then
  44. data._layer = nil
  45. return nil
  46. end
  47. data._layer:removeFromParent()
  48. data._layer = nil
  49. end
  50. return GameLayerManager