Class StatCatalog

Namespace
SurvivorsMaker.Core
Assembly
SurvivorsMaker.Core.dll

The list of stats a game uses. Effects that target an id outside the catalog are reported by StatBuild instead of silently creating a new stat.

public sealed class StatCatalog
Inheritance
StatCatalog
Inherited Members

Constructors

StatCatalog()

public StatCatalog()

StatCatalog(IEnumerable<StatDefinition>)

public StatCatalog(IEnumerable<StatDefinition> stats)

Parameters

stats IEnumerable<StatDefinition>

Properties

Count

public int Count { get; }

Property Value

int

this[string]

public StatDefinition this[string id] { get; }

Parameters

id string

Property Value

StatDefinition

Stats

public IReadOnlyList<StatDefinition> Stats { get; }

Property Value

IReadOnlyList<StatDefinition>

Methods

Add(StatDefinition)

Adds a nonempty unique stat definition and returns this catalog; invalid ids are rejected.

public StatCatalog Add(StatDefinition stat)

Parameters

stat StatDefinition

Returns

StatCatalog

Contains(string)

Tests whether the catalog contains the supplied case-sensitive stat id.

public bool Contains(string id)

Parameters

id string

Returns

bool

IndexOf(string)

Position of the stat in the catalog, or -1.

public int IndexOf(string id)

Parameters

id string

Returns

int

TryGet(string, out StatDefinition)

Looks up a stat definition by its case-sensitive id without adding it.

public bool TryGet(string id, out StatDefinition stat)

Parameters

id string
stat StatDefinition

Returns

bool

Validate(IEnumerable<StatDefinition>)

Authoring errors: empty or duplicate ids, min above max, base outside limits.

public static List<string> Validate(IEnumerable<StatDefinition> stats)

Parameters

stats IEnumerable<StatDefinition>

Returns

List<string>