#ifndef MOD_INSTANCE_RELEASE_H
#define MOD_INSTANCE_RELEASE_H

#include "Player.h"

class InstanceRelease
{
public:
    static InstanceRelease* instance()
    {
        static InstanceRelease instance;
        return &instance;
    }

    void LoadConfig();

    // Returns true if the player was redirected to the instance entrance,
    // meaning the caller should suppress the vanilla graveyard repop.
    bool TryReleaseAtEntrance(Player* player) const;

private:
    bool _enabled = true;
    bool _includeDungeons = true;
    bool _includeRaids = true;
    bool _autoResurrect = true;
    bool _resurrectVisual = true;
    bool _arrivalVisual = true;
};

#define sInstanceRelease InstanceRelease::instance()

#endif