mirror of
https://github.com/enduro2d/enduro2d.git
synced 2025-12-15 00:11:55 +07:00
remove collider physics dummy stuff
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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(
|
||||
|
||||
@@ -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);
|
||||
})
|
||||
);
|
||||
}
|
||||
|
||||
@@ -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" : {
|
||||
|
||||
Reference in New Issue
Block a user