mirror of
https://github.com/4ian/GDevelop.git
synced 2025-10-15 10:19:04 +00:00
Fix rendered custom objects in the editor with an overriding of children configuration (#7585)
- Fix children overriding to only apply to the default variant at runtime
This commit is contained in:
@@ -105,7 +105,14 @@ namespace gdjs {
|
||||
return;
|
||||
}
|
||||
|
||||
let usedVariantData: EventsBasedObjectVariantData = eventsBasedObjectData;
|
||||
if (!eventsBasedObjectData.defaultVariant) {
|
||||
eventsBasedObjectData.defaultVariant = {
|
||||
...eventsBasedObjectData,
|
||||
name: '',
|
||||
};
|
||||
}
|
||||
let usedVariantData: EventsBasedObjectVariantData =
|
||||
eventsBasedObjectData.defaultVariant;
|
||||
if (customObjectData.variant) {
|
||||
for (
|
||||
let variantIndex = 0;
|
||||
|
@@ -80,7 +80,11 @@ namespace gdjs {
|
||||
++i
|
||||
) {
|
||||
const childObjectData = eventsBasedObjectVariantData.objects[i];
|
||||
if (customObjectData.childrenContent) {
|
||||
// The children configuration override only applies to the default variant.
|
||||
if (
|
||||
customObjectData.childrenContent &&
|
||||
!eventsBasedObjectVariantData.name
|
||||
) {
|
||||
this.registerObject({
|
||||
...childObjectData,
|
||||
// The custom object overrides its events-based object configuration.
|
||||
|
3
GDJS/Runtime/types/project-data.d.ts
vendored
3
GDJS/Runtime/types/project-data.d.ts
vendored
@@ -212,6 +212,9 @@ declare interface EventsBasedObjectData
|
||||
name: string;
|
||||
isInnerAreaFollowingParentSize: boolean;
|
||||
variants: Array<EventsBasedObjectVariantData>;
|
||||
/** Added at runtime to have the default variant with an empty name instead
|
||||
* of the events-based object name. */
|
||||
defaultVariant?: EventsBasedObjectVariantData;
|
||||
}
|
||||
|
||||
declare interface EventsBasedObjectVariantData extends InstanceContainerData {
|
||||
|
Reference in New Issue
Block a user