#pragma once #include "Global/Global_Game.h" #include "Asset/Squirrel/Sqr_System.hpp" #include "Asset/Squirrel/Sqr_UI.hpp" #include "Asset/Squirrel/Sqr_BaseObject.hpp" #include "Asset/Squirrel/Sqr_ActiveObject.hpp" #include "Asset/Squirrel/Sqr_CharacterObject.hpp" #include "Asset/Squirrel/Sqr_Asset.hpp" class SquirrelManager { public: // 删除拷贝构造和赋值运算符,确保无法复制 SquirrelManager(const SquirrelManager &) = delete; SquirrelManager &operator=(const SquirrelManager &) = delete; // 移动构造和赋值也删除,避免意外转移 SquirrelManager(SquirrelManager &&) = delete; SquirrelManager &operator=(SquirrelManager &&) = delete; // 全局访问点 static SquirrelManager &GetInstance() { static SquirrelManager instance; // 局部静态变量,保证只初始化一次 return instance; } private: // 构造函数和析构函数设为私有,防止外部创建和销毁 SquirrelManager() = default; ~SquirrelManager() = default; public: // 初始化 void Init(); };