Lemmings
Remappable Gestures For Unity
Loading...
Searching...
No Matches
LemmingRelationshipEditor Class Reference

Custom inspector for LemmingRelationship ScriptableObject. Provides a full-featured editor interface for selecting members, resolving snapshot references, configuring relationship metrics, and previewing output values. More...

Inherits Editor.

Public Member Functions

override void OnInspectorGUI ()
 Draws the complete custom inspector interface. Includes default fields, role assignment, metric selection, preview output, and resolved member diagnostics.

Static Public Member Functions

static void CreateRelationship ()
 Creates a new Lemming Relationship in the correct Resources folder for loading into Shepherd and Input System.

Private Member Functions

void OnEnable ()
 Called when the editor is enabled. Caches a reference to the currently selected LemmingRelationship.
void DrawMetricSettingsDynamic ()
void DrawMetricSettings ()
void DrawFamilyMemberControls ()
 Draws dropdowns for selecting lemming names based on their role within the selected FamilyType. Automatically adjusts the number of inputs for single, couple, throuple, or group configurations.
void DrawDatumPreview ()
 Draws an overview of the current value computed by the relationship. Displays type, raw value, min/max, normalized output, and curve-transformed value.
void DrawResolvedMembers ()
 Displays a breakdown of each resolved lemming reference. Shows names, source objects, and live confidence (if available). Includes a validation button to check for null or inactive references.
string DrawNameDropdown (string label, string currentValue, LemmingHerdSnapshot herd)
 Renders a dropdown of known lemming names from the assigned herd snapshot.
void DrawModeSelector ()
 Renders a metric selection dropdown for the current family structure. Assigns the selected enum to the corresponding property.
void EnsureNameListCount (int requiredCount)
 Ensures the selectedNames list matches the expected number of members. Pads or trims as needed.
void DefineMembersFromSnapshot ()
 Replaces selectedReferences by resolving each selectedName to a LemmingReference from the herd snapshot.
string GetRoleLabel (int index)
 Returns a readable role label for a given index based on the selected family type.

Private Attributes

LemmingRelationship relationship
 The active LemmingRelationship being edited.
bool showDatumPreview = true
 Whether to show the Datum value preview section.
bool showResolvedMembers = true
 Whether to show the resolved members section.
Enum lastMetricEnum
 Cache to hold a change check comparison for metric seelction.

Detailed Description

Custom inspector for LemmingRelationship ScriptableObject. Provides a full-featured editor interface for selecting members, resolving snapshot references, configuring relationship metrics, and previewing output values.

Member Function Documentation

◆ CreateRelationship()

void LemmingRelationshipEditor.CreateRelationship ( )
inlinestatic

Creates a new Lemming Relationship in the correct Resources folder for loading into Shepherd and Input System.

  • Resources/LemmingRelationships

◆ DrawNameDropdown()

string LemmingRelationshipEditor.DrawNameDropdown ( string label,
string currentValue,
LemmingHerdSnapshot herd )
inlineprivate

Renders a dropdown of known lemming names from the assigned herd snapshot.

Parameters
labelLabel for the dropdown field.
currentValueCurrently selected name.
herdSnapshot to source name options from.
Returns
The name selected by the user.

◆ EnsureNameListCount()

void LemmingRelationshipEditor.EnsureNameListCount ( int requiredCount)
inlineprivate

Ensures the selectedNames list matches the expected number of members. Pads or trims as needed.

Parameters
requiredCountTarget number of entries to match the family type.

◆ GetRoleLabel()

string LemmingRelationshipEditor.GetRoleLabel ( int index)
inlineprivate

Returns a readable role label for a given index based on the selected family type.

Parameters
indexIndex of the member in the relationship.
Returns
Formatted role label.

The documentation for this class was generated from the following file:
  • Assets/Lemmings/Scripts/Editor/LemmingEditorUtilities.cs