unsafe drag drop test

- unsafe because of entity reference
- unsafe because of unsafe code lol
- fixes in parent/child system
This commit is contained in:
max
2024-10-15 22:29:19 +02:00
parent 5cc876fce9
commit ba88432e77
6 changed files with 79 additions and 14 deletions

View File

@ -28,10 +28,7 @@ namespace Nerfed.Runtime.Util
// Relation goes from child to parent.
public static void SetParent(in World world, in Entity child, in Entity parent)
{
if (world.Related<ChildParentRelation>(parent, child))
{
RemoveParent(world, parent);
}
RemoveParent(world, child);
world.Relate(child, parent, new ChildParentRelation());
world.Set(child, new Child());
@ -47,8 +44,10 @@ namespace Nerfed.Runtime.Util
return;
}
Entity parent = world.OutRelationSingleton<ChildParentRelation>(child);
// TODO: Check if Unrelate all also unrelates incomming relations..?
world.UnrelateAll<ChildParentRelation>(child);
world.Unrelate<ChildParentRelation>(child, parent);
world.Remove<Child>(child);
world.Set(child, new Root());
}