forked from Mirrors/openclonk
Add EditorCollection callback
To be used to re-route contents created/moved in editor.ipv6
parent
088fc450d9
commit
d46f98fd7b
|
@ -1295,7 +1295,13 @@ void C4ControlEMMoveObject::Execute() const
|
|||
if (pTarget)
|
||||
for (int i=0; i<iObjectNum; ++i)
|
||||
if ((pObj = ::Objects.SafeObjectPointer(pObjects[i])))
|
||||
{
|
||||
pObj->Enter(pTarget);
|
||||
if (!pTarget->Status) break;
|
||||
C4AulParSet pars(C4VObj(pObj));
|
||||
if (pObj && pObj->Status && pTarget->Status) pTarget->Call(P_EditorCollection, &pars);
|
||||
if (!pTarget->Status) break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case EMMO_Duplicate:
|
||||
|
@ -1369,7 +1375,12 @@ void C4ControlEMMoveObject::Execute() const
|
|||
create_centered = true;
|
||||
#endif
|
||||
C4Object *obj = ::Game.CreateObject(iddef, nullptr, NO_OWNER, fixtoi(tx), fixtoi(ty), 0, create_centered);
|
||||
if (container && obj && container->Status && obj->Status) obj->Enter(container);
|
||||
if (container && obj && container->Status && obj->Status)
|
||||
{
|
||||
obj->Enter(container);
|
||||
C4AulParSet pars(C4VObj(obj));
|
||||
if (obj && obj->Status) container->Call(P_EditorCollection, &pars);
|
||||
}
|
||||
if (obj && obj->Status) obj->Call(P_EditorInitialize); // specific initialization when placed in editor
|
||||
}
|
||||
break;
|
||||
|
|
|
@ -303,6 +303,7 @@ C4StringTable::C4StringTable()
|
|||
P[P_AllowEditing] = "AllowEditing";
|
||||
P[P_EditorInitialize] = "EditorInitialize";
|
||||
P[P_EditorPlacementLimit] = "EditorPlacementLimit";
|
||||
P[P_EditorCollection] = "EditorCollection";
|
||||
P[P_Sorted] = "Sorted";
|
||||
P[P_Uniforms] = "Uniforms";
|
||||
P[DFA_WALK] = "WALK";
|
||||
|
|
|
@ -527,6 +527,7 @@ enum C4PropertyName
|
|||
P_AllowEditing,
|
||||
P_EditorInitialize,
|
||||
P_EditorPlacementLimit,
|
||||
P_EditorCollection,
|
||||
P_Sorted,
|
||||
P_Uniforms,
|
||||
// Default Action Procedures
|
||||
|
|
Loading…
Reference in New Issue