Skip to content

Commit 4575935

Browse files
authored
Fix 3D filters making 2D games crash (#5588)
1 parent 134886e commit 4575935

File tree

6 files changed

+34
-0
lines changed

6 files changed

+34
-0
lines changed

Extensions/3D/AmbientLight.ts

+3
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@ namespace gdjs {
66
target: EffectsTarget,
77
effectData: EffectData
88
): gdjs.PixiFiltersTools.Filter {
9+
if (typeof THREE === 'undefined') {
10+
return new gdjs.PixiFiltersTools.EmptyFilter();
11+
}
912
return new (class implements gdjs.PixiFiltersTools.Filter {
1013
light: THREE.AmbientLight;
1114
_isEnabled: boolean;

Extensions/3D/DirectionalLight.ts

+3
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@ namespace gdjs {
66
target: EffectsTarget,
77
effectData: EffectData
88
): gdjs.PixiFiltersTools.Filter {
9+
if (typeof THREE === 'undefined') {
10+
return new gdjs.PixiFiltersTools.EmptyFilter();
11+
}
912
return new (class implements gdjs.PixiFiltersTools.Filter {
1013
light: THREE.DirectionalLight;
1114
rotationObject: THREE.Group;

Extensions/3D/ExponentialFog.ts

+3
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@ namespace gdjs {
66
target: EffectsTarget,
77
effectData: EffectData
88
): gdjs.PixiFiltersTools.Filter {
9+
if (typeof THREE === 'undefined') {
10+
return new gdjs.PixiFiltersTools.EmptyFilter();
11+
}
912
return new (class implements gdjs.PixiFiltersTools.Filter {
1013
fog: THREE.FogExp2;
1114

Extensions/3D/HemisphereLight.ts

+3
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@ namespace gdjs {
66
target: EffectsTarget,
77
effectData: EffectData
88
): gdjs.PixiFiltersTools.Filter {
9+
if (typeof THREE === 'undefined') {
10+
return new gdjs.PixiFiltersTools.EmptyFilter();
11+
}
912
return new (class implements gdjs.PixiFiltersTools.Filter {
1013
light: THREE.HemisphereLight;
1114
rotationObject: THREE.Group;

Extensions/3D/LinearFog.ts

+3
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@ namespace gdjs {
66
target: EffectsTarget,
77
effectData: EffectData
88
): gdjs.PixiFiltersTools.Filter {
9+
if (typeof THREE === 'undefined') {
10+
return new gdjs.PixiFiltersTools.EmptyFilter();
11+
}
912
return new (class implements gdjs.PixiFiltersTools.Filter {
1013
fog: THREE.Fog;
1114

GDJS/Runtime/pixi-renderers/pixi-filters-tools.ts

+19
Original file line numberDiff line numberDiff line change
@@ -227,5 +227,24 @@ namespace gdjs {
227227
);
228228
}
229229
}
230+
231+
export class EmptyFilter {
232+
isEnabled(target: EffectsTarget): boolean {
233+
return false;
234+
}
235+
setEnabled(target: EffectsTarget, enabled: boolean): boolean {
236+
return false;
237+
}
238+
applyEffect(target: EffectsTarget): boolean {
239+
return false;
240+
}
241+
removeEffect(target: EffectsTarget): boolean {
242+
return false;
243+
}
244+
updatePreRender(target: gdjs.EffectsTarget): any {}
245+
updateDoubleParameter(parameterName: string, value: number): void {}
246+
updateStringParameter(parameterName: string, value: string): void {}
247+
updateBooleanParameter(parameterName: string, value: boolean): void {}
248+
}
230249
}
231250
}

0 commit comments

Comments
 (0)