#pragma once #include #include #include #include #include namespace ext { namespace PlayerBehavior { UF_BEHAVIOR_DEFINE_TYPE; void attach( uf::Object& ); void initialize( uf::Object& ); void tick( uf::Object& ); void render( uf::Object& ); void destroy( uf::Object& ); struct Metadata { struct { struct { bool collision = true; bool impulse = true; float crouch = -1.0f; float rotate = 1.0f; float move = 1.0f; float run = 1.0f; float walk = 1.0f; pod::Vector3f jump = {0,8,0}; } physics; bool control = true; std::string menu = ""; bool crouching = false; bool noclipped = false; } system; struct { struct { std::vector list; float volume; } footstep; } audio; }; } }