<?xml version="1.0"?>
<doc>
    <assembly>
        <name>SlugBase</name>
    </assembly>
    <members>
        <member name="T:SlugBase.Assets.CustomScene">
            <summary>
            A scene added by SlugBase.
            </summary>
        </member>
        <member name="P:SlugBase.Assets.CustomScene.Registry">
            <summary>
            Stores all registered <see cref="T:SlugBase.Assets.CustomScene"/>s.
            </summary>
        </member>
        <member name="P:SlugBase.Assets.CustomScene.ID">
            <summary>
            This scene's unique ID.
            </summary>
        </member>
        <member name="P:SlugBase.Assets.CustomScene.Images">
            <summary>
            An array of images in this scene.
            </summary>
        </member>
        <member name="P:SlugBase.Assets.CustomScene.IdleDepths">
            <summary>
            An array of depths that the camera may focus on.
            </summary>
        </member>
        <member name="P:SlugBase.Assets.CustomScene.SceneFolder">
            <summary>
            A path relative to StreamingAssets to load images from.
            </summary>
        </member>
        <member name="P:SlugBase.Assets.CustomScene.GlowPos">
            <summary>
            The position of the glow's center.
            <para>Only effective when used on the slugcat select screen.</para>
            </summary>
        </member>
        <member name="P:SlugBase.Assets.CustomScene.MarkPos">
            <summary>
            The position of the mark's center.
            <para>Only effective when used on the slugcat select screen.</para>
            </summary>
        </member>
        <member name="P:SlugBase.Assets.CustomScene.SelectMenuOffset">
            <summary>
            The pixel offset for this scene in the select menu.
            <para>Only effective when used on the slugcat select screen.</para>
            </summary>
        </member>
        <member name="P:SlugBase.Assets.CustomScene.SlugcatDepth">
            <summary>
            The depth of the slugcat image in this scene.
            <para>Only effective when used on the slugcat select screen.</para>
            </summary>
        </member>
        <member name="T:SlugBase.Assets.CustomScene.Image">
            <summary>
            An image from a <see cref="T:SlugBase.Assets.CustomScene"/>.
            </summary>
        </member>
        <member name="P:SlugBase.Assets.CustomScene.Image.Name">
            <summary>
            The file name of the image to load. This is combined with <see cref="P:SlugBase.Assets.CustomScene.SceneFolder"/>.
            </summary>
        </member>
        <member name="P:SlugBase.Assets.CustomScene.Image.Position">
            <summary>
            The pixel position of this image's bottom left corner in the scene.
            </summary>
        </member>
        <member name="P:SlugBase.Assets.CustomScene.Image.Depth">
            <summary>
            The depth of this image in the scene.
            </summary>
        </member>
        <member name="P:SlugBase.Assets.CustomScene.Image.Shader">
            <summary>
            The shader to use when rendering. Defaults to <see cref="F:Menu.MenuDepthIllustration.MenuShader.Normal"/>.
            </summary>
        </member>
        <member name="P:SlugBase.Assets.CustomScene.Image.Flatmode">
            <summary>
            If <c>true</c>, this image will display when in flat mode and will be hidden otherwise.
            </summary>
        </member>
        <member name="M:SlugBase.Assets.CustomScene.Image.#ctor(System.String,UnityEngine.Vector2)">
            <summary>
            Creates a new image.
            </summary>
            <param name="name">The file name.</param>
            <param name="position">The pixel position of the bottom left corner.</param>
            <exception cref="T:System.ArgumentNullException"></exception>
        </member>
        <member name="M:SlugBase.Assets.CustomScene.Image.#ctor(SlugBase.JsonObject)">
            <summary>
            Creates a new image from JSON.
            </summary>
            <param name="json">The JSON data to load from.</param>
        </member>
        <member name="T:SlugBase.DataTypes.ColorSlot">
            <summary>
            Represents a color that may be configured by the user.
            </summary>
        </member>
        <member name="P:SlugBase.DataTypes.ColorSlot.Index">
            <summary>
            The index of this color slot in <see cref="M:PlayerGraphics.ColoredBodyPartList(SlugcatStats.Name)"/>.
            </summary>
        </member>
        <member name="P:SlugBase.DataTypes.ColorSlot.Name">
            <summary>
            This color's name for use with <see cref="T:SlugBase.DataTypes.PlayerColor"/>.
            </summary>
        </member>
        <member name="P:SlugBase.DataTypes.ColorSlot.Default">
            <summary>
            The default color.
            </summary>
        </member>
        <member name="P:SlugBase.DataTypes.ColorSlot.Variants">
            <summary>
            The preset colors to use in multiplayer.
            </summary>
        </member>
        <member name="M:SlugBase.DataTypes.ColorSlot.#ctor(System.Int32,System.String)">
            <summary>
            Create an empty <see cref="T:SlugBase.DataTypes.ColorSlot"/>.
            </summary>
            <param name="index">The index for use with <see cref="M:PlayerGraphics.ColoredBodyPartList(SlugcatStats.Name)"/>.</param>
            <param name="name">The name of the body part this colors.</param>
        </member>
        <member name="M:SlugBase.DataTypes.ColorSlot.#ctor(System.Int32,SlugBase.JsonAny)">
            <summary>
            Create a <see cref="T:SlugBase.DataTypes.ColorSlot"/> from JSON.
            </summary>
            <param name="index">The index for use with <see cref="M:PlayerGraphics.ColoredBodyPartList(SlugcatStats.Name)"/>.</param>
            <param name="json">The JSON to load.</param>
        </member>
        <member name="M:SlugBase.DataTypes.ColorSlot.GetColor(System.Int32)">
            <summary>
            Gets a color variant from <see cref="P:SlugBase.DataTypes.ColorSlot.Variants"/> by index.
            </summary>
            <param name="slugcatCharacter">The index.</param>
            <returns>The color for <paramref name="slugcatCharacter"/> from <see cref="P:SlugBase.DataTypes.ColorSlot.Variants"/>, or <see cref="P:SlugBase.DataTypes.ColorSlot.Default"/> if the index was out of range.</returns>
        </member>
        <member name="M:SlugBase.DataTypes.ColorSlot.GetColor(PlayerGraphics)">
            <summary>
            Gets the color of this slot for a given player.
            </summary>
            <param name="graphics">The player graphics to get the color from.</param>
            <returns>The color of this body part after modifications are applied.</returns>
        </member>
        <member name="T:SlugBase.DataTypes.Diet">
            <summary>
            Represents the nourishment and edibility of foods for a <see cref="T:SlugBase.SlugBaseCharacter"/>.
            </summary>
        </member>
        <member name="P:SlugBase.DataTypes.Diet.Corpses">
            <summary>
            The food value multiplier of dead creatures.
            <para>If the creature is consumed in its entirety, such as <see cref="F:CreatureTemplate.Type.Fly"/>, <see cref="P:SlugBase.DataTypes.Diet.Meat"/> is used instead.</para>
            </summary>
        </member>
        <member name="P:SlugBase.DataTypes.Diet.Meat">
            <summary>
            The food value multiplier of small creatures or living objects like <see cref="F:AbstractPhysicalObject.AbstractObjectType.JellyFish"/>.
            </summary>
        </member>
        <member name="P:SlugBase.DataTypes.Diet.Plants">
            <summary>
            The food value multiplier of non-living foods.
            </summary>
        </member>
        <member name="P:SlugBase.DataTypes.Diet.ObjectOverrides">
            <summary>
            The food value multipliers of individual object types.
            </summary>
        </member>
        <member name="P:SlugBase.DataTypes.Diet.CreatureOverrides">
            <summary>
            The food value multipliers of individual creature types.
            </summary>
        </member>
        <member name="M:SlugBase.DataTypes.Diet.#ctor(SlugBase.JsonAny)">
            <summary>
            Creates a new <see cref="T:SlugBase.DataTypes.Diet"/> from JSON.
            </summary>
            <param name="json">The JSON to load.</param>
        </member>
        <member name="M:SlugBase.DataTypes.Diet.GetFoodMultiplier(PhysicalObject)">
            <summary>
            Gets the food value multiplier for an object that was consumed in its entirety.
            </summary>
            <param name="obj">The object that was eaten.</param>
            <returns>A multiplier for the nourishment of this object.</returns>
        </member>
        <member name="M:SlugBase.DataTypes.Diet.GetMeatMultiplier(Player,Creature)">
            <summary>
            Gets the food value multiplier for a creature
            </summary>
            <param name="player">The player to pass to <see cref="M:Player.EatMeatOmnivoreGreenList(Creature)"/>.</param>
            <param name="crit">The creature that is being eaten.</param>
            <returns>A multiplier for the nourishment of this creature.</returns>
        </member>
        <member name="T:SlugBase.DataTypes.PlayerColor">
            <summary>
            Represents a color that may copy from <see cref="F:SlugBase.Features.PlayerFeatures.CustomColors"/>.
            </summary>
        </member>
        <member name="F:SlugBase.DataTypes.PlayerColor.Body">
            <summary>
            The body color of <see cref="T:SlugBase.SlugBaseCharacter"/>s.
            </summary>
        </member>
        <member name="F:SlugBase.DataTypes.PlayerColor.Eyes">
            <summary>
            The eye color of <see cref="T:SlugBase.SlugBaseCharacter"/>s.
            </summary>
        </member>
        <member name="M:SlugBase.DataTypes.PlayerColor.#ctor(SlugBase.JsonAny)">
            <summary>
            Creates a new <see cref="T:SlugBase.DataTypes.PlayerColor"/> from JSON.
            </summary>
            <param name="json">The JSON to load.</param>
        </member>
        <member name="M:SlugBase.DataTypes.PlayerColor.#ctor(System.String)">
            <summary>
            Creates a new <see cref="T:SlugBase.DataTypes.PlayerColor"/>.
            </summary>
            <param name="name">The name of the custom color to copy.</param>
        </member>
        <member name="M:SlugBase.DataTypes.PlayerColor.#ctor(UnityEngine.Color)">
            <summary>
            Creates a new <see cref="T:SlugBase.DataTypes.PlayerColor"/>.
            </summary>
            <param name="color">The color to return.</param>
        </member>
        <member name="M:SlugBase.DataTypes.PlayerColor.GetColor(PlayerGraphics)">
            <summary>
            Gets the value of this color for a player.
            </summary>
            <param name="playerGraphics">The player to get the color from.</param>
            <returns>The custom color, or <c>null</c> if it was not overridden via <see cref="F:SlugBase.Features.PlayerFeatures.CustomColors"/>.</returns>
        </member>
        <member name="T:SlugBase.DataTypes.RepOverride">
            <summary>
            Represents the initial reputation of the player with a community.
            </summary>
        </member>
        <member name="F:SlugBase.DataTypes.RepOverride.Target">
            <summary>
            The target like value of the player.
            </summary>
        </member>
        <member name="F:SlugBase.DataTypes.RepOverride.Strength">
            <summary>
            The amount to lerp reputation towards <see cref="F:SlugBase.DataTypes.RepOverride.Target"/> when loaded.
            </summary>
        </member>
        <member name="F:SlugBase.DataTypes.RepOverride.Locked">
            <summary>
            If <c>true</c>, the like of the player will be locked to <see cref="F:SlugBase.DataTypes.RepOverride.Target"/> after it is set.
            </summary>
        </member>
        <member name="M:SlugBase.DataTypes.RepOverride.#ctor(System.Single,System.Single,System.Boolean)">
            <summary>
            Creates a new <see cref="T:SlugBase.DataTypes.RepOverride"/>.
            </summary>
            <param name="target">The target like value of the player.</param>
            <param name="strength">The amount to lerp reputation towards <paramref name="target"/> when loaded.</param>
            <param name="locked">If <c>true</c>, the like of the player will be locked to <paramref name="target"/> after it is set.</param>
        </member>
        <member name="M:SlugBase.DataTypes.RepOverride.#ctor(SlugBase.JsonAny)">
            <summary>
            Creates a new <see cref="T:SlugBase.DataTypes.RepOverride"/> from JSON.
            </summary>
            <param name="json">The JSON to load.</param>
        </member>
        <member name="T:SlugBase.Features.PlayerData`1">
            <summary>
            Stores per-player variables.
            </summary>
            <typeparam name="TValue">The type of data stored.</typeparam>
        </member>
        <member name="M:SlugBase.Features.PlayerData`1.#ctor(SlugBase.Features.Feature)">
            <summary>
            Creates a new per-player variable that depends on <paramref name="requiredFeature"/>.
            </summary>
            <param name="requiredFeature">The required <see cref="T:SlugBase.Features.Feature"/>, or <c>null</c> if data access should not be locked behind a feature.</param>
        </member>
        <member name="M:SlugBase.Features.PlayerData`1.Get(PlayerState)">
            <summary>
            Gets the <typeparamref name="TValue"/> instance assocated with <paramref name="state"/>, constructing it if it does not exist.
            <para>If the game's <see cref="T:SlugBase.SlugBaseCharacter"/> does not have <see cref="P:SlugBase.Features.Data.RequiredFeature"/>, then <c>null</c> is returned.</para>
            </summary>
            <param name="state">The player state the variable is associated with.</param>
        </member>
        <member name="M:SlugBase.Features.PlayerData`1.Get(Player)">
            <summary>
            Gets the <typeparamref name="TValue"/> instance assocated with <paramref name="player"/>, constructing it if it does not exist.
            <para>If the game's <see cref="T:SlugBase.SlugBaseCharacter"/> does not have <see cref="P:SlugBase.Features.Data.RequiredFeature"/>, then <c>null</c> is returned.</para>
            </summary>
            <param name="player">The player the variable is associated with.</param>
        </member>
        <member name="M:SlugBase.Features.PlayerData`1.TryGet(PlayerState,`0@)">
            <summary>
            Gets the <typeparamref name="TValue"/> instance assocated with <paramref name="state"/>, constructing it if it does not exist.
            </summary>
            <param name="state">The player state the variable is associated with.</param>
            <param name="value">The stored value, or <typeparamref name="TValue"/>'s default value if the required feature wasn't found.</param>
            <returns><c>true</c> if the player's <see cref="T:SlugBase.SlugBaseCharacter"/> had <see cref="P:SlugBase.Features.Data.RequiredFeature"/>, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:SlugBase.Features.PlayerData`1.TryGet(Player,`0@)">
            <summary>
            Gets the <typeparamref name="TValue"/> instance assocated with <paramref name="player"/>, constructing it if it does not exist.
            </summary>
            <param name="player">The player the variable is associated with.</param>
            <param name="value">The stored value, or <typeparamref name="TValue"/>'s default value if the required feature wasn't found.</param>
            <returns><c>true</c> if the player's <see cref="T:SlugBase.SlugBaseCharacter"/> had <see cref="P:SlugBase.Features.Data.RequiredFeature"/>, <c>false</c> otherwise.</returns>
        </member>
        <member name="T:SlugBase.Features.GameData`1">
            <summary>
            Stores per-game variables.
            </summary>
            <typeparam name="TValue">The type of data stored.</typeparam>
        </member>
        <member name="M:SlugBase.Features.GameData`1.#ctor(SlugBase.Features.Feature)">
            <summary>
            Create a new per-game variable that depends on <paramref name="requiredFeature"/>.
            </summary>
            <param name="requiredFeature">The required <see cref="T:SlugBase.Features.Feature"/>, or <c>null</c> if data access should not be locked behind a feature.</param>
        </member>
        <member name="M:SlugBase.Features.GameData`1.Get(RainWorldGame)">
            <summary>
            Gets the <typeparamref name="TValue"/> instance assocated with <paramref name="game"/>, constructing it if it does not exist.
            <para>If the game's <see cref="T:SlugBase.SlugBaseCharacter"/> does not have <see cref="P:SlugBase.Features.Data.RequiredFeature"/>, then <c>null</c> is returned.</para>
            </summary>
            <param name="game">The current game.</param>
        </member>
        <member name="M:SlugBase.Features.GameData`1.TryGet(RainWorldGame,`0@)">
            <summary>
            Gets the <typeparamref name="TValue"/> instance assocated with <paramref name="game"/>, constructing it if it does not exist.
            </summary>
            <param name="game">The current game.</param>
            <param name="value">The stored value, or <typeparamref name="TValue"/>'s default value if the required feature wasn't found.</param>
            <returns><c>true</c> if <paramref name="game"/> had <see cref="P:SlugBase.Features.Data.RequiredFeature"/>, <c>false</c> otherwise.</returns>
        </member>
        <member name="T:SlugBase.Features.Data`2">
            <summary>
            Stores <typeparamref name="TValue"/>s associated with <typeparamref name="THolder"/>s.
            </summary>
            <remarks>
            <see cref="T:SlugBase.Features.PlayerData`1"/> and <see cref="T:SlugBase.Features.GameData`1"/> should be used when possible.
            Otherwise, consider making a child class with <c>Get</c> and <c>TryGet</c> methods that find the most
            appropriate <see cref="T:SlugBase.SlugBaseCharacter"/> to pass to <see cref="M:SlugBase.Features.Data`2.Get(SlugBase.SlugBaseCharacter,`0)"/>.
            </remarks>
            <typeparam name="THolder">The key type that values are associated with.</typeparam>
            <typeparam name="TValue">The type of data stored.</typeparam>
        </member>
        <member name="M:SlugBase.Features.Data`2.#ctor(SlugBase.Features.Feature)">
            <summary>
            Creates a new instance of <see cref="T:SlugBase.Features.Data`2"/> that depends on <paramref name="requiredFeature"/>.
            </summary>
            <param name="requiredFeature">The required <see cref="T:SlugBase.Features.Feature"/>, or <c>null</c> if data access should not be locked behind a feature.</param>
        </member>
        <member name="M:SlugBase.Features.Data`2.Get(SlugBase.SlugBaseCharacter,`0)">
            <summary>
            Gets the <typeparamref name="TValue"/> instance assocated with <paramref name="key"/>, constructing it if it does not exist.
            <para>If <paramref name="character"/> does not have <see cref="P:SlugBase.Features.Data.RequiredFeature"/>, then <c>null</c> is returned.</para>
            </summary>
            <param name="character">The <see cref="T:SlugBase.SlugBaseCharacter"/> that may own <see cref="P:SlugBase.Features.Data.RequiredFeature"/>.</param>
            <param name="key">The key the data is attached to.</param>
        </member>
        <member name="T:SlugBase.Features.Data">
            <summary>
            Represents variable information of a <see cref="T:SlugBase.SlugBaseCharacter"/> that depends on a <see cref="T:SlugBase.Features.Feature"/>.
            </summary>
        </member>
        <member name="P:SlugBase.Features.Data.RequiredFeature">
            <summary>
            The feature this data depends upon.
            </summary>
        </member>
        <member name="M:SlugBase.Features.Data.#ctor(SlugBase.Features.Feature)">
            <summary>
            Create a new <see cref="T:SlugBase.Features.Data"/> instance that requires a given feature.
            </summary>
            <param name="requiredFeature">The feature that this requires, or null to not require a feature.</param>
        </member>
        <member name="M:SlugBase.Features.Data.TryUnbox``1(System.Runtime.CompilerServices.StrongBox{``0},``0@)">
            <summary>
            Gets the value of a <see cref="T:System.Runtime.CompilerServices.StrongBox`1"/>.
            </summary>
            <typeparam name="T">The stored value's type.</typeparam>
            <param name="box">The <see cref="T:System.Runtime.CompilerServices.StrongBox`1"/> holding the value or <c>null</c>.</param>
            <param name="value">The stored value, or <c>default</c> if <paramref name="box"/> is <c>null</c>.</param>
            <returns><c>false</c> if <paramref name="box"/> was <c>null</c>, <c>true</c> otherwise.</returns>
        </member>
        <member name="T:SlugBase.Features.PlayerFeature`1">
            <summary>
            A constant setting of a <see cref="T:SlugBase.SlugBaseCharacter"/>'s player.
            </summary>
            <typeparam name="T">The type that stores this setting's information</typeparam>
        </member>
        <member name="M:SlugBase.Features.PlayerFeature`1.#ctor(System.String,System.Func{SlugBase.JsonAny,`0})">
            <summary>
            Creates a new <see cref="T:SlugBase.Features.PlayerFeature`1"/> with the given <paramref name="id"/>.
            </summary>
            <param name="id">The JSON key.</param>
            <param name="factory">A delegate that parses <see cref="T:SlugBase.JsonAny"/> into <typeparamref name="T"/>. An exception should be thrown on failure.</param>
        </member>
        <member name="M:SlugBase.Features.PlayerFeature`1.TryGet(Player,`0@)">
            <summary>
            Gets the <typeparamref name="T"/> instance assocated with <paramref name="player"/>.
            </summary>
            <param name="player">A <see cref="T:Player"/> instance that may be a <see cref="T:SlugBase.SlugBaseCharacter"/> with this <see cref="T:SlugBase.Features.Feature"/>.</param>
            <param name="value">The stored setting, or <typeparamref name="T"/>'s default value if the feature wasn't found.</param>
            <returns><c>true</c> if the <paramref name="player"/>'s <see cref="T:SlugBase.SlugBaseCharacter"/> had this feature, <c>false</c> otherwise.</returns>
        </member>
        <member name="T:SlugBase.Features.GameFeature`1">
            <summary>
            A constant setting of a <see cref="T:SlugBase.SlugBaseCharacter"/>'s save slot.
            </summary>
            <typeparam name="T">The type that stores this setting's information.</typeparam>
        </member>
        <member name="M:SlugBase.Features.GameFeature`1.#ctor(System.String,System.Func{SlugBase.JsonAny,`0})">
            <summary>
            Creates a new <see cref="T:SlugBase.Features.GameFeature`1"/> with the given <paramref name="id"/>.
            </summary>
            <param name="id">The JSON key.</param>
            <param name="factory">A delegate that parses <see cref="T:SlugBase.JsonAny"/> into <typeparamref name="T"/>. An exception should be thrown on failure.</param>
        </member>
        <member name="M:SlugBase.Features.GameFeature`1.TryGet(RainWorldGame,`0@)">
            <summary>
            Gets the <typeparamref name="T"/> instance assocated with <paramref name="game"/>.
            </summary>
            <param name="game">A <see cref="T:RainWorldGame"/> instance that may belong to a <see cref="T:SlugBase.SlugBaseCharacter"/> with this <see cref="T:SlugBase.Features.Feature"/>.</param>
            <param name="value">The stored setting, or <typeparamref name="T"/>'s default value if the feature wasn't found.</param>
            <returns><c>true</c> if the <paramref name="game"/>'s <see cref="T:SlugBase.SlugBaseCharacter"/> had this feature, <c>false</c> otherwise.</returns>
        </member>
        <member name="T:SlugBase.Features.Feature`1">
            <summary>
            A strongly-typed constant setting of a <see cref="T:SlugBase.SlugBaseCharacter"/>.
            </summary>
            <remarks>
            <see cref="T:SlugBase.Features.PlayerFeature`1"/> and <see cref="T:SlugBase.Features.GameFeature`1"/> should be used when possible.
            Otherwise, consider making a child class with a <c>TryGet</c> method that finds the most
            appropriate <see cref="T:SlugBase.SlugBaseCharacter"/> to pass to <see cref="M:SlugBase.Features.Feature`1.TryGet(SlugBase.SlugBaseCharacter,`0@)"/>.
            </remarks>
            <typeparam name="T">The type that stores this setting's information.</typeparam>
        </member>
        <member name="M:SlugBase.Features.Feature`1.#ctor(System.String,System.Func{SlugBase.JsonAny,`0})">
            <summary>
            Creates a new <see cref="T:SlugBase.Features.Feature`1"/> with the given <paramref name="id"/>.
            </summary>
            <param name="id">The JSON key.</param>
            <param name="factory">A delegate that parses <see cref="T:SlugBase.JsonAny"/> into <typeparamref name="T"/>. An exception should be thrown on failure.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="factory"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentNullException"><paramref name="id"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentException">A <see cref="T:SlugBase.Features.Feature"/> with the given <paramref name="id"/> already exists.</exception>
        </member>
        <member name="M:SlugBase.Features.Feature`1.TryGet(SlugBase.SlugBaseCharacter,`0@)">
            <summary>
            Gets the <typeparamref name="T"/> instance assocated with <paramref name="character"/>.
            </summary>
            <param name="character">The <see cref="T:SlugBase.SlugBaseCharacter"/> that may have this <see cref="T:SlugBase.Features.Feature"/>.</param>
            <param name="value">The stored setting, or <typeparamref name="T"/>'s default value if the feature wasn't found.</param>
            <returns><c>true</c> if <paramref name="character"/> had this feature, <c>false</c> otherwise.</returns>
        </member>
        <member name="T:SlugBase.Features.Feature">
            <summary>
            Represents a constant setting of a <see cref="T:SlugBase.SlugBaseCharacter"/>.
            </summary>
        </member>
        <member name="P:SlugBase.Features.Feature.ID">
            <summary>
            This <see cref="T:SlugBase.Features.Feature"/>'s JSON key.
            </summary>
        </member>
        <member name="M:SlugBase.Features.Feature.#ctor(System.String)">
            <summary>
            Creates a new <see cref="T:SlugBase.Features.Feature"/> with the given <paramref name="id"/>.
            </summary>
            <param name="id">The JSON key.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="id"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentException">A <see cref="T:SlugBase.Features.Feature"/> with the given <paramref name="id"/> already exists.</exception>
        </member>
        <member name="M:SlugBase.Features.FeatureHooks.PlayerGraphics_ApplyPalette(MonoMod.Cil.ILContext)">
            CustomColors: Apply body color override
        </member>
        <member name="T:SlugBase.Features.PlayerFeatures">
            <summary>
            Built-in <see cref="T:SlugBase.Features.Feature"/>s describing the player.
            </summary>
        </member>
        <member name="F:SlugBase.Features.PlayerFeatures.SlugcatColor">
            <summary>"color": Player body and UI color.</summary>
        </member>
        <member name="F:SlugBase.Features.PlayerFeatures.AutoGrabFlies">
            <summary>"auto_grab_batflies": Grab batflies on collision.</summary>
        </member>
        <member name="F:SlugBase.Features.PlayerFeatures.WeightMul">
            <summary>"weight": Weight multiplier.</summary>
        </member>
        <member name="F:SlugBase.Features.PlayerFeatures.TunnelSpeedMul">
            <summary>"tunnel_speed": Move speed in tunnels.</summary>
        </member>
        <member name="F:SlugBase.Features.PlayerFeatures.ClimbSpeedMul">
            <summary>"climb_speed": Move speed on poles.</summary>
        </member>
        <member name="F:SlugBase.Features.PlayerFeatures.WalkSpeedMul">
            <summary>"walk_speed": Standing move speed.</summary>
        </member>
        <member name="F:SlugBase.Features.PlayerFeatures.CrouchStealth">
            <summary>"crouch_stealth": Visual stealth while crouched.</summary>
        </member>
        <member name="F:SlugBase.Features.PlayerFeatures.ThrowSkill">
            <summary>"throw_skill": Spear damage and speed.</summary>
        </member>
        <member name="F:SlugBase.Features.PlayerFeatures.LungsCapacityMul">
            <summary>"lung_capacity": Time underwater before drowning.</summary>
        </member>
        <member name="F:SlugBase.Features.PlayerFeatures.LoudnessMul">
            <summary>"loudness": Sound alert multiplier.</summary>
        </member>
        <member name="F:SlugBase.Features.PlayerFeatures.BackSpear">
            <summary>"back_spear": Store a spear on back.</summary>
        </member>
        <member name="F:SlugBase.Features.PlayerFeatures.CommunityAlignments">
            <summary>"alignments": Initial community reputation.</summary>
        </member>
        <member name="F:SlugBase.Features.PlayerFeatures.Diet">
            <summary>"diet": Edibility and nourishment of foods.</summary>
        </member>
        <member name="F:SlugBase.Features.PlayerFeatures.CustomColors">
            <summary>"custom_colors": Configurable player colors.</summary>
        </member>
        <member name="F:SlugBase.Features.PlayerFeatures.CanMaul">
            <summary>"can_maul": Ability to maul creatures.</summary>
        </member>
        <member name="F:SlugBase.Features.PlayerFeatures.MaulDamage">
            <summary>"maul_damage": Damage of maul attack.</summary>
        </member>
        <member name="F:SlugBase.Features.PlayerFeatures.MaulBlacklist">
            <summary>"maul_blacklist": Creatures that cannot be mauled.</summary>
        </member>
        <member name="T:SlugBase.Features.GameFeatures">
            <summary>
            Built-in <see cref="T:SlugBase.Features.Feature"/>s describing the game.
            </summary>
        </member>
        <member name="F:SlugBase.Features.GameFeatures.Karma">
            <summary>"karma": Initial karma.</summary>
        </member>
        <member name="F:SlugBase.Features.GameFeatures.KarmaCap">
            <summary>"karma_cap": Initial karma cap.</summary>
        </member>
        <member name="F:SlugBase.Features.GameFeatures.StartRoom">
            <summary>"start_room": Initial room, plus backups from highest to lowest priority.</summary>
        </member>
        <member name="F:SlugBase.Features.GameFeatures.GuideOverseer">
            <summary>"guide_overseer": Player guide overseer color index.</summary>
        </member>
        <member name="F:SlugBase.Features.GameFeatures.HasDreams">
            <summary>"has_dreams": Whether or not to track dream state.</summary>
        </member>
        <member name="F:SlugBase.Features.GameFeatures.CycleLengthMin">
            <summary>"cycle_length_min": Minimum cycle length in minutes.</summary>
        </member>
        <member name="F:SlugBase.Features.GameFeatures.CycleLengthMax">
            <summary>"cycle_length_max": Maximum cycle length in minutes.</summary>
        </member>
        <member name="F:SlugBase.Features.GameFeatures.PermaUnlockGates">
            <summary>"perma_unlock_gates": Maximum cycle length in minutes.</summary>
        </member>
        <member name="F:SlugBase.Features.GameFeatures.FoodMin">
            <summary>"food_min": Food needed to sleep.</summary>
        </member>
        <member name="F:SlugBase.Features.GameFeatures.FoodMax">
            <summary>"food_max": Maximum food stored during a cycle.</summary>
        </member>
        <member name="F:SlugBase.Features.GameFeatures.SelectMenuScene">
            <summary>"select_menu_scene": The scene for this slugcat on the select menu.</summary>
        </member>
        <member name="F:SlugBase.Features.GameFeatures.SelectMenuSceneAscended">
            <summary>"select_menu_scene_ascended": The scene for this slugcat on the select menu when ascended.</summary>
        </member>
        <member name="F:SlugBase.Features.GameFeatures.SleepScene">
            <summary>"sleep_scene": The scene for this slugcat when hibernating.</summary>
        </member>
        <member name="F:SlugBase.Features.GameFeatures.StarveScene">
            <summary>"starve_scene": The scene for this slugcat when losing from starvation.</summary>
        </member>
        <member name="F:SlugBase.Features.GameFeatures.DeathScene">
            <summary>"death_scene": The scene for this slugcat when losing from a non-starvation death.</summary>
        </member>
        <member name="F:SlugBase.Features.GameFeatures.WorldState">
            <summary>"world_state": The character to use for creature spawns and room connections.</summary>
        </member>
        <member name="T:SlugBase.Features.FeatureTypes">
            <summary>
            Helper methods to construct <see cref="T:SlugBase.Features.Feature`1"/>s with simple parsing rules.
            </summary>
        </member>
        <member name="M:SlugBase.Features.FeatureTypes.PlayerInt(System.String)">
            <summary>Create a player feature that takes one integer.</summary>
        </member>
        <member name="M:SlugBase.Features.FeatureTypes.PlayerLong(System.String)">
            <summary>Create a player feature that takes one integer.</summary>
        </member>
        <member name="M:SlugBase.Features.FeatureTypes.PlayerDouble(System.String)">
            <summary>Create a player feature that takes one number.</summary>
        </member>
        <member name="M:SlugBase.Features.FeatureTypes.PlayerFloat(System.String)">
            <summary>Create a player feature that takes one number.</summary>
        </member>
        <member name="M:SlugBase.Features.FeatureTypes.PlayerString(System.String)">
            <summary>Create a player feature that takes one string.</summary>
        </member>
        <member name="M:SlugBase.Features.FeatureTypes.PlayerInts(System.String,System.Int32,System.Int32)">
            <summary>Create a player feature that takes an array of integers.</summary>
        </member>
        <member name="M:SlugBase.Features.FeatureTypes.PlayerLongs(System.String,System.Int32,System.Int32)">
            <summary>Create a player feature that takes an array of integers.</summary>
        </member>
        <member name="M:SlugBase.Features.FeatureTypes.PlayerDoubles(System.String,System.Int32,System.Int32)">
            <summary>Create a player feature that takes an array of numbers.</summary>
        </member>
        <member name="M:SlugBase.Features.FeatureTypes.PlayerFloats(System.String,System.Int32,System.Int32)">
            <summary>Create a player feature that takes an array of numbers.</summary>
        </member>
        <member name="M:SlugBase.Features.FeatureTypes.PlayerStrings(System.String,System.Int32,System.Int32)">
            <summary>Create a player feature that takes an array of strings.</summary>
        </member>
        <member name="M:SlugBase.Features.FeatureTypes.PlayerColor(System.String)">
            <summary>Create a player feature that takes a color.</summary>
        </member>
        <member name="M:SlugBase.Features.FeatureTypes.PlayerCustomColor(System.String)">
            <summary>Create a player feature that takes a palette-modified color.</summary>
        </member>
        <member name="M:SlugBase.Features.FeatureTypes.PlayerBool(System.String)">
            <summary>Create a player feature that takes one boolean.</summary>
        </member>
        <member name="M:SlugBase.Features.FeatureTypes.PlayerEnum``1(System.String)">
            <summary>Create a player feature that takes one enum value.</summary>
        </member>
        <member name="M:SlugBase.Features.FeatureTypes.PlayerExtEnum``1(System.String)">
            <summary>Create a player feature that takes one enum value.</summary>
        </member>
        <member name="M:SlugBase.Features.FeatureTypes.GameInt(System.String)">
            <summary>Create a game feature that takes one integer.</summary>
        </member>
        <member name="M:SlugBase.Features.FeatureTypes.GameLong(System.String)">
            <summary>Create a game feature that takes one integer.</summary>
        </member>
        <member name="M:SlugBase.Features.FeatureTypes.GameDouble(System.String)">
            <summary>Create a game feature that takes one number.</summary>
        </member>
        <member name="M:SlugBase.Features.FeatureTypes.GameFloat(System.String)">
            <summary>Create a game feature that takes one number.</summary>
        </member>
        <member name="M:SlugBase.Features.FeatureTypes.GameString(System.String)">
            <summary>Create a game feature that takes one string.</summary>
        </member>
        <member name="M:SlugBase.Features.FeatureTypes.GameInts(System.String,System.Int32,System.Int32)">
            <summary>Create a game feature that takes an array of integers.</summary>
        </member>
        <member name="M:SlugBase.Features.FeatureTypes.GameLongs(System.String,System.Int32,System.Int32)">
            <summary>Create a game feature that takes an array of integers.</summary>
        </member>
        <member name="M:SlugBase.Features.FeatureTypes.GameDoubles(System.String,System.Int32,System.Int32)">
            <summary>Create a game feature that takes an array of numbers.</summary>
        </member>
        <member name="M:SlugBase.Features.FeatureTypes.GameFloats(System.String,System.Int32,System.Int32)">
            <summary>Create a game feature that takes an array of numbers.</summary>
        </member>
        <member name="M:SlugBase.Features.FeatureTypes.GameStrings(System.String,System.Int32,System.Int32)">
            <summary>Create a game feature that takes an array of strings.</summary>
        </member>
        <member name="M:SlugBase.Features.FeatureTypes.GameColor(System.String)">
            <summary>Create a game feature that takes a color.</summary>
        </member>
        <member name="M:SlugBase.Features.FeatureTypes.GameCustomColor(System.String)">
            <summary>Create a game feature that takes a palette-modified color.</summary>
        </member>
        <member name="M:SlugBase.Features.FeatureTypes.GameBool(System.String)">
            <summary>Create a game feature that takes one boolean.</summary>
        </member>
        <member name="M:SlugBase.Features.FeatureTypes.GameEnum``1(System.String)">
            <summary>Create a game feature that takes one enum value.</summary>
        </member>
        <member name="M:SlugBase.Features.FeatureTypes.GameExtEnum``1(System.String)">
            <summary>Create a game feature that takes one enum value.</summary>
        </member>
        <member name="T:SlugBase.JsonAny">
            <summary>
            A JSON object, list, number, or string.
            </summary>
        </member>
        <member name="M:SlugBase.JsonAny.AsObject">
            <summary>Cast to <see cref="T:SlugBase.JsonObject"/>.</summary>
            <exception cref="T:SlugBase.JsonException">This isn't a JSON object.</exception>
        </member>
        <member name="M:SlugBase.JsonAny.AsList">
            <summary>Cast to <see cref="T:SlugBase.JsonList"/>.</summary>
            <exception cref="T:SlugBase.JsonException">This isn't a JSON list.</exception>
        </member>
        <member name="M:SlugBase.JsonAny.AsDouble">
            <summary>Cast to <see cref="T:System.Double"/>.</summary>
            <exception cref="T:SlugBase.JsonException">This isn't a number.</exception>
        </member>
        <member name="M:SlugBase.JsonAny.AsLong">
            <summary>Cast to <see cref="T:System.Int64"/>.</summary>
            <exception cref="T:SlugBase.JsonException">This isn't a number.</exception>
        </member>
        <member name="M:SlugBase.JsonAny.AsString">
            <summary>Cast to <see cref="T:System.String"/>.</summary>
            <exception cref="T:SlugBase.JsonException">This isn't a string.</exception>
        </member>
        <member name="M:SlugBase.JsonAny.AsInt">
            <summary>Cast to <see cref="T:System.Int32"/>.</summary>
            <exception cref="T:SlugBase.JsonException">This isn't a number.</exception>
        </member>
        <member name="M:SlugBase.JsonAny.AsFloat">
            <summary>Cast to <see cref="T:System.Single"/>.</summary>
            <exception cref="T:SlugBase.JsonException">This isn't a number.</exception>
        </member>
        <member name="M:SlugBase.JsonAny.AsBool">
            <summary>Cast to <see cref="T:System.Boolean"/>.</summary>
            <exception cref="T:SlugBase.JsonException">This isn't a boolean.</exception>
        </member>
        <member name="M:SlugBase.JsonAny.TryObject">
            <summary>Try casting to <see cref="T:SlugBase.JsonObject"/>, returning <c>null</c> on failure.</summary>
        </member>
        <member name="M:SlugBase.JsonAny.TryList">
            <summary>Try casting to <see cref="T:SlugBase.JsonList"/>, returning <c>null</c> on failure.</summary>
        </member>
        <member name="M:SlugBase.JsonAny.TryLong">
            <summary>Try casting to <see cref="T:System.Int64"/>, returning <c>null</c> on failure.</summary>
        </member>
        <member name="M:SlugBase.JsonAny.TryInt">
            <summary>Try casting to <see cref="T:System.Int32"/>, returning <c>null</c> on failure.</summary>
        </member>
        <member name="M:SlugBase.JsonAny.TryDouble">
            <summary>Try casting to <see cref="T:System.Double"/>, returning <c>null</c> on failure.</summary>
        </member>
        <member name="M:SlugBase.JsonAny.TryFloat">
            <summary>Try casting to <see cref="T:System.Single"/>, returning <c>null</c> on failure.</summary>
        </member>
        <member name="M:SlugBase.JsonAny.TryString">
            <summary>Try casting to <see cref="T:System.String"/>, returning <c>null</c> on failure.</summary>
        </member>
        <member name="M:SlugBase.JsonAny.TryBool">
            <summary>Try casting to <see cref="T:System.String"/>, returning <c>null</c> on failure.</summary>
        </member>
        <member name="M:SlugBase.JsonAny.AsObject(SlugBase.JsonAny)">
            <summary>Cast to <see cref="T:SlugBase.JsonObject"/>.</summary>
            <exception cref="T:SlugBase.JsonException"><paramref name="json"/> isn't a JSON object.</exception>
        </member>
        <member name="M:SlugBase.JsonAny.AsList(SlugBase.JsonAny)">
            <summary>Cast to <see cref="T:SlugBase.JsonList"/>.</summary>
            <exception cref="T:SlugBase.JsonException"><paramref name="json"/> isn't a JSON list.</exception>
        </member>
        <member name="M:SlugBase.JsonAny.AsDouble(SlugBase.JsonAny)">
            <summary>Cast to <see cref="T:System.Double"/>.</summary>
            <exception cref="T:SlugBase.JsonException"><paramref name="json"/> isn't a number.</exception>
        </member>
        <member name="M:SlugBase.JsonAny.AsFloat(SlugBase.JsonAny)">
            <summary>Cast to <see cref="T:System.Single"/>.</summary>
            <exception cref="T:SlugBase.JsonException"><paramref name="json"/> isn't a number.</exception>
        </member>
        <member name="M:SlugBase.JsonAny.AsLong(SlugBase.JsonAny)">
            <summary>Cast to <see cref="T:System.Int64"/>.</summary>
            <exception cref="T:SlugBase.JsonException"><paramref name="json"/> isn't a number.</exception>
        </member>
        <member name="M:SlugBase.JsonAny.AsInt(SlugBase.JsonAny)">
            <summary>Cast to <see cref="T:System.Int32"/>.</summary>
            <exception cref="T:SlugBase.JsonException"><paramref name="json"/> isn't a number.</exception>
        </member>
        <member name="M:SlugBase.JsonAny.AsString(SlugBase.JsonAny)">
            <summary>Cast to <see cref="T:System.String"/>.</summary>
            <exception cref="T:SlugBase.JsonException"><paramref name="json"/> isn't a string.</exception>
        </member>
        <member name="M:SlugBase.JsonAny.AsBool(SlugBase.JsonAny)">
            <summary>Cast to <see cref="T:System.Boolean"/>.</summary>
            <exception cref="T:SlugBase.JsonException"><paramref name="json"/> isn't a boolean.</exception>
        </member>
        <member name="M:SlugBase.JsonAny.Parse(System.String)">
            <summary>
            Parse JSON text as a <see cref="T:SlugBase.JsonAny"/>.
            </summary>
            <param name="data">The JSON text.</param>
            <returns>A <see cref="T:SlugBase.JsonAny"/> representing the root element.</returns>
            <exception cref="T:SlugBase.JsonParseException">The root element could not be parsed.</exception>
        </member>
        <member name="P:SlugBase.JsonAny.Type">
            <summary>
            The type of this element. This may not be <see cref="F:SlugBase.JsonAny.Element.Invalid"/>.
            </summary>
        </member>
        <member name="T:SlugBase.JsonAny.Element">
            <summary>
            Represents the type of a JSON element.
            </summary>
        </member>
        <member name="F:SlugBase.JsonAny.Element.Object">
            <summary>
            Values associated with string keys.
            </summary>
        </member>
        <member name="F:SlugBase.JsonAny.Element.List">
            <summary>
            Values associated with integer keys.
            </summary>
        </member>
        <member name="F:SlugBase.JsonAny.Element.Number">
            <summary>
            A number.
            </summary>
        </member>
        <member name="F:SlugBase.JsonAny.Element.String">
            <summary>
            A string.
            </summary>
        </member>
        <member name="F:SlugBase.JsonAny.Element.Bool">
            <summary>
            A boolean.
            </summary>
        </member>
        <member name="F:SlugBase.JsonAny.Element.Invalid">
            <summary>
            A value that couldn't be parsed.
            </summary>
        </member>
        <member name="T:SlugBase.JsonObject">
            <summary>
            A JSON object.
            </summary>
        </member>
        <member name="M:SlugBase.JsonObject.Get(System.String)">
            <summary>
            Get an element from this object.
            </summary>
            <param name="key">The JSON property to search for.</param>
            <returns>The found value.</returns>
            <exception cref="T:SlugBase.JsonException">The specified property doesn't exist.</exception>
        </member>
        <member name="M:SlugBase.JsonObject.TryGet(System.String)">
            <summary>
            Get an element from this object.
            </summary>
            <param name="key">The JSON property to search for.</param>
            <returns>The found value, or <c>null</c> if the property doesn't exist.</returns>
        </member>
        <member name="M:SlugBase.JsonObject.GetObject(System.String)">
            <summary>Get a <see cref="T:SlugBase.JsonObject"/> from this object.</summary>
            <param name="key">The JSON property to search for.</param>
            <exception cref="T:SlugBase.JsonException">The specified property doesn't exist.</exception>
        </member>
        <member name="M:SlugBase.JsonObject.GetList(System.String)">
            <summary>Get a <see cref="T:SlugBase.JsonList"/> from this object.</summary>
            <param name="key">The JSON property to search for.</param>
            <exception cref="T:SlugBase.JsonException">The specified property doesn't exist or was the wrong type.</exception>
        </member>
        <member name="M:SlugBase.JsonObject.GetDouble(System.String)">
            <summary>Get a <see cref="T:System.Double"/> from this object.</summary>
            <param name="key">The JSON property to search for.</param>
            <exception cref="T:SlugBase.JsonException">The specified property doesn't exist or was the wrong type.</exception>
        </member>
        <member name="M:SlugBase.JsonObject.GetFloat(System.String)">
            <summary>Get a <see cref="T:System.Single"/> from this object.</summary>
            <param name="key">The JSON property to search for.</param>
            <exception cref="T:SlugBase.JsonException">The specified property doesn't exist or was the wrong type.</exception>
        </member>
        <member name="M:SlugBase.JsonObject.GetLong(System.String)">
            <summary>Get a <see cref="T:System.Int64"/> from this object.</summary>
            <param name="key">The JSON property to search for.</param>
            <exception cref="T:SlugBase.JsonException">The specified property doesn't exist or was the wrong type.</exception>
        </member>
        <member name="M:SlugBase.JsonObject.GetInt(System.String)">
            <summary>Get an <see cref="T:System.Int32"/> from this object.</summary>
            <param name="key">The JSON property to search for.</param>
            <exception cref="T:SlugBase.JsonException">The specified property doesn't exist or was the wrong type.</exception>
        </member>
        <member name="M:SlugBase.JsonObject.GetString(System.String)">
            <summary>Get a <see cref="T:System.String"/> from this object.</summary>
            <param name="key">The JSON property to search for.</param>
            <exception cref="T:SlugBase.JsonException">The specified property doesn't exist or was the wrong type.</exception>
        </member>
        <member name="M:SlugBase.JsonObject.GetBool(System.String)">
            <summary>Get a <see cref="T:System.Boolean"/> from this object.</summary>
            <param name="key">The JSON property to search for.</param>
            <exception cref="T:SlugBase.JsonException">The specified property doesn't exist or was the wrong type.</exception>
        </member>
        <member name="P:SlugBase.JsonObject.Item(System.String)">
            <summary>
            Get an element from this object.
            </summary>
            <param name="key">The JSON property to search for.</param>
            <returns>The found value.</returns>
            <exception cref="T:SlugBase.JsonException">The specified property doesn't exist.</exception>
        </member>
        <member name="M:SlugBase.JsonObject.op_Implicit(SlugBase.JsonObject)~SlugBase.JsonAny">
            <summary>
            Get <paramref name="obj"/> as a <see cref="T:SlugBase.JsonAny"/>.
            </summary>
        </member>
        <member name="M:SlugBase.JsonObject.GetEnumerator">
            <summary>
            Get an enumerator for all properties and values of this object.
            </summary>
        </member>
        <member name="T:SlugBase.JsonList">
            <summary>
            A JSON list.
            </summary>
        </member>
        <member name="M:SlugBase.JsonList.Get(System.Int32)">
            <summary>
            Get an element from this list.
            </summary>
            <param name="key">The index.</param>
            <returns>The found value.</returns>
            <exception cref="T:SlugBase.JsonException"><paramref name="key"/> is out of range.</exception>
        </member>
        <member name="M:SlugBase.JsonList.TryGet(System.Int32)">
            <summary>
            Get an element from this list.
            </summary>
            <param name="key">The index.</param>
            <returns>The found value, or <c>null</c> if <paramref name="key"/> is out of range.</returns>
        </member>
        <member name="M:SlugBase.JsonList.GetObject(System.Int32)">
            <summary>Get a <see cref="T:SlugBase.JsonObject"/> from this list.</summary>
            <param name="key">The index.</param>
            <exception cref="T:SlugBase.JsonException"><paramref name="key"/> is out of range or is not the right type.</exception>
        </member>
        <member name="M:SlugBase.JsonList.GetList(System.Int32)">
            <summary>Get a <see cref="T:SlugBase.JsonList"/> from this list.</summary>
            <param name="key">The index.</param>
            <exception cref="T:SlugBase.JsonException"><paramref name="key"/> is out of range or is not the right type.</exception>
        </member>
        <member name="M:SlugBase.JsonList.GetDouble(System.Int32)">
            <summary>Get a <see cref="T:System.Double"/> from this list.</summary>
            <param name="key">The index.</param>
            <exception cref="T:SlugBase.JsonException"><paramref name="key"/> is out of range or is not the right type.</exception>
        </member>
        <member name="M:SlugBase.JsonList.GetFloat(System.Int32)">
            <summary>Get a <see cref="T:System.Single"/> from this list.</summary>
            <param name="key">The index.</param>
            <exception cref="T:SlugBase.JsonException"><paramref name="key"/> is out of range or is not the right type.</exception>
        </member>
        <member name="M:SlugBase.JsonList.GetLong(System.Int32)">
            <summary>Get a <see cref="T:System.Int64"/> from this list.</summary>
            <param name="key">The index.</param>
            <exception cref="T:SlugBase.JsonException"><paramref name="key"/> is out of range or is not the right type.</exception>
        </member>
        <member name="M:SlugBase.JsonList.GetInt(System.Int32)">
            <summary>Get an <see cref="T:System.Int32"/> from this list.</summary>
            <param name="key">The index.</param>
            <exception cref="T:SlugBase.JsonException"><paramref name="key"/> is out of range or is not the right type.</exception>
        </member>
        <member name="M:SlugBase.JsonList.GetString(System.Int32)">
            <summary>Get a <see cref="T:System.String"/> from this list.</summary>
            <param name="key">The index.</param>
            <exception cref="T:SlugBase.JsonException"><paramref name="key"/> is out of range or is not the right type.</exception>
        </member>
        <member name="M:SlugBase.JsonList.GetBool(System.Int32)">
            <summary>Get a <see cref="T:System.Boolean"/> from this list.</summary>
            <param name="key">The index.</param>
            <exception cref="T:SlugBase.JsonException"><paramref name="key"/> is out of range or is not the right type.</exception>
        </member>
        <member name="P:SlugBase.JsonList.Count">
            <summary>
            Get the number of elements in this list.
            </summary>
        </member>
        <member name="P:SlugBase.JsonList.Item(System.Int32)">
            <summary>
            Get an element from this list.
            </summary>
            <param name="key">The index.</param>
            <returns>The found value.</returns>
            <exception cref="T:SlugBase.JsonException"><paramref name="key"/> is out of range.</exception>
        </member>
        <member name="M:SlugBase.JsonList.op_Implicit(SlugBase.JsonList)~SlugBase.JsonAny">
            <summary>
            Get <paramref name="list"/> as a <see cref="T:SlugBase.JsonAny"/>.
            </summary>
        </member>
        <member name="M:SlugBase.JsonList.GetEnumerator">
            <summary>
            Gets an enumerator for all elements of this list.
            </summary>
        </member>
        <member name="T:SlugBase.JsonException">
            <summary>
            Represents errors that occur when accessing JSON data.
            </summary>
        </member>
        <member name="P:SlugBase.JsonException.JsonPath">
            <summary>
            The path to the element that failed to parse, starting from the root object.
            </summary>
        </member>
        <member name="M:SlugBase.JsonException.#ctor(SlugBase.JsonAny)">
            <summary>Initializes a new instance of the <see cref="T:SlugBase.JsonException"/> class with a path to the invalid element.</summary>
        </member>
        <member name="M:SlugBase.JsonException.#ctor(System.String,SlugBase.JsonAny)">
            <summary>Initializes a new instance of the <see cref="T:SlugBase.JsonException"/> class with a specified error message
            and a path to the invalid element.</summary>
        </member>
        <member name="M:SlugBase.JsonException.#ctor(System.String,System.Exception,SlugBase.JsonAny)">
            <summary>Initializes a new instance of the <see cref="T:SlugBase.JsonException"/> class with a specified error message,
            a reference to the inner exception that is the cause of this exception, and a path to the invalid element.</summary>
        </member>
        <member name="T:SlugBase.JsonParseException">
            <summary>
            Represents errors that occur when parsing JSON data.
            </summary>
        </member>
        <member name="P:SlugBase.JsonParseException.CharIndex">
            <summary>
            The offset in the input string that the error occurred at.
            </summary>
        </member>
        <member name="P:SlugBase.JsonParseException.Line">
            <summary>
            The line in the input string that the error occurred at.
            </summary>
        </member>
        <member name="T:SlugBase.JsonRegistry`2">
            <summary>
            Represents a collection of values with unique IDs that can be loaded from JSON.
            </summary>
            <typeparam name="TKey">The type of the <see cref="T:ExtEnum`1"/> keys.</typeparam>
            <typeparam name="TValue">The type of the values.</typeparam>
        </member>
        <member name="E:SlugBase.JsonRegistry`2.EntryReloaded">
            <summary>
            Occurs when a loaded JSON file is modified while <see cref="P:SlugBase.JsonRegistry`2.WatchForChanges"/> is set.
            </summary>
        </member>
        <member name="E:SlugBase.JsonRegistry`2.LoadFailed">
            <summary>
            Occurs when a JSON file fails to load or reload.
            </summary>
        </member>
        <member name="P:SlugBase.JsonRegistry`2.WatchForChanges">
            <summary>
            Whether this registry should track files to reload.
            Call <see cref="M:SlugBase.JsonRegistry`2.ReloadChangedFiles"/> to apply changes.
            </summary>
        </member>
        <member name="P:SlugBase.JsonRegistry`2.Keys">
            <summary>
            A collection of all keys used by this registry.
            </summary>
        </member>
        <member name="P:SlugBase.JsonRegistry`2.Values">
            <summary>
            A collection of all values registered.
            </summary>
        </member>
        <member name="M:SlugBase.JsonRegistry`2.#ctor(System.Func{`0,SlugBase.JsonObject,`1})">
            <summary>
            Create a new registry.
            </summary>
            <param name="fromJson">The factory that creates values from JSON.</param>
        </member>
        <member name="M:SlugBase.JsonRegistry`2.ScanDirectory(System.String)">
            <summary>
            Register all JSON files in a directory using <see cref="M:SlugBase.JsonRegistry`2.AddFromFile(System.String)"/>.
            </summary>
            <param name="directory">The directory to search.</param>
        </member>
        <member name="M:SlugBase.JsonRegistry`2.AddFromFile(System.String)">
            <summary>
            Parse a file as JSON and link it to a new <see cref="T:ExtEnum`1"/> ID.
            </summary>
            <param name="path">The file path to the json.</param>
            <returns>The registered key and value.</returns>
        </member>
        <member name="M:SlugBase.JsonRegistry`2.TryAddFromFile(System.String)">
            <summary>
            Parse a file as JSON and link it to a new <see cref="T:ExtEnum`1"/> ID.
            Load errors can be monitored with <see cref="E:SlugBase.JsonRegistry`2.LoadFailed"/>.
            </summary>
            <param name="path">The file path to the json.</param>
            <returns>The registered key and value, or <c>null</c> if loading failed.</returns>
        </member>
        <member name="M:SlugBase.JsonRegistry`2.Add(SlugBase.JsonObject)">
            <summary>
            Load a <typeparamref name="TValue"/> from JSON and link it to a new <see cref="T:ExtEnum`1"/> ID.
            </summary>
            <param name="json">The json data for the new object.</param>
            <returns>The registered key and value.</returns>
        </member>
        <member name="M:SlugBase.JsonRegistry`2.Remove(`0)">
            <summary>
            Unregister a value.
            </summary>
            <param name="id"></param>
            <exception cref="T:System.ArgumentNullException"></exception>
            <exception cref="T:System.ArgumentException"></exception>
        </member>
        <member name="M:SlugBase.JsonRegistry`2.TryGet(`0,`1@)">
            <summary>
            Get a registered value by key.
            </summary>
            <param name="id">The unique ID of the value.</param>
            <param name="value">The registered value with the unique ID.</param>
            <returns><c>true</c> if the value was found, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:SlugBase.JsonRegistry`2.GetOrDefault(`0)">
            <summary>
            Get a registered value by key.
            </summary>
            <param name="id">The unique ID of the value.</param>
            <returns>The registered value with the unique ID.</returns>
        </member>
        <member name="M:SlugBase.JsonRegistry`2.TryGetPath(`0,System.String@)">
            <summary>
            Gets the path to a registered value by key.
            </summary>
            <param name="id">The unique ID of the value.</param>
            <param name="path">The path to the value's JSON file.</param>
            <returns><c>true</c> if the value was found and has a path, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:SlugBase.JsonRegistry`2.ReloadChangedFiles">
            <summary>
            Reload all JSON files that have been modified.
            </summary>
        </member>
        <member name="T:SlugBase.JsonRegistry`2.ReloadedEventArgs">
            <summary>
            Provides data for the <see cref="E:SlugBase.JsonRegistry`2.EntryReloaded"/> event.
            </summary>
        </member>
        <member name="P:SlugBase.JsonRegistry`2.ReloadedEventArgs.Key">
            <summary>
            The unique key of the reloaded entry.
            </summary>
        </member>
        <member name="P:SlugBase.JsonRegistry`2.ReloadedEventArgs.Value">
            <summary>
            The reloaded entry.
            </summary>
        </member>
        <member name="T:SlugBase.JsonRegistry`2.LoadErrorEventArgs">
            <summary>
            Provides data for the <see cref="E:SlugBase.JsonRegistry`2.LoadFailed"/> event.
            </summary>
        </member>
        <member name="P:SlugBase.JsonRegistry`2.LoadErrorEventArgs.Exception">
            <summary>
            The exception that caused this event, or <c>null</c> if it was not from an exception.
            </summary>
        </member>
        <member name="P:SlugBase.JsonRegistry`2.LoadErrorEventArgs.ErrorMessage">
            <summary>
            An error message that may be shown to the user.
            </summary>
        </member>
        <member name="P:SlugBase.JsonRegistry`2.LoadErrorEventArgs.Path">
            <summary>
            The path to the file that errored, or <c>null</c> if it was not loaded from a file.
            </summary>
        </member>
        <member name="T:SlugBase.JsonUtils">
            <summary>
            Converts <see cref="T:SlugBase.JsonAny"/> to other types.
            </summary>
        </member>
        <member name="M:SlugBase.JsonUtils.ToLong(SlugBase.JsonAny)">
            <summary>Convert to <see cref="T:System.Int64"/>.</summary>
        </member>
        <member name="M:SlugBase.JsonUtils.ToInt(SlugBase.JsonAny)">
            <summary>Convert to <see cref="T:System.Int32"/>.</summary>
        </member>
        <member name="M:SlugBase.JsonUtils.ToDouble(SlugBase.JsonAny)">
            <summary>Convert to <see cref="T:System.Double"/>.</summary>
        </member>
        <member name="M:SlugBase.JsonUtils.ToFloat(SlugBase.JsonAny)">
            <summary>Convert to <see cref="T:System.Single"/>.</summary>
        </member>
        <member name="M:SlugBase.JsonUtils.ToString(SlugBase.JsonAny)">
            <summary>Convert to <see cref="T:System.String"/>.</summary>
        </member>
        <member name="M:SlugBase.JsonUtils.ToBool(SlugBase.JsonAny)">
            <summary>Convert to <see cref="T:System.Boolean"/>.</summary>
        </member>
        <member name="M:SlugBase.JsonUtils.ToColor(SlugBase.JsonAny)">
            <summary>
            Convert to <see cref="T:UnityEngine.Color"/>.
            </summary>
            <remarks>
            This may be a hex string or equivalent integer; list of components; or object with "r", "g", "b", and possibly "a" properties.
            </remarks>
        </member>
        <member name="M:SlugBase.JsonUtils.ToPlayerColor(SlugBase.JsonAny)">
            <summary>Convert to <see cref="T:SlugBase.DataTypes.PlayerColor"/> via <see cref="M:SlugBase.DataTypes.PlayerColor.#ctor(SlugBase.JsonAny)"/>.</summary>
        </member>
        <member name="M:SlugBase.JsonUtils.ToLongs(SlugBase.JsonAny)">
            <summary>Convert list to <see cref="T:System.Int64"/>[].</summary>
        </member>
        <member name="M:SlugBase.JsonUtils.ToInts(SlugBase.JsonAny)">
            <summary>Convert list to <see cref="T:System.Int32"/>[].</summary>
        </member>
        <member name="M:SlugBase.JsonUtils.ToDoubles(SlugBase.JsonAny)">
            <summary>Convert list to <see cref="T:System.Double"/>[].</summary>
        </member>
        <member name="M:SlugBase.JsonUtils.ToFloats(SlugBase.JsonAny)">
            <summary>Convert list to <see cref="T:System.Single"/>[].</summary>
        </member>
        <member name="M:SlugBase.JsonUtils.ToStrings(SlugBase.JsonAny)">
            <summary>Convert list to <see cref="T:System.String"/>[].</summary>
        </member>
        <member name="M:SlugBase.JsonUtils.ToEnum``1(SlugBase.JsonAny)">
            <summary>Convert to <see cref="T:System.Enum"/> value.</summary>
        </member>
        <member name="M:SlugBase.JsonUtils.ToExtEnum``1(SlugBase.JsonAny)">
            <summary>
            Convert to <see cref="T:ExtEnum`1"/> value.
            </summary>
            <remarks>
            <see cref="P:ExtEnumBase.Index"/> will be -1 for values that could not be parsed.
            </remarks>
        </member>
        <member name="M:SlugBase.JsonUtils.ToVector2(SlugBase.JsonAny)">
            <summary>
            Convert to <see cref="T:UnityEngine.Vector2"/>
            </summary>
            <remarks>
            This may be a list of components or an object with "x" and "y" properties.
            </remarks>
        </member>
        <member name="T:SlugBase.SlugBaseCharacter">
            <summary>
            A character added by SlugBase.
            </summary>
        </member>
        <member name="P:SlugBase.SlugBaseCharacter.Registry">
            <summary>
            Stores all registered <see cref="T:SlugBase.SlugBaseCharacter"/>s.
            </summary>
        </member>
        <member name="E:SlugBase.SlugBaseCharacter.Refreshed">
            <summary>
            Occurs when any <see cref="T:SlugBase.SlugBaseCharacter"/>'s JSON file is modified, after all features have been loaded.
            </summary>
            <remarks>
            This event is only raised when in-game.
            </remarks>
        </member>
        <member name="M:SlugBase.SlugBaseCharacter.TryGet(SlugcatStats.Name,SlugBase.SlugBaseCharacter@)">
            <summary>
            Gets a <see cref="T:SlugBase.SlugBaseCharacter"/> by <paramref name="name"/>.
            </summary>
            <param name="name">The <see cref="T:SlugcatStats.Name"/> to search for.</param>
            <param name="character">The <see cref="T:SlugBase.SlugBaseCharacter"/> with the given <paramref name="name"/>, or <c>null</c> if it was not found.</param>
            <returns><c>true</c> if the <see cref="T:SlugBase.SlugBaseCharacter"/> was found, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:SlugBase.SlugBaseCharacter.Get(SlugcatStats.Name)">
            <summary>
            Gets a <see cref="T:SlugBase.SlugBaseCharacter"/> by <paramref name="name"/>.
            </summary>
            <param name="name">The <see cref="T:SlugcatStats.Name"/> to search for.</param>
            <returns>The <see cref="T:SlugBase.SlugBaseCharacter"/>, or <c>null</c> if it was not found.</returns>
        </member>
        <member name="P:SlugBase.SlugBaseCharacter.Name">
            <summary>
            This character's unique name.
            </summary>
        </member>
        <member name="P:SlugBase.SlugBaseCharacter.DisplayName">
            <summary>
            The displayed name of this character, such as "The Survivor", "The Monk", or "The Hunter".
            </summary>
        </member>
        <member name="P:SlugBase.SlugBaseCharacter.Description">
            <summary>
            A description of this character that appears on the select menu.
            </summary>
        </member>
        <member name="P:SlugBase.SlugBaseCharacter.Features">
            <summary>
            Settings, abilities, or other <see cref="T:SlugBase.Features.Feature"/>s of this character.
            </summary>
        </member>
        <member name="T:SlugBase.SlugBaseCharacter.FeatureList">
            <summary>
            Stores the <see cref="T:SlugBase.Features.Feature"/>s of a <see cref="T:SlugBase.SlugBaseCharacter"/>.
            </summary>
        </member>
        <member name="M:SlugBase.SlugBaseCharacter.FeatureList.TryGet``1(SlugBase.Features.Feature{``0},``0@)">
            <summary>
            Get the value of a <see cref="T:SlugBase.Features.Feature`1"/>.
            </summary>
            <typeparam name="T">The <see cref="T:SlugBase.Features.Feature`1"/>'s data type.</typeparam>
            <param name="feature">The feature to get data from.</param>
            <param name="value">The feature's data, or <typeparamref name="T"/>'s default value if it was not found.</param>
            <returns><c>true</c> if the feature was found, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:SlugBase.SlugBaseCharacter.FeatureList.Contains(SlugBase.Features.Feature)">
            <summary>
            Check this list for a <see cref="T:SlugBase.Features.Feature"/>.
            </summary>
            <param name="feature">The <see cref="T:SlugBase.Features.Feature"/> to check for.</param>
            <returns><c>true</c> if <paramref name="feature"/> was found, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:SlugBase.SlugBaseCharacter.FeatureList.GetEnumerator">
            <summary>
            Returns an enumerator that iterates through all features in this collection.
            </summary>
        </member>
        <member name="T:SlugBase.SlugBaseCharacter.RefreshEventArgs">
            <summary>
            Provides data for the <see cref="E:SlugBase.SlugBaseCharacter.Refreshed"/> event.
            </summary>
        </member>
        <member name="P:SlugBase.SlugBaseCharacter.RefreshEventArgs.Game">
            <summary>
            The current <see cref="T:RainWorldGame"/>.
            </summary>
        </member>
        <member name="P:SlugBase.SlugBaseCharacter.RefreshEventArgs.ID">
            <summary>
            The ID of the reloaded <see cref="T:SlugBase.SlugBaseCharacter"/>.
            </summary>
        </member>
        <member name="P:SlugBase.SlugBaseCharacter.RefreshEventArgs.Character">
            <summary>
            The reloaded <see cref="T:SlugBase.SlugBaseCharacter"/>.
            </summary>
        </member>
    </members>
</doc>
