#pragma once

class SavaManager
{
public:
    // 删除拷贝构造和赋值运算符，确保无法复制
    SavaManager(const SavaManager &) = delete;
    SavaManager &operator=(const SavaManager &) = delete;

    // 移动构造和赋值也删除，避免意外转移
    SavaManager(SavaManager &&) = delete;
    SavaManager &operator=(SavaManager &&) = delete;

    // 全局访问点
    static SavaManager &GetInstance()
    {
        static SavaManager instance; // 局部静态变量，保证只初始化一次
        return instance;
    }

private:
    // 构造函数和析构函数设为私有，防止外部创建和销毁
    SavaManager();
    ~SavaManager();

public:
    void Init();
    void Save();
};
