Table of Contents

Class ArchetypeTemplate

Namespace
FishMMO.Shared
Assembly
FishMMO.Shared.dll

ScriptableObject template representing a character archetype, including rewards, requirements, and metadata.

[CreateAssetMenu(fileName = "New Archetype", menuName = "FishMMO/Character/Archetype/Archetype", order = 1)]
public class ArchetypeTemplate : CachedScriptableObject<ArchetypeTemplate>, ICachedObject
Inheritance
Object
ScriptableObject
ArchetypeTemplate
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

AbilityRewards

List of ability templates rewarded for unlocking this archetype.

public List<BaseAbilityTemplate> AbilityRewards

Field Value

List<BaseAbilityTemplate>

ArchetypeRequirements

The condition that must be met to unlock this archetype.

public BaseCondition ArchetypeRequirements

Field Value

BaseCondition

AttributeRewards

List of attribute templates rewarded for unlocking this archetype.

public List<CharacterAttributeTemplate> AttributeRewards

Field Value

List<CharacterAttributeTemplate>

BuffRewards

List of buff templates rewarded for unlocking this archetype.

public List<BaseBuffTemplate> BuffRewards

Field Value

List<BaseBuffTemplate>

Description

The description of the archetype, shown to the player.

public string Description

Field Value

string

IconReference

Addressable reference to the icon sprite for this archetype.

public AssetReferenceSprite IconReference

Field Value

AssetReferenceSprite

ItemRewards

List of item templates rewarded for unlocking this archetype.

public List<BaseItemTemplate> ItemRewards

Field Value

List<BaseItemTemplate>

NPCGuild

The NPC guild associated with this archetype, if any.

public NPCGuildTemplate NPCGuild

Field Value

NPCGuildTemplate

TitleRewards

List of title strings rewarded for unlocking this archetype.

public List<string> TitleRewards

Field Value

List<string>

Properties

Icon

The icon for this archetype (loaded at runtime on client).

public Sprite Icon { get; }

Property Value

Sprite

Name

The name of this archetype template (from the ScriptableObject's name).

public string Name { get; }

Property Value

string

Methods

MeetsRequirements(IPlayerCharacter)

public bool MeetsRequirements(IPlayerCharacter playerCharacter)

Parameters

playerCharacter IPlayerCharacter

Returns

bool

OnLoad(string, string, int)

Called when the archetype template is loaded into cache. Loads the icon on the client.

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

Parameters

typeName string
resourceName string
resourceID int

OnUnload(string, string, int)

Called when the archetype template is unloaded from cache. Releases the icon on the client.

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

Parameters

typeName string
resourceName string
resourceID int