diff --git a/Extensions/3D/JsExtension.js b/Extensions/3D/JsExtension.js index 6e66c1632c..0fdc4e28d3 100644 --- a/Extensions/3D/JsExtension.js +++ b/Extensions/3D/JsExtension.js @@ -369,6 +369,7 @@ module.exports = { new gd.Model3DObjectConfiguration() ) .setCategory('General') + .setHelpPath('/objects/3d-model') // Effects are unsupported because the object is not rendered with PIXI. .addDefaultBehavior('ResizableCapability::ResizableBehavior') .addDefaultBehavior('ScalableCapability::ScalableBehavior') @@ -1321,6 +1322,7 @@ module.exports = { Cube3DObject ) .setCategory('General') + .setHelpPath('/objects/3d-box') // Effects are unsupported because the object is not rendered with PIXI. .addDefaultBehavior('ResizableCapability::ResizableBehavior') .addDefaultBehavior('ScalableCapability::ScalableBehavior') diff --git a/Extensions/Lighting/JsExtension.js b/Extensions/Lighting/JsExtension.js index 0373d0bbae..970520a9d5 100644 --- a/Extensions/Lighting/JsExtension.js +++ b/Extensions/Lighting/JsExtension.js @@ -31,6 +31,7 @@ module.exports = { ) .setDimension('2D') .setCategory('Visual effect') + .setExtensionHelpPath('/objects/light') .setTags('light'); const lightObstacleBehavior = new gd.BehaviorJsImplementation(); diff --git a/Extensions/TextInput/JsExtension.js b/Extensions/TextInput/JsExtension.js index df3ce1e545..03fcce1987 100644 --- a/Extensions/TextInput/JsExtension.js +++ b/Extensions/TextInput/JsExtension.js @@ -28,6 +28,7 @@ module.exports = { .setShortDescription( 'Text input field for players. Placeholder, font, color, disabled state, read-only, focus control.' ) + .setExtensionHelpPath('/objects/text_input') .setCategory('User interface'); extension .addInstructionOrExpressionGroupMetadata(_('Text Input')) diff --git a/GDevelop.js/Bindings/Bindings.idl b/GDevelop.js/Bindings/Bindings.idl index 7ff12c2d19..841e2f010b 100644 --- a/GDevelop.js/Bindings/Bindings.idl +++ b/GDevelop.js/Bindings/Bindings.idl @@ -2036,6 +2036,8 @@ interface ObjectMetadata { [Const, Ref] DOMString GetCategory(); [Const, Ref] DOMString GetAssetStoreTag(); + + [Ref] ObjectMetadata SetHelpPath([Const] DOMString helpPath); [Ref] ObjectMetadata SetCategory([Const] DOMString categoryFullName); [Ref] ObjectMetadata SetAssetStoreTag([Const] DOMString assetStoreTag); [Ref] InGameEditorResourceMetadata AddInGameEditorResource(); @@ -2174,6 +2176,8 @@ interface BehaviorMetadata { [Const, Ref] DOMString GetIconFilename(); [Const, Ref] DOMString GetHelpPath(); + [Ref] BehaviorMetadata SetHelpPath([Const] DOMString helpPath); + [Const, Ref] InstructionMetadata AddScopedCondition([Const] DOMString name, [Const] DOMString fullname, [Const] DOMString description, diff --git a/GDevelop.js/types.d.ts b/GDevelop.js/types.d.ts index f1a32c4f73..713f7cf7c1 100644 --- a/GDevelop.js/types.d.ts +++ b/GDevelop.js/types.d.ts @@ -1700,6 +1700,7 @@ export class ObjectMetadata extends EmscriptenObject { getHelpPath(): string; getCategory(): string; getAssetStoreTag(): string; + setHelpPath(helpPath: string): ObjectMetadata; setCategory(categoryFullName: string): ObjectMetadata; setAssetStoreTag(assetStoreTag: string): ObjectMetadata; addInGameEditorResource(): InGameEditorResourceMetadata; @@ -1770,6 +1771,7 @@ export class BehaviorMetadata extends EmscriptenObject { getGroup(): string; getIconFilename(): string; getHelpPath(): string; + setHelpPath(helpPath: string): BehaviorMetadata; addScopedCondition(name: string, fullname: string, description: string, sentence: string, group: string, icon: string, smallicon: string): InstructionMetadata; addScopedAction(name: string, fullname: string, description: string, sentence: string, group: string, icon: string, smallicon: string): InstructionMetadata; addCondition(name: string, fullname: string, description: string, sentence: string, group: string, icon: string, smallicon: string): InstructionMetadata; diff --git a/GDevelop.js/types/gdbehaviormetadata.js b/GDevelop.js/types/gdbehaviormetadata.js index bd658c0fab..aaa5874bee 100644 --- a/GDevelop.js/types/gdbehaviormetadata.js +++ b/GDevelop.js/types/gdbehaviormetadata.js @@ -7,6 +7,7 @@ declare class gdBehaviorMetadata { getGroup(): string; getIconFilename(): string; getHelpPath(): string; + setHelpPath(helpPath: string): gdBehaviorMetadata; addScopedCondition(name: string, fullname: string, description: string, sentence: string, group: string, icon: string, smallicon: string): gdInstructionMetadata; addScopedAction(name: string, fullname: string, description: string, sentence: string, group: string, icon: string, smallicon: string): gdInstructionMetadata; addCondition(name: string, fullname: string, description: string, sentence: string, group: string, icon: string, smallicon: string): gdInstructionMetadata; diff --git a/GDevelop.js/types/gdobjectmetadata.js b/GDevelop.js/types/gdobjectmetadata.js index 8739e5d62a..867d6ba118 100644 --- a/GDevelop.js/types/gdobjectmetadata.js +++ b/GDevelop.js/types/gdobjectmetadata.js @@ -7,6 +7,7 @@ declare class gdObjectMetadata { getHelpPath(): string; getCategory(): string; getAssetStoreTag(): string; + setHelpPath(helpPath: string): gdObjectMetadata; setCategory(categoryFullName: string): gdObjectMetadata; setAssetStoreTag(assetStoreTag: string): gdObjectMetadata; addInGameEditorResource(): gdInGameEditorResourceMetadata;