54 lines
1.9 KiB
C#
54 lines
1.9 KiB
C#
using UnityEngine;
|
|
|
|
namespace OctoberStudio.Abilities
|
|
{
|
|
[CreateAssetMenu(fileName = "Flying Dagger Ability Data", menuName = "October/Abilities/Active/Flying Dagger")]
|
|
public class FlyingDaggerAbilityData : GenericAbilityData<FlyingDaggerAbilityLevel>
|
|
{
|
|
private void Awake()
|
|
{
|
|
type = AbilityType.FlyingDagger;
|
|
}
|
|
|
|
private void OnValidate()
|
|
{
|
|
type = AbilityType.FlyingDagger;
|
|
}
|
|
}
|
|
|
|
[System.Serializable]
|
|
public class FlyingDaggerAbilityLevel : AbilityLevel
|
|
{
|
|
[Tooltip("Amount of daggers spawned at the same time")]
|
|
[SerializeField] int projectileCount;
|
|
public int ProjectileCount => projectileCount;
|
|
|
|
[Tooltip("Amount of time before dagger disappears")]
|
|
[SerializeField] float projectileLifetime;
|
|
public float ProjectileLifetime => projectileLifetime;
|
|
|
|
[Tooltip("Amount of time between throwig daggers in one attack")]
|
|
[SerializeField] float timeBetweenProjectiles;
|
|
public float TimeBetweenProjectiles => timeBetweenProjectiles;
|
|
|
|
[Tooltip("Amount of time between attacks")]
|
|
[SerializeField] float abilityCooldown;
|
|
public float AbilityCooldown => abilityCooldown;
|
|
|
|
[Tooltip("Force that will be applied to the dagger's rigidbody")]
|
|
[SerializeField] float throwingForce;
|
|
public float ThrowingForce => throwingForce;
|
|
|
|
[Tooltip("How much will the throwing force deviate from the Vector2.up vector")]
|
|
[SerializeField] float spread;
|
|
public float Spread => spread;
|
|
|
|
[Tooltip("Damage of the boomerang calculates as 'Damage = Player.Damage * Damage'")]
|
|
[SerializeField] float damage;
|
|
public float Damage => damage;
|
|
|
|
[Tooltip("Size of the boomerang")]
|
|
[SerializeField] float projectileSize;
|
|
public float ProjectileSize => projectileSize;
|
|
}
|
|
} |