update component parent environment to the pack environment

This commit is contained in:
MihailRis
2024-07-02 20:01:29 +03:00
parent 3fe66e134d
commit 0082a3444e
4 changed files with 27 additions and 32 deletions
+19 -12
View File
@@ -53,20 +53,27 @@ entityid_t Entities::spawn(
auto& body = registry.emplace<Rigidbody>(
entity, true, Hitbox {pos, def.hitbox}, std::vector<Trigger>{});
for (auto& box : def.triggers) {
body.triggers.emplace_back(Trigger{true, id, box, AABB{}, {}, {},
[=](auto entityid, auto index, auto otherid) {
if (auto entity = get(entityid)) {
if (entity->isValid()) {
scripting::on_trigger_enter(*entity, index, otherid);
body.triggers.emplace_back(Trigger{
true,
id,
box,
AABB{},
{},
{},
[=](auto entityid, auto index, auto otherid) {
if (auto entity = get(entityid)) {
if (entity->isValid()) {
scripting::on_trigger_enter(*entity, index, otherid);
}
}
}
}, [=](auto entityid, auto index, auto otherid) {
if (auto entity = get(entityid)) {
if (entity->isValid()) {
scripting::on_trigger_exit(*entity, index, otherid);
},
[=](auto entityid, auto index, auto otherid) {
if (auto entity = get(entityid)) {
if (entity->isValid()) {
scripting::on_trigger_exit(*entity, index, otherid);
}
}
}
}});
}});
}
auto& scripting = registry.emplace<Scripting>(
entity, entity_funcs_set {}, nullptr);
+7
View File
@@ -73,6 +73,13 @@ namespace rigging {
class RigConfig {
std::unique_ptr<RigNode> root;
std::unordered_map<std::string, size_t> indices;
/// Nodes and indices are ordered from root to subnodes.
/// Example:
/// 0 - root
/// 1 --- sub1
/// 2 ----- subsub1
/// 3 --- sub2
std::vector<RigNode*> nodes;
size_t update(