#ifndef PROGRAMMER_H
#define PROGRAMMER_H

#include "entity.h"
#include "olcPGE_Common.h"

namespace pabloader {

class Programmer : public Entity {
protected:
    uint32_t tileCounter = 0;
    bool onGround = false;
    bool doJump = false;
    bool walkLeft = false;
    bool walkRight = false;
    bool moveDown = false;

public:
    Programmer(Debuggers* game);
    virtual void Think();
    virtual void Update(float dt) override;
    virtual void Draw() override;
    bool IsOnGround() { return onGround; }
    uint8_t GetSkin() { return tile.x; }
    void UpgradeLevel() { tile.x = std::min(tile.x + 1, tileDim.x - 1); }

private:
#ifdef _DEBUG
    olc::vf2d target;
#endif
};
}

#endif