mirror of
https://github.com/enduro2d/enduro2d.git
synced 2025-12-14 16:09:06 +07:00
dummy camera.input flag
This commit is contained in:
@@ -16,6 +16,7 @@ namespace e2d
|
|||||||
{
|
{
|
||||||
class camera final {
|
class camera final {
|
||||||
public:
|
public:
|
||||||
|
class input final {};
|
||||||
class gizmos final {};
|
class gizmos final {};
|
||||||
public:
|
public:
|
||||||
ENUM_HPP_CLASS_DECL(modes, u8,
|
ENUM_HPP_CLASS_DECL(modes, u8,
|
||||||
@@ -77,6 +78,20 @@ namespace e2d
|
|||||||
const collect_context& ctx) const;
|
const collect_context& ctx) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
template <>
|
||||||
|
class factory_loader<camera::input> final : factory_loader<> {
|
||||||
|
public:
|
||||||
|
static const char* schema_source;
|
||||||
|
|
||||||
|
bool operator()(
|
||||||
|
camera::input& component,
|
||||||
|
const fill_context& ctx) const;
|
||||||
|
|
||||||
|
bool operator()(
|
||||||
|
asset_dependencies& dependencies,
|
||||||
|
const collect_context& ctx) const;
|
||||||
|
};
|
||||||
|
|
||||||
template <>
|
template <>
|
||||||
class factory_loader<camera::gizmos> final : factory_loader<> {
|
class factory_loader<camera::gizmos> final : factory_loader<> {
|
||||||
public:
|
public:
|
||||||
|
|||||||
@@ -6,6 +6,7 @@
|
|||||||
"camera" : {
|
"camera" : {
|
||||||
"background" : [1.0, 0.4, 0.0, 1.0]
|
"background" : [1.0, 0.4, 0.0, 1.0]
|
||||||
},
|
},
|
||||||
|
"camera.input" : {},
|
||||||
"camera.gizmos" : {}
|
"camera.gizmos" : {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,12 +6,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"children" : [{
|
"children" : [{
|
||||||
"prototype" : "../prefabs/camera_prefab.json",
|
"prototype" : "../prefabs/camera_prefab.json"
|
||||||
"components" : {
|
|
||||||
"named" : {
|
|
||||||
"name" : "camera"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},{
|
},{
|
||||||
"prototype" : "../prefabs/ship_prefab.json",
|
"prototype" : "../prefabs/ship_prefab.json",
|
||||||
"components" : {
|
"components" : {
|
||||||
|
|||||||
@@ -128,6 +128,32 @@ namespace e2d
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
namespace e2d
|
||||||
|
{
|
||||||
|
const char* factory_loader<camera::input>::schema_source = R"json({
|
||||||
|
"type" : "object",
|
||||||
|
"required" : [],
|
||||||
|
"additionalProperties" : false,
|
||||||
|
"properties" : {}
|
||||||
|
})json";
|
||||||
|
|
||||||
|
bool factory_loader<camera::input>::operator()(
|
||||||
|
camera::input& component,
|
||||||
|
const fill_context& ctx) const
|
||||||
|
{
|
||||||
|
E2D_UNUSED(component, ctx);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool factory_loader<camera::input>::operator()(
|
||||||
|
asset_dependencies& dependencies,
|
||||||
|
const collect_context& ctx) const
|
||||||
|
{
|
||||||
|
E2D_UNUSED(dependencies, ctx);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
namespace e2d
|
namespace e2d
|
||||||
{
|
{
|
||||||
const char* factory_loader<camera::gizmos>::schema_source = R"json({
|
const char* factory_loader<camera::gizmos>::schema_source = R"json({
|
||||||
@@ -159,6 +185,18 @@ namespace e2d
|
|||||||
const char* component_inspector<camera>::title = "camera";
|
const char* component_inspector<camera>::title = "camera";
|
||||||
|
|
||||||
void component_inspector<camera>::operator()(gcomponent<camera>& c) const {
|
void component_inspector<camera>::operator()(gcomponent<camera>& c) const {
|
||||||
|
if ( bool input = c.owner().component<camera::input>().exists();
|
||||||
|
ImGui::Checkbox("input", &input) )
|
||||||
|
{
|
||||||
|
if ( input ) {
|
||||||
|
c.owner().component<camera::input>().ensure();
|
||||||
|
} else {
|
||||||
|
c.owner().component<camera::input>().remove();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ImGui::SameLine();
|
||||||
|
|
||||||
if ( bool gizmos = c.owner().component<camera::gizmos>().exists();
|
if ( bool gizmos = c.owner().component<camera::gizmos>().exists();
|
||||||
ImGui::Checkbox("gizmos", &gizmos) )
|
ImGui::Checkbox("gizmos", &gizmos) )
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -243,6 +243,7 @@ namespace e2d
|
|||||||
.register_component<actor>("actor")
|
.register_component<actor>("actor")
|
||||||
.register_component<behaviour>("behaviour")
|
.register_component<behaviour>("behaviour")
|
||||||
.register_component<camera>("camera")
|
.register_component<camera>("camera")
|
||||||
|
.register_component<camera::input>("camera.input")
|
||||||
.register_component<camera::gizmos>("camera.gizmos")
|
.register_component<camera::gizmos>("camera.gizmos")
|
||||||
.register_component<rect_collider>("rect_collider")
|
.register_component<rect_collider>("rect_collider")
|
||||||
.register_component<circle_collider>("circle_collider")
|
.register_component<circle_collider>("circle_collider")
|
||||||
@@ -265,6 +266,7 @@ namespace e2d
|
|||||||
.register_component<actor>("actor")
|
.register_component<actor>("actor")
|
||||||
.register_component<behaviour>("behaviour")
|
.register_component<behaviour>("behaviour")
|
||||||
.register_component<camera>("camera")
|
.register_component<camera>("camera")
|
||||||
|
//.register_component<camera::gizmos>("camera.input")
|
||||||
//.register_component<camera::gizmos>("camera.gizmos")
|
//.register_component<camera::gizmos>("camera.gizmos")
|
||||||
.register_component<rect_collider>("rect_collider")
|
.register_component<rect_collider>("rect_collider")
|
||||||
.register_component<circle_collider>("circle_collider")
|
.register_component<circle_collider>("circle_collider")
|
||||||
|
|||||||
Reference in New Issue
Block a user