You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

88 lines
2.4 KiB

  1. local targetPlatform = cc.Application:getInstance():getTargetPlatform()
  2. local writablePath = cc.FileUtils:getInstance():getWritablePath()
  3. function loadFile(filename)
  4. print("loadFile() "..filename)
  5. return cc.FileSystem:getStringFromFile(filename)
  6. end
  7. function loadFileEncode(filename)
  8. print("loadFileEncode() "..filename)
  9. local fileString = loadFile(filename)
  10. if fileString == nil then
  11. return nil
  12. end
  13. local decodeString = cc.FilePackage:decrypt(fileString)
  14. return decodeString
  15. end
  16. function loadRomSettingScript()
  17. print("loadRomSettingScript()")
  18. local romSettingFile = "romFiles/RomSetting.lua"
  19. local romSettingString = nil
  20. if targetPlatform == 3 then
  21. romSettingString = loadFileEncode(romSettingFile)
  22. else
  23. romSettingString = loadFile(romSettingFile)
  24. end
  25. if not romSettingString then
  26. return
  27. end
  28. local luaFunc = loadstring(romSettingString);
  29. local romSetting = luaFunc();
  30. if not romSetting then
  31. return
  32. end
  33. local platform = romSetting.Platform
  34. local PlatformConfig = require("preload.PlatformConfig");
  35. if PlatformConfig[platform] then
  36. local setting
  37. if romSetting.isDevMode then
  38. setting = PlatformConfig[platform].debug
  39. else
  40. setting = PlatformConfig[platform].release
  41. end
  42. for k,v in pairs(setting) do
  43. romSetting[k] = v;
  44. end
  45. end
  46. return romSetting;
  47. end
  48. local function updateSearchPaths()
  49. print("updateSearchPaths()")
  50. -- RomSetting 其他平台的对应的配置会在打包的时候覆盖core里面的 然后通过此文件加载对应平台的路径
  51. -- paths 默认只有三个目录
  52. local paths = cc.FileUtils:getInstance():getSearchPaths()
  53. local pathNums = #paths
  54. if pathNums>=1 and pathNums <= 5 then
  55. local RomSetting = loadRomSettingScript()
  56. local path = paths[1]; -- "assets"
  57. table.insert(paths,1,writablePath..RomSetting.Platform.."/")
  58. table.insert(paths,2,path..RomSetting.Platform.."/")
  59. table.insert(paths,3,writablePath.."games".."/")
  60. table.insert(paths,4,path.."games".."/")
  61. table.insert(paths,5,writablePath.."core".."/")
  62. table.insert(paths,6,path.."core".."/")
  63. table.insert(paths,7,writablePath)
  64. for k,v in pairs(paths) do
  65. print(k..":"..v)
  66. end
  67. cc.FileUtils:getInstance():setSearchPaths(paths)
  68. end
  69. end
  70. updateSearchPaths();
  71. require("preload.Plugin")
  72. require("preload.PluginDevice")
  73. require("preload.PluginBugly")
  74. require("preload.PluginUmeng")
  75. require("preload.PluginHttpDns")
  76. initPluginBugly();
  77. initPluginHttpDns();
  78. umengInit();