main.lua
2.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
cc.FileUtils:getInstance():setPopupNotify(false)
cc.FileUtils:getInstance():addSearchPath("src/")
cc.FileUtils:getInstance():addSearchPath("res/")
local engine_loaded = {};
for i,v in pairs(package.loaded) do
engine_loaded[i] = v;
end
require "config";
require "cocos.init";
require "cocos.cocos2d.json";
require "core.utils.util";
__G__TRACKBACK__ = function(msg)
local traceback = debug.traceback(msg, 3);
print(traceback);
logUI(traceback);
return traceback;
end
local function main()
require "app.info.ConfigInfo";
DEBUG = tonumber(ConfigInfo.getConfigInfo("debug"));
CHANNEL = ConfigInfo.getConfigInfo("channel");
IS_TV = tonumber(ConfigInfo.getConfigInfo("is_tv"));
require "core.log.init";
cc.Director:getInstance():setAnimationInterval(1/30);
require("app.MyApp"):create();
app:enterMiniGameScene("cake.LoadingScene");
end
function reloadGame()
for k,_ in pairs(package.loaded) do
local has_k = false;
for i,v in pairs(engine_loaded) do
if k == i then
has_k = true;
end
end
if not has_k then
print("remove:"..k);
package.loaded[k] = nil;
end
end
cc.Director:getInstance():purgeCachedData();
cc.FileUtils:getInstance():purgeCachedEntries();
require("main");
end
function loadGame(game_name)
local searchPaths = cc.FileUtils:getInstance():getSearchPaths();
local resPath = cc.FileUtils:getInstance():getWritablePath().."GameUpdate/"..game_name.."/";
searchPaths = {};
table.insert(searchPaths,1,resPath);
table.insert(searchPaths,2,resPath .. 'res/');
table.insert(searchPaths,3,resPath .. 'src/');
cc.FileUtils:getInstance():setSearchPaths(searchPaths);
for k,_ in pairs(package.loaded) do
local has_k = false;
for i,v in pairs(engine_loaded) do
if k == i then
has_k = true;
end
end
if not has_k then
print("remove:"..k);
package.loaded[k] = nil;
end
end
cc.FileUtils:getInstance():purgeCachedEntries();
cc.Director:getInstance():purgeCachedData();
app:enterScene("LoadingScene",{nextSceneName="main"});
end
local status, msg = xpcall(main, __G__TRACKBACK__)
if not status then
print(msg)
end