#pragma once
#include "MenuComponent.h"
#include "DEFINES.h"
#include "Crawler.h"

INCLUDE_game

class MenuIconButton:public MenuComponent{
protected:
    Decal*icon;
public:
    inline MenuIconButton(MenuType parent,geom2d::rect<float>rect,Decal*icon,MenuFunc onClick)
        :MenuComponent(parent,rect,"",onClick),icon(icon){}
protected:
    virtual inline void Update(Crawler*game)override{
	    MenuComponent::Update(game);
    }
    virtual inline void Draw(Crawler*game,vf2d parentPos,bool focused)override{
	    MenuComponent::Draw(game,parentPos,focused);
        if(icon!=nullptr){
            game->DrawSprite(parentPos+rect.middle()-icon->sprite->Size()/2,icon->sprite,1,Sprite::Flip::NONE,[&](Pixel&in){return focused?in:in*"ThemeGlobal.MenuUnfocusedColorMult"_F;});
        }
    }
};