Table of Contents

Interface IIntValueProvider

Namespace
FishMMO.Shared.Core
Assembly
FishMMO.Shared.dll

Interface for polymorphic integer value providers used by ECA actions. Implementations are serialized inline via [SerializeReference] with [SubclassSelector] for Inspector support. Allows actions to derive their integer values from constants, random ranges, character stats, or other sources.

public interface IIntValueProvider

Methods

Describe()

Describes the value in words, without a character or an event to compute it against.

string Describe()

Returns

string

The description, or null when the value is only knowable at execution time.

Remarks

A tooltip is written long before anything is cast, so it cannot call GetValue(ICharacter, EventData) — there is no initiator, no target and no RNG stream. A provider that knows its own numbers can still say what they are ("18 - 24"), and one that cannot returns null so the caller writes nothing rather than a placeholder.

On the interface rather than in a switch statement somewhere in the UI, because a new provider should have to answer this to compile.

GetValue(ICharacter, EventData)

Computes and returns the integer value for the current execution context.

int GetValue(ICharacter initiator, EventData eventData)

Parameters

initiator ICharacter

The character initiating the action (used for stat lookups, etc.).

eventData EventData

The event data for the current execution (used for RNG, target info, etc.).

Returns

int

The computed integer value.