Table of Contents

Class NameModifierTemplate

Namespace
FishMMO.Shared.NameGeneration
Assembly
FishMMO.Shared.dll

A cross-race flavour — ashen, bloodborn, tidebound — layered on top of any race's phonology. Its syllables are merged into the base phonology so names lean toward the theme without losing the race's sound. Registers itself with ModifierRegistry when loaded.

[CreateAssetMenu(fileName = "New Name Modifier", menuName = "FishMMO/Naming/Name Modifier", order = 3)]
public class NameModifierTemplate : CachedScriptableObject<NameModifierTemplate>, ICachedObject
Inheritance
Object
ScriptableObject
NameModifierTemplate
Implements
Inherited Members
ScriptableObject.SetDirty()
ScriptableObject.CreateInstance<T>()
Object.GetEntityId()
Object.GetInstanceID()
Object.GetHashCode()
Object.InstantiateAsync<T>(T)
Object.InstantiateAsync<T>(T, Transform)
Object.InstantiateAsync<T>(T, Vector3, Quaternion)
Object.InstantiateAsync<T>(T, Transform, Vector3, Quaternion)
Object.Instantiate(Object, Vector3, Quaternion)
Object.Instantiate(Object, Vector3, Quaternion, Transform)
Object.Instantiate(Object)
Object.Instantiate(Object, Scene)
Object.Instantiate<T>(T, InstantiateParameters)
Object.Instantiate<T>(T, Vector3, Quaternion, InstantiateParameters)
Object.Instantiate(Object, Transform)
Object.Instantiate<T>(T)
Object.Instantiate<T>(T, Vector3, Quaternion)
Object.Instantiate<T>(T, Vector3, Quaternion, Transform)
Object.Instantiate<T>(T, Transform)
Object.Destroy(Object)
Object.DestroyImmediate(Object)
Object.DontDestroyOnLoad(Object)
Object.DestroyObject(Object)
Object.FindObjectsOfType<T>()
Object.FindObjectsByType<T>(FindObjectsSortMode)
Object.FindObjectsByType<T>(FindObjectsInactive, FindObjectsSortMode)
Object.FindObjectOfType<T>()
Object.FindFirstObjectByType<T>()
Object.FindAnyObjectByType<T>()
Object.FindFirstObjectByType<T>(FindObjectsInactive)
Object.FindAnyObjectByType<T>(FindObjectsInactive)
Object.FindObjectsByType<T>()
Object.FindObjectsByType<T>(FindObjectsInactive)
Object.ToString()
Object.name
Object.hideFlags

Fields

Bias

[Header("Additions")]
[Tooltip("How strongly picks lean toward this modifier's syllables (0 = never, 1 = always).")]
[Range(0, 1)]
public float Bias

Field Value

float

CodaAdditions

public string[] CodaAdditions

Field Value

string[]

Description

[TextArea]
public string Description

Field Value

string

DisplayName

public string DisplayName

Field Value

string

MiddleAdditions

public string[] MiddleAdditions

Field Value

string[]

ModifierKey

[Header("Identity")]
[Tooltip("Lowercase key code uses to request this modifier, e.g. 'ashen'. Defaults to the asset name.")]
public string ModifierKey

Field Value

string

OnsetAdditions

public string[] OnsetAdditions

Field Value

string[]

Tags

public string[] Tags

Field Value

string[]

Properties

Key

Normalised registry key: lowercase letters only.

public string Key { get; }

Property Value

string

ResolvedDisplayName

Display name, falling back to the key when unset.

public string ResolvedDisplayName { get; }

Property Value

string

Methods

Apply(RacePhonology)

Returns a new phonology with this modifier's syllables merged in.

public RacePhonology Apply(RacePhonology basePhonology)

Parameters

basePhonology RacePhonology

Returns

RacePhonology

OnLoad(string, string, int)

Virtual method called when a ScriptableObject is successfully added to the cache. Derived classes can override this method to add custom logging, initialization, or other specific logic that should occur upon caching.

public override void OnLoad(string typeName, string resourceName, int resourceID)

Parameters

typeName string

The name of the type (e.g., "RaceTemplate") under which the object is currently being cached.

resourceName string

The name of the ScriptableObject asset (e.g., "HumanRace").

resourceID int

The deterministic ID generated for the resource instance.

OnUnload(string, string, int)

Virtual method called when a ScriptableObject is successfully removed from the cache. Derived classes can override this method to add custom logging, cleanup, or other specific logic that should occur upon uncaching.

public override void OnUnload(string typeName, string resourceName, int resourceID)

Parameters

typeName string

The name of the type (e.g., "RaceTemplate") from which the object is being removed from cache.

resourceName string

The name of the ScriptableObject asset (e.g., "HumanRace").

resourceID int

The deterministic ID of the resource instance.