#ifndef CHARACTER_HPP_INCLUDED
#define CHARACTER_HPP_INCLUDED

#include "Renderable.hpp"
#include "../JavaClass/Class.hpp"
#include <cstdint>
#include "LinkedList.hpp"
#include <string>
#include <vector>

namespace Internal
{
    class Character : public Renderable
    {
        public:
            Character();
            Character(const void* Obj);
            Character(const Character& C);
            static Class GetClass();

            std::int32_t GetAngle() const;
            std::int32_t GetAnimationDelay() const;
            std::int32_t GetAnimationFrame() const;
            std::int32_t GetAnimationID() const;
            LinkedList GetCombatInfo() const;
            std::int32_t GetGraphicsFrame() const;
            std::int32_t GetGraphicsID() const;
            std::int32_t GetInteractIndex() const;
            std::string GetOverhead() const;
            std::vector<std::int32_t> GetPathX() const;
            std::vector<std::int32_t> GetPathY() const;
            std::int32_t GetPoseAnimationFrame() const;
            std::int32_t GetPoseAnimationID() const;
            std::int32_t GetSubPoseAnimationID() const;
            std::int32_t GetX() const;
            std::int32_t GetY() const;

    };
}

#endif // CHARACTER_HPP_INCLUDED
