remove collider physics dummy stuff

This commit is contained in:
2020-02-05 11:38:15 +07:00
parent 120ec667f7
commit 724fdf47b1
5 changed files with 7 additions and 271 deletions

View File

@@ -17,24 +17,8 @@ namespace e2d::impl
Collider& offset(const v2f& value) noexcept;
[[nodiscard]] const v2f& offset() const noexcept;
Collider& sensor(bool value) noexcept;
[[nodiscard]] bool sensor() const noexcept;
Collider& density(f32 value) noexcept;
[[nodiscard]] f32 density() const noexcept;
Collider& friction(f32 value) noexcept;
[[nodiscard]] f32 friction() const noexcept;
Collider& restitution(f32 value) noexcept;
[[nodiscard]] f32 restitution() const noexcept;
private:
v2f offset_ = v2f::zero();
bool sensor_ = false;
f32 density_ = 1.f;
f32 friction_ = 0.2f;
f32 restitution_ = 0.f;
};
}
@@ -166,50 +150,6 @@ namespace e2d::impl
const v2f& collider_base<Collider>::offset() const noexcept {
return offset_;
}
template < typename Collider >
Collider& collider_base<Collider>::sensor(bool value) noexcept {
sensor_ = value;
return static_cast<Collider&>(*this);
}
template < typename Collider >
bool collider_base<Collider>::sensor() const noexcept {
return sensor_;
}
template < typename Collider >
Collider& collider_base<Collider>::density(f32 value) noexcept {
density_ = math::max(0.f, value);
return static_cast<Collider&>(*this);
}
template < typename Collider >
f32 collider_base<Collider>::density() const noexcept {
return density_;
}
template < typename Collider >
Collider& collider_base<Collider>::friction(f32 value) noexcept {
friction_ = value;
return static_cast<Collider&>(*this);
}
template < typename Collider >
f32 collider_base<Collider>::friction() const noexcept {
return friction_;
}
template < typename Collider >
Collider& collider_base<Collider>::restitution(f32 value) noexcept {
restitution_ = value;
return static_cast<Collider&>(*this);
}
template < typename Collider >
f32 collider_base<Collider>::restitution() const noexcept {
return restitution_;
}
}
namespace e2d

View File

@@ -10,19 +10,7 @@ local rect_collider = {
size = v2f.unit(),
---@type v2f
offset = v2f.zero(),
---@type boolean
sensor = false,
---@type number
density = 1.0,
---@type number
friction = 0.2,
---@type number
restitution = 0.0
offset = v2f.zero()
}
---@overload fun(self: rect_collider)
@@ -48,19 +36,7 @@ local circle_collider = {
radius = 1.0,
---@type v2f
offset = v2f.zero(),
---@type boolean
sensor = false,
---@type number
density = 1.0,
---@type number
friction = 0.2,
---@type number
restitution = 0.0
offset = v2f.zero()
}
---@overload fun(self: circle_collider)
@@ -90,19 +66,7 @@ local polygon_collider = {
v2f.new(-0.5, 0.5)},
---@type v2f
offset = v2f.zero(),
---@type boolean
sensor = false,
---@type number
density = 1.0,
---@type number
friction = 0.2,
---@type number
restitution = 0.0
offset = v2f.zero()
}
---@overload fun(self: polygon_collider)

View File

@@ -11,7 +11,7 @@ end
---@param go gobject
---@param type string
---@param event touchable_input_evt | touchable_mouse_evt
---@param event touchable_base_evt | touchable_mouse_evt
function M:on_event(go, type, event)
if type == "touchable.mouse_evt" then
the_debug:trace(string.format(

View File

@@ -66,38 +66,6 @@ namespace
},
[](gcomponent<rect_collider>& c, const v2f& v){
c->offset(v);
}),
"sensor", sol::property(
[](const gcomponent<rect_collider>& c) -> bool {
return c->sensor();
},
[](gcomponent<rect_collider>& c, bool v){
c->sensor(v);
}),
"density", sol::property(
[](const gcomponent<rect_collider>& c) -> f32 {
return c->density();
},
[](gcomponent<rect_collider>& c, f32 v){
c->density(v);
}),
"friction", sol::property(
[](const gcomponent<rect_collider>& c) -> f32 {
return c->friction();
},
[](gcomponent<rect_collider>& c, f32 v){
c->friction(v);
}),
"restitution", sol::property(
[](const gcomponent<rect_collider>& c) -> f32 {
return c->restitution();
},
[](gcomponent<rect_collider>& c, f32 v){
c->restitution(v);
})
);
}
@@ -154,38 +122,6 @@ namespace
},
[](gcomponent<circle_collider>& c, const v2f& v){
c->offset(v);
}),
"sensor", sol::property(
[](const gcomponent<circle_collider>& c) -> bool {
return c->sensor();
},
[](gcomponent<circle_collider>& c, bool v){
c->sensor(v);
}),
"density", sol::property(
[](const gcomponent<circle_collider>& c) -> f32 {
return c->density();
},
[](gcomponent<circle_collider>& c, f32 v){
c->density(v);
}),
"friction", sol::property(
[](const gcomponent<circle_collider>& c) -> f32 {
return c->friction();
},
[](gcomponent<circle_collider>& c, f32 v){
c->friction(v);
}),
"restitution", sol::property(
[](const gcomponent<circle_collider>& c) -> f32 {
return c->restitution();
},
[](gcomponent<circle_collider>& c, f32 v){
c->restitution(v);
})
);
}
@@ -242,38 +178,6 @@ namespace
},
[](gcomponent<polygon_collider>& c, const v2f& v){
c->offset(v);
}),
"sensor", sol::property(
[](const gcomponent<polygon_collider>& c) -> bool {
return c->sensor();
},
[](gcomponent<polygon_collider>& c, bool v){
c->sensor(v);
}),
"density", sol::property(
[](const gcomponent<polygon_collider>& c) -> f32 {
return c->density();
},
[](gcomponent<polygon_collider>& c, f32 v){
c->density(v);
}),
"friction", sol::property(
[](const gcomponent<polygon_collider>& c) -> f32 {
return c->friction();
},
[](gcomponent<polygon_collider>& c, f32 v){
c->friction(v);
}),
"restitution", sol::property(
[](const gcomponent<polygon_collider>& c) -> f32 {
return c->restitution();
},
[](gcomponent<polygon_collider>& c, f32 v){
c->restitution(v);
})
);
}

View File

@@ -24,42 +24,6 @@ namespace
component.offset(offset);
}
if ( ctx.root.HasMember("sensor") ) {
bool sensor = component.sensor();
if ( !json_utils::try_parse_value(ctx.root["sensor"], sensor) ) {
the<debug>().error("COLLIDER_BASE: Incorrect formatting of 'sensor' property");
return false;
}
component.sensor(sensor);
}
if ( ctx.root.HasMember("density") ) {
f32 density = component.density();
if ( !json_utils::try_parse_value(ctx.root["density"], density) ) {
the<debug>().error("COLLIDER_BASE: Incorrect formatting of 'density' property");
return false;
}
component.density(density);
}
if ( ctx.root.HasMember("friction") ) {
f32 friction = component.friction();
if ( !json_utils::try_parse_value(ctx.root["friction"], friction) ) {
the<debug>().error("COLLIDER_BASE: Incorrect formatting of 'friction' property");
return false;
}
component.friction(friction);
}
if ( ctx.root.HasMember("restitution") ) {
f32 restitution = component.restitution();
if ( !json_utils::try_parse_value(ctx.root["restitution"], restitution) ) {
the<debug>().error("COLLIDER_BASE: Incorrect formatting of 'restitution' property");
return false;
}
component.restitution(restitution);
}
return true;
}
@@ -70,30 +34,6 @@ namespace
{
c.offset(offset);
}
if ( bool sensor = c.sensor();
ImGui::Checkbox("sensor", &sensor) )
{
c.sensor(sensor);
}
if ( f32 density = c.density();
ImGui::DragFloat("density", &density, 0.01f) )
{
c.density(density);
}
if ( f32 friction = c.friction();
ImGui::DragFloat("friction", &friction, 0.01f) )
{
c.friction(friction);
}
if ( f32 restitution = c.restitution();
ImGui::DragFloat("restitution", &restitution, 0.01f) )
{
c.restitution(restitution);
}
}
}
@@ -105,11 +45,7 @@ namespace e2d
"additionalProperties" : false,
"properties" : {
"size" : { "$ref": "#/common_definitions/v2" },
"offset" : { "$ref": "#/common_definitions/v2" },
"sensor" : { "type" : "boolean" },
"density" : { "type" : "number" },
"friction" : { "type" : "number" },
"restitution" : { "type" : "number" }
"offset" : { "$ref": "#/common_definitions/v2" }
}
})json";
@@ -147,11 +83,7 @@ namespace e2d
"additionalProperties" : false,
"properties" : {
"radius" : { "type" : "number" },
"offset" : { "$ref": "#/common_definitions/v2" },
"sensor" : { "type" : "boolean" },
"density" : { "type" : "number" },
"friction" : { "type" : "number" },
"restitution" : { "type" : "number" }
"offset" : { "$ref": "#/common_definitions/v2" }
}
})json";
@@ -188,11 +120,7 @@ namespace e2d
"additionalProperties" : false,
"properties" : {
"points" : { "$ref": "#/definitions/points" },
"offset" : { "$ref": "#/common_definitions/v2" },
"sensor" : { "type" : "boolean" },
"density" : { "type" : "number" },
"friction" : { "type" : "number" },
"restitution" : { "type" : "number" }
"offset" : { "$ref": "#/common_definitions/v2" }
},
"definitions" : {
"points" : {