// 电脑的IP地址和端口 #define PC_IP "192.168.200.3" #define PC_SCRIPT_PORT "39018" #include #include #include #include #ifdef __SWITCH__ #include #include #include #else #include #endif #include "Asset/Asset_ImagePack.h" #include "Asset/Asset_Script.h" #include "squirrel/SquirrelEx.h" #include "Tool/Logger.h" #include "EngineCore/Game.h" #include "Scene/Scene_Loading_UI.h" #include "Tool/RefPtr.h" #include "Global/Global_Game.h" #include "Tool/ThreadPool.h" void InitScript() { // 初始化脚本资源系统 Asset_Script::GetInstance().Init(); // 初始化Image资源系统 Asset_ImagePack::GetInstance().Init(); // 更改全局游戏类初始化标志 Global_Game::GetInstance().InitGame(); } void RunSetup() { // 初始化全局游戏类 Global_Game::GetInstance().Init(); // 初始化Squirrel脚本引擎 SquirrelEx::GetInstance().Run(); // 设定UI层场景 RefPtr sceneUI = new Scene_Loading_UI; Game::GetInstance().ChangeUIScene(sceneUI); ThreadPool::GetInstance().enqueueToThread(2, InitScript); } int main(int argc, char *argv[]) { #ifdef __SWITCH__ socketInitializeDefault(); nxlinkStdio(); // 启用nxlink调试输出 curl_global_init(CURL_GLOBAL_DEFAULT); // 初始化libcurl chdir("/switch/Lenheart/"); #else AllocConsole(); SetConsoleTitleA("Yosin & Engine"); SetConsoleOutputCP(65001); #endif // 初始化Image资源系统 Asset_ImagePack::GetInstance(); // 初始化脚本资源系统 Asset_Script::GetInstance(); // 初始化线程池 ThreadPool::GetInstance(); // 初始化日志系统 // Logger::GetInstance().Init(); // 初始化Squirrel脚本系统 SquirrelEx::GetInstance().Init(); // 初始化游戏引擎 Game &game = Game::GetInstance(); // 初始化各项目 game.Init(RunSetup); // 进入游戏循环逻辑 game.Run(); game.Clear(); #ifdef __SWITCH__ socketExit(); curl_global_cleanup(); #endif return 0; }