Table of Contents

Namespace ElectricDrill.SoapRpgFramework.Utils

Classes

BoundedValue

Abstract base class for values that can be bounded by minimum and maximum limits. Provides functionality to define optional min/max constraints and clamp values within those bounds.

Cache<KType, VType>

A generic cache class that provides basic caching functionality.

ExcludeFromDerivedTypePickerAttribute
GrowthFormula

Represents a formula to calculate growth values for different levels, up to a maximum level.

GrowthFormulaMenuItems

Provides a menu item in the Unity Editor to create a GrowthFormula asset.

InitializationUtils

Provides utility methods for initializing and refreshing collections during object setup. Contains helper methods commonly used during component initialization and validation.

IntRef

A reference to an integer value. Can either be a constant value or a reference to an IntVar ScriptableObject.

IntVar

ScriptableObject that holds an integer value. Can be used to share an integer value between different GameObjects and scenes.

LongRef

A reference to a long value. Can either be a constant value or a reference to a LongVar ScriptableObject.

LongVar

ScriptableObject that holds a long value. Can be used to share a long value between different GameObjects and scenes.

Percentage

The Percentage class represents a percentage value and provides various operators and conversions.
Implicit long to Percentage value conversion is available. To express a 100% value, use 100L.
Implicit Percentage to double conversion is available. When doing so, the percentage is automatically divided by 100.

SerializableDictionary<TKey, TValue>

A serializable dictionary implementation that can be displayed and edited in the Unity Inspector. Provides all standard dictionary functionality while maintaining Unity serialization compatibility.

SerializableHashSet<T>

A serializable hash set implementation that can be displayed and edited in the Unity Inspector. Provides all standard hash set functionality while maintaining Unity serialization compatibility.

Structs

SerKeyValPair<T, U>

A serializable key-value pair structure that can be used in Unity's inspector. Provides implicit conversion to and from the standard KeyValuePair.

Interfaces

IValueContainer<T>

Interface for objects that can contain and query values. Provides a standardized way to check for value containment across different value containers.

IValueProvider<KeyType, ReturnType>

Provides a method to retrieve a value based on a key.