pandemonium_engine_minimal/scene/resources/physics_material.cpp

51 lines
1.7 KiB
C++

/* physics_material.cpp */
#include "physics_material.h"
void PhysicsMaterial::_bind_methods() {
ClassDB::bind_method(D_METHOD("set_friction", "friction"), &PhysicsMaterial::set_friction);
ClassDB::bind_method(D_METHOD("get_friction"), &PhysicsMaterial::get_friction);
ClassDB::bind_method(D_METHOD("set_rough", "rough"), &PhysicsMaterial::set_rough);
ClassDB::bind_method(D_METHOD("is_rough"), &PhysicsMaterial::is_rough);
ClassDB::bind_method(D_METHOD("set_bounce", "bounce"), &PhysicsMaterial::set_bounce);
ClassDB::bind_method(D_METHOD("get_bounce"), &PhysicsMaterial::get_bounce);
ClassDB::bind_method(D_METHOD("set_absorbent", "absorbent"), &PhysicsMaterial::set_absorbent);
ClassDB::bind_method(D_METHOD("is_absorbent"), &PhysicsMaterial::is_absorbent);
ADD_PROPERTY(PropertyInfo(Variant::REAL, "friction", PROPERTY_HINT_RANGE, "0,1,0.01,or_greater"), "set_friction", "get_friction");
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "rough"), "set_rough", "is_rough");
ADD_PROPERTY(PropertyInfo(Variant::REAL, "bounce", PROPERTY_HINT_RANGE, "0,1,0.01,or_greater"), "set_bounce", "get_bounce");
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "absorbent"), "set_absorbent", "is_absorbent");
}
void PhysicsMaterial::set_friction(real_t p_val) {
friction = p_val;
emit_changed();
}
void PhysicsMaterial::set_rough(bool p_val) {
rough = p_val;
emit_changed();
}
void PhysicsMaterial::set_bounce(real_t p_val) {
bounce = p_val;
emit_changed();
}
void PhysicsMaterial::set_absorbent(bool p_val) {
absorbent = p_val;
emit_changed();
}
PhysicsMaterial::PhysicsMaterial() :
friction(1),
rough(false),
bounce(0),
absorbent(false) {}