#pragma once
#include "Mod.h"

class Ambience : public Mod {
public:
	int weather = 0;

	float time = 1.f;
	float brightness = 1.f;

	Ambience() : Mod(_("Ambience"), _("Change various parts of dimension."), Category::RENDER) {
		settings.push_back(new Setting{ _("Weather"), &weather, new int(2), new int(0), 1, {
			_("Unchanged"),
			_("Clear"),
			_("Rain")
			}, true});
		settings.push_back(new Setting{ _("Brightness"), &brightness, new float(1.f), new float(0.f), 2, {}, true});
		settings.push_back(new Setting{ _("Time"), &time, new float(1.f), new float(0.f), 2, {}, true});

		enabled = false;
	}

private:
	float old = -1.f;

	virtual auto onWorldTick(Player* _this) -> void override;
	virtual auto onGetTime(float* time) -> void override;
	virtual auto onGetGamma(float* gamma) -> void override;
	virtual auto onDisabled() -> void override;
	virtual auto getMode() -> std::string override;
};
