logo SERENITY
Game Systems Foundation
Search Results for

    Show / Hide Table of Contents

    Class CharacterStatus

    Type-safe enumeration for character lifecycle status. Uses a class-based pattern instead of a C# enum to support inheritance, allowing specialized character types (e.g., Character) to define additional sub-states that refine the base lifecycle.

    Inheritance
    object
    CharacterStatus
    Inherited Members
    object.Equals(object, object)
    object.ReferenceEquals(object, object)
    object.GetType()
    object.MemberwiseClone()
    Namespace: Serenity.Character.Domain.Enums
    Assembly: Serenity.Character.Domain.dll
    Syntax
    public class CharacterStatus

    Constructors

    CharacterStatus(int, string, CharacterStatus)

    Creates a new CharacterStatus instance.

    Declaration
    protected CharacterStatus(int value, string name, CharacterStatus parent)
    Parameters
    Type Name Description
    int value

    Unique integer identifier.

    string name

    Human-readable name.

    CharacterStatus parent

    Parent status this refines, or null for root statuses.

    Fields

    Active

    Character is active and can interact with the world.

    Declaration
    public static readonly CharacterStatus Active
    Field Value
    Type Description
    CharacterStatus

    Dead

    Character is fully dead and ready for despawn/recycle.

    Declaration
    public static readonly CharacterStatus Dead
    Field Value
    Type Description
    CharacterStatus

    Dying

    Character is in its death transition (animation, effects, etc.).

    Declaration
    public static readonly CharacterStatus Dying
    Field Value
    Type Description
    CharacterStatus

    Spawning

    Character is spawned but not yet active (entering scene).

    Declaration
    public static readonly CharacterStatus Spawning
    Field Value
    Type Description
    CharacterStatus

    Properties

    Name

    Human-readable name of this status.

    Declaration
    public string Name { get; }
    Property Value
    Type Description
    string

    Parent

    The parent status this status refines, or null if it is a root status. For example, an character "Attacking" status would have Active as its parent.

    Declaration
    public CharacterStatus Parent { get; }
    Property Value
    Type Description
    CharacterStatus

    Value

    Integer identifier for equality comparisons and serialization.

    Declaration
    public int Value { get; }
    Property Value
    Type Description
    int

    Methods

    Equals(object)

    Declaration
    public override bool Equals(object obj)
    Parameters
    Type Name Description
    object obj
    Returns
    Type Description
    bool
    Overrides
    object.Equals(object)

    GetHashCode()

    Declaration
    public override int GetHashCode()
    Returns
    Type Description
    int
    Overrides
    object.GetHashCode()

    Is(CharacterStatus)

    Returns true if this status is equal to, or a sub-status of, the given status. Walks the Parent chain to check ancestry.

    Declaration
    public bool Is(CharacterStatus status)
    Parameters
    Type Name Description
    CharacterStatus status

    The status to compare against.

    Returns
    Type Description
    bool

    True if this status matches or descends from status.

    ToString()

    Declaration
    public override string ToString()
    Returns
    Type Description
    string
    Overrides
    object.ToString()

    Operators

    operator ==(CharacterStatus, CharacterStatus)

    Declaration
    public static bool operator ==(CharacterStatus a, CharacterStatus b)
    Parameters
    Type Name Description
    CharacterStatus a
    CharacterStatus b
    Returns
    Type Description
    bool

    operator !=(CharacterStatus, CharacterStatus)

    Declaration
    public static bool operator !=(CharacterStatus a, CharacterStatus b)
    Parameters
    Type Name Description
    CharacterStatus a
    CharacterStatus b
    Returns
    Type Description
    bool
    In this article
    © 2026 Serenity. All Rights Reserved