#pragma once

#include "StatsAlterator.hpp"

namespace megu::game {
    class Behavior {
        public:
            enum Type : uint32_t {
                SOLID  = 1,
                DAMAGE = 2,
            };

            Behavior() = delete;
            Behavior(const kernel::Prop &, uint32_t);

            uint32_t get(uint32_t) const;
            void set(uint32_t, uint32_t);


            uint32_t operator&(const uint32_t &) const;

        private:
            uint32_t _type;
            StatsAlterator _stats;
    };
}