#pragma once
#include "Mod.h"

class Zoom : public Mod {
public:
	bool smooth = true;
	float smoothspeed = 0.5f;
	float amount = 0.5f;
	Zoom() : Mod(_("Zoom"), _("Zoooooooooming!"), Category::RENDER) {
		settings.push_back(new Setting{ _("Smooth"), &smooth, 0, 0, 0, {}, true });
		settings.push_back(new Setting{ _("Smooth Speed"), &smoothspeed, new float(1.f), new float(0.f), 2, {}, true });
		settings.push_back(new Setting{ _("Amount"), &amount, new float(1.f), new float(0.f), 2, {}, true});

		enabled = false;
		onlyenabled = false;
		onlyheld = false;
		visible = false;
		keys = { 'C' };
	}

private:
	float lerpamount = 0.f;
	virtual auto onGetFov(float* fov) -> void;
	virtual auto onMouse(char button, char action, bool* cancel) -> void override;
	virtual auto onClient() -> void;
};
