sprite renderer gizmos

This commit is contained in:
2020-01-24 04:23:57 +07:00
parent 228554bc9b
commit 4e9100df22
2 changed files with 19 additions and 1 deletions

View File

@@ -80,6 +80,7 @@ namespace e2d
static const char* title;
void operator()(gcomponent<sprite_renderer>& c) const;
void operator()(gcomponent<sprite_renderer>& c, gizmos_context& ctx) const;
};
}

View File

@@ -149,7 +149,7 @@ namespace e2d
dependencies.add_dependency<atlas_asset, sprite_asset>(
path::combine(ctx.parent_address, ctx.root["atlas"].GetString()));
}
if ( ctx.root.HasMember("sprite") ) {
dependencies.add_dependency<sprite_asset>(
path::combine(ctx.parent_address, ctx.root["sprite"].GetString()));
@@ -196,4 +196,21 @@ namespace e2d
///TODO(BlackMat): add 'sprite' inspector
///TODO(BlackMat): add 'materials' inspector
}
void component_inspector<sprite_renderer>::operator()(
gcomponent<sprite_renderer>& c,
gizmos_context& ctx) const
{
if ( const sprite_asset::ptr& spr_a = c->sprite() ) {
const sprite& spr = spr_a->content();
const v2f& s = spr.texrect().size;
const v2f& p = spr.texrect().position - spr.pivot();
ctx.draw_wire_rect(
{p.x + 0.f, p.y + 0.f},
{p.x + s.x, p.y + 0.f},
{p.x + s.x, p.y + s.y},
{p.x + 0.f, p.y + s.y},
color32::magenta());
}
}
}