ObjectModifiers

ObjectModifiers#

NAMESPACE:

UnityUtils.ScriptUtils.Objects

The ObjectModifiers script is used in turn with ObjectModifierData to apply modifiers to variables. See ModifierType to check out the modifier types

Example Usage#

using UnityEngine;
using UnityUtils.ScriptUtils.Objects;

public class ExampleScript : MonoBehaviour
{
     public float health;
     public ObjectModifiers<float> healthModifiers = new();

     void Start()
     {
        // Apply modifiers.
        healthModifiers.AddModifier(new ObjectModifierData<float>(ModifierType.Flat, 12));
        healthModifiers.AddModifier(new ObjectModifierData<float>(ModifierType.Multiply, 5));
        healthModifiers.AddModifier(new ObjectModifierData<float>(ModifierType.Divide, 4));

        // Print modifiers + modifier order.
        healthModifiers.PrintModifierOrder();
        healthModifiers.PrintModifiers();

        // Calculate modifiers with a value of 1.
        Debug.Log("Value of 1: " + healthModifiers.CalculateModifiers(1)); // Prints 16.25

        // Calculate modifiers with a value of 5.
        Debug.Log("Value of 5: " + healthModifiers.CalculateModifiers(1)); // Prints 21.25

        // Adds a modifier temporarily for 1 second.
        healthModifiers.AddTemporaryModifier(new ObjectModifierData<float>(ModifierType.Flat, 3), 1);
     }
}

Functions#

Warning

doxygenclass: Cannot find class “UnityUtils::ScriptUtils::Objects::ObjectModifiers” in doxygen xml output for project “UnityUtils” from directory: /home/docs/checkouts/readthedocs.org/user_builds/mydimons-unity-utils/checkouts/latest/docs/source/doxygen/xml