Group BP interface functions under "PS Editor|Editable" / "PS Editor|Child Movable"
The two BlueprintNativeEvent interfaces previously dumped every function into a flat "PS Editor" category, so the BP class members panel listed them all together. Use the pipe-separated category to put each interface under its own submenu. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -25,47 +25,47 @@ class PS_EDITOR_API IPS_Editor_ChildMovable
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
/** Number of movable sub-elements. */
|
/** Number of movable sub-elements. */
|
||||||
UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "PS_Editor")
|
UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "PS Editor|Child Movable")
|
||||||
int32 GetMovableChildCount() const;
|
int32 GetMovableChildCount() const;
|
||||||
|
|
||||||
/** World location of the sub-element at the given index. */
|
/** World location of the sub-element at the given index. */
|
||||||
UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "PS_Editor")
|
UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "PS Editor|Child Movable")
|
||||||
FVector GetChildLocation(int32 Index) const;
|
FVector GetChildLocation(int32 Index) const;
|
||||||
|
|
||||||
/** Move the sub-element at the given index to a new world position. */
|
/** Move the sub-element at the given index to a new world position. */
|
||||||
UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "PS_Editor")
|
UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "PS Editor|Child Movable")
|
||||||
void MoveChild(int32 Index, const FVector& NewWorldPosition);
|
void MoveChild(int32 Index, const FVector& NewWorldPosition);
|
||||||
|
|
||||||
/** Return all sub-element positions (used for undo snapshots). */
|
/** Return all sub-element positions (used for undo snapshots). */
|
||||||
UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "PS_Editor")
|
UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "PS Editor|Child Movable")
|
||||||
TArray<FVector> GetAllChildLocations() const;
|
TArray<FVector> GetAllChildLocations() const;
|
||||||
|
|
||||||
/** Restore all sub-element positions (used for undo). */
|
/** Restore all sub-element positions (used for undo). */
|
||||||
UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "PS_Editor")
|
UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "PS Editor|Child Movable")
|
||||||
void SetAllChildLocations(const TArray<FVector>& Positions);
|
void SetAllChildLocations(const TArray<FVector>& Positions);
|
||||||
|
|
||||||
/** Index of the sub-element under the cursor ray (-1 if none).
|
/** Index of the sub-element under the cursor ray (-1 if none).
|
||||||
* Implement with sphere-ray intersection or any hit detection that suits your visuals. */
|
* Implement with sphere-ray intersection or any hit detection that suits your visuals. */
|
||||||
UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "PS_Editor")
|
UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "PS Editor|Child Movable")
|
||||||
int32 GetChildIndexUnderCursor(const FVector& RayOrigin, const FVector& RayDirection) const;
|
int32 GetChildIndexUnderCursor(const FVector& RayOrigin, const FVector& RayDirection) const;
|
||||||
|
|
||||||
/** Show or hide visual handles for the sub-elements. */
|
/** Show or hide visual handles for the sub-elements. */
|
||||||
UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "PS_Editor")
|
UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "PS Editor|Child Movable")
|
||||||
void SetChildHandlesVisible(bool bVisible);
|
void SetChildHandlesVisible(bool bVisible);
|
||||||
|
|
||||||
/** Highlight a specific sub-element (e.g. change handle color). */
|
/** Highlight a specific sub-element (e.g. change handle color). */
|
||||||
UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "PS_Editor")
|
UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "PS Editor|Child Movable")
|
||||||
void HighlightChild(int32 Index);
|
void HighlightChild(int32 Index);
|
||||||
|
|
||||||
/** Clear all sub-element highlights. */
|
/** Clear all sub-element highlights. */
|
||||||
UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "PS_Editor")
|
UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "PS Editor|Child Movable")
|
||||||
void ClearChildHighlight();
|
void ClearChildHighlight();
|
||||||
|
|
||||||
/** Export sub-element positions to the CustomProperties map for scene saving. */
|
/** Export sub-element positions to the CustomProperties map for scene saving. */
|
||||||
UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "PS_Editor")
|
UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "PS Editor|Child Movable")
|
||||||
void ExportChildLocations(TMap<FString, FString>& OutProperties) const;
|
void ExportChildLocations(TMap<FString, FString>& OutProperties) const;
|
||||||
|
|
||||||
/** Import sub-element positions from the CustomProperties map on scene load. */
|
/** Import sub-element positions from the CustomProperties map on scene load. */
|
||||||
UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "PS_Editor")
|
UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "PS Editor|Child Movable")
|
||||||
void ImportChildLocations(const TMap<FString, FString>& Properties);
|
void ImportChildLocations(const TMap<FString, FString>& Properties);
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -51,21 +51,21 @@ public:
|
|||||||
* The new value is already applied when this is called.
|
* The new value is already applied when this is called.
|
||||||
* @param PropertyPath The property that changed (e.g. "CharacterType" or "MyComponent.SomeProperty").
|
* @param PropertyPath The property that changed (e.g. "CharacterType" or "MyComponent.SomeProperty").
|
||||||
*/
|
*/
|
||||||
UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "PS_Editor")
|
UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "PS Editor|Editable")
|
||||||
void OnEditorPropertyChanged(const FString& PropertyPath);
|
void OnEditorPropertyChanged(const FString& PropertyPath);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Called when a property with bNeedsReinit is changed.
|
* Called when a property with bNeedsReinit is changed.
|
||||||
* The new value is already applied. Use this to re-run initialization logic.
|
* The new value is already applied. Use this to re-run initialization logic.
|
||||||
*/
|
*/
|
||||||
UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "PS_Editor")
|
UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "PS Editor|Editable")
|
||||||
void OnEditorNeedsReinit();
|
void OnEditorNeedsReinit();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Called on the NEW actor after a respawn triggered by bNeedsRespawn.
|
* Called on the NEW actor after a respawn triggered by bNeedsRespawn.
|
||||||
* All properties have been applied. Use this for post-respawn setup.
|
* All properties have been applied. Use this for post-respawn setup.
|
||||||
*/
|
*/
|
||||||
UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "PS_Editor")
|
UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "PS Editor|Editable")
|
||||||
void OnEditorNeedsRespawn();
|
void OnEditorNeedsRespawn();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -73,7 +73,7 @@ public:
|
|||||||
* Fires both in editor (SceneSerializer) and in gameplay (SceneLoader).
|
* Fires both in editor (SceneSerializer) and in gameplay (SceneLoader).
|
||||||
* Use this to re-initialize your actor based on the loaded property values.
|
* Use this to re-initialize your actor based on the loaded property values.
|
||||||
*/
|
*/
|
||||||
UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "PS_Editor")
|
UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "PS Editor|Editable")
|
||||||
void OnPropertiesLoaded();
|
void OnPropertiesLoaded();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -81,7 +81,7 @@ public:
|
|||||||
* Use this to show/hide editor-only helpers (VR guides, placement aids, debug visuals, etc.).
|
* Use this to show/hide editor-only helpers (VR guides, placement aids, debug visuals, etc.).
|
||||||
* @param bIsEditing True when entering edit mode, false when leaving (Play, return to game).
|
* @param bIsEditing True when entering edit mode, false when leaving (Play, return to game).
|
||||||
*/
|
*/
|
||||||
UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "PS_Editor")
|
UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "PS Editor|Editable")
|
||||||
void OnEditorModeChanged(bool bIsEditing);
|
void OnEditorModeChanged(bool bIsEditing);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -90,7 +90,7 @@ public:
|
|||||||
* the hood). Use this to kick off behaviour that should only happen while AI is live
|
* the hood). Use this to kick off behaviour that should only happen while AI is live
|
||||||
* (spawn FX, reset state counters, unlock input, etc.).
|
* (spawn FX, reset state counters, unlock input, etc.).
|
||||||
*/
|
*/
|
||||||
UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "PS_Editor")
|
UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "PS Editor|Editable")
|
||||||
void OnEditorSimulateStart();
|
void OnEditorSimulateStart();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -102,7 +102,7 @@ public:
|
|||||||
* Timing: fires at the "AI cut" moment, AFTER any grace period the timeline applied
|
* Timing: fires at the "AI cut" moment, AFTER any grace period the timeline applied
|
||||||
* (typically 500ms after Stop was clicked). BT is still live but about to be disabled.
|
* (typically 500ms after Stop was clicked). BT is still live but about to be disabled.
|
||||||
*/
|
*/
|
||||||
UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "PS_Editor")
|
UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "PS Editor|Editable")
|
||||||
void OnEditorSimulateStop();
|
void OnEditorSimulateStop();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -130,7 +130,7 @@ public:
|
|||||||
* event still fires + grace period still granted)
|
* event still fires + grace period still granted)
|
||||||
* Does NOT fire for direct StopSimulation calls (rare — e.g. forced editor close).
|
* Does NOT fire for direct StopSimulation calls (rare — e.g. forced editor close).
|
||||||
*/
|
*/
|
||||||
UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "PS_Editor")
|
UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "PS Editor|Editable")
|
||||||
void OnEditorBeforeSimulateStop();
|
void OnEditorBeforeSimulateStop();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -138,7 +138,7 @@ public:
|
|||||||
* Use this to update visuals dynamically based on property changes, animate helpers, etc.
|
* Use this to update visuals dynamically based on property changes, animate helpers, etc.
|
||||||
* @param DeltaTime Time since last frame.
|
* @param DeltaTime Time since last frame.
|
||||||
*/
|
*/
|
||||||
UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "PS_Editor")
|
UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "PS Editor|Editable")
|
||||||
void OnEditorTick(float DeltaTime);
|
void OnEditorTick(float DeltaTime);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -150,7 +150,7 @@ public:
|
|||||||
* @return List of option strings. Empty = use default widget / fall through to the
|
* @return List of option strings. Empty = use default widget / fall through to the
|
||||||
* structured variant below.
|
* structured variant below.
|
||||||
*/
|
*/
|
||||||
UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "PS_Editor")
|
UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "PS Editor|Editable")
|
||||||
TArray<FString> GetCustomOptionsForProperty(const FString& PropertyPath) const;
|
TArray<FString> GetCustomOptionsForProperty(const FString& PropertyPath) const;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -164,7 +164,7 @@ public:
|
|||||||
* @param PropertyPath The property path (e.g. "WeaponName" or "MyComponent.WeaponType").
|
* @param PropertyPath The property path (e.g. "WeaponName" or "MyComponent.WeaponType").
|
||||||
* @return List of display/value pairs. Empty = fall back to the flat-string variant.
|
* @return List of display/value pairs. Empty = fall back to the flat-string variant.
|
||||||
*/
|
*/
|
||||||
UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "PS_Editor")
|
UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "PS Editor|Editable")
|
||||||
TArray<FPS_Editor_PropertyOption> GetCustomOptionsWithValuesForProperty(const FString& PropertyPath) const;
|
TArray<FPS_Editor_PropertyOption> GetCustomOptionsWithValuesForProperty(const FString& PropertyPath) const;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -185,6 +185,6 @@ public:
|
|||||||
* @param PropertyPath The property path (e.g. "Weapon" or "MyComponent.WeaponType").
|
* @param PropertyPath The property path (e.g. "Weapon" or "MyComponent.WeaponType").
|
||||||
* @return DisplayName to show in the combo, or empty string to fall back.
|
* @return DisplayName to show in the combo, or empty string to fall back.
|
||||||
*/
|
*/
|
||||||
UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "PS_Editor")
|
UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "PS Editor|Editable")
|
||||||
FString GetCurrentDisplayForProperty(const FString& PropertyPath) const;
|
FString GetCurrentDisplayForProperty(const FString& PropertyPath) const;
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user