52 lines
1.6 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
// ============================================================================
// 5. EASY MIGRATION HELPER - Update Your Existing Components
// ============================================================================
/// <summary>
/// Helper to easily convert your existing ability references
/// Just change "BaseAbility" to "RuntimeAbilityInstance" in your existing scripts
/// </summary>
public static class AbilityMigrationHelper
{
/// <summary>
/// Convert a BaseAbility to RuntimeAbilityInstance
/// </summary>
public static RuntimeAbilityInstance ToRuntime(this BaseAbility ability)
{
return new RuntimeAbilityInstance(ability);
}
/// <summary>
/// Create a modified version of an ability
/// </summary>
public static RuntimeAbilityInstance CreateModifiedVersion(BaseAbility baseAbility, params AbilityModifier[] modifiers)
{
var runtime = new RuntimeAbilityInstance(baseAbility);
foreach (var modifier in modifiers)
{
runtime.AddModifier(modifier);
}
return runtime;
}
/// <summary>
/// Create legendary version with special behaviors
/// </summary>
public static RuntimeAbilityInstance CreateLegendaryVersion(BaseAbility baseAbility, params RuntimeBehavior[] behaviors)
{
var runtime = new RuntimeAbilityInstance(baseAbility);
foreach (var behavior in behaviors)
{
runtime.AddBehavior(behavior);
}
return runtime;
}
}