41 lines
1.1 KiB
C#
41 lines
1.1 KiB
C#
using System;
|
|
using Gamesmiths.Forge.Abilities;
|
|
using Gamesmiths.Forge.Cues;
|
|
using Gamesmiths.Forge.Effects;
|
|
using Gamesmiths.Forge.Effects.Components;
|
|
using Gamesmiths.Forge.Effects.Duration;
|
|
using Gamesmiths.Forge.Effects.Magnitudes;
|
|
using Gamesmiths.Forge.Effects.Modifiers;
|
|
using Gamesmiths.Forge.Tags;
|
|
using Godot;
|
|
using Movementtests.interfaces;
|
|
|
|
namespace Movementtests.forge.abilities;
|
|
|
|
[GlobalClass]
|
|
public partial class RAbilityBase(float cost, float cooldown) : Resource, IAbilityBase
|
|
{
|
|
[Export(PropertyHint.Range, "0,100,1,or_greater")]
|
|
public float Cost { get; set; } = cost;
|
|
[Export(PropertyHint.Range, "0,10,0.1,or_greater")]
|
|
public float Cooldown { get; set; } = cooldown;
|
|
|
|
public RAbilityBase() : this(20.0f, 0.0f)
|
|
{
|
|
}
|
|
|
|
public virtual AbilityData Ability(TagsManager tagsManager, Node3D owner)
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
|
|
public virtual EffectData CostEffect(TagsManager tagsManager)
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
|
|
public virtual EffectData CooldownEffect(TagsManager tagsManager)
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
} |