46 lines
1.5 KiB
C#
46 lines
1.5 KiB
C#
using UnityEngine;
|
|
|
|
namespace OctoberStudio.Abilities
|
|
{
|
|
[CreateAssetMenu(fileName = "Shooting Star Ability Data", menuName = "October/Abilities/Active/Shooting Star")]
|
|
public class ShootingStarAbilityData : GenericAbilityData<ShootingStartAbilityLevel>
|
|
{
|
|
private void Awake()
|
|
{
|
|
type = AbilityType.ShootingStar;
|
|
}
|
|
|
|
private void OnValidate()
|
|
{
|
|
type = AbilityType.ShootingStar;
|
|
}
|
|
}
|
|
|
|
[System.Serializable]
|
|
public class ShootingStartAbilityLevel: AbilityLevel
|
|
{
|
|
[Tooltip("This value is multiplied by the damage of the player")]
|
|
[SerializeField, Min(0.1f)] float damage = 1f;
|
|
public float Damage => damage;
|
|
|
|
[Tooltip("Time between spawns of the projectiles")]
|
|
[SerializeField] float abilityCooldown;
|
|
public float AbilityCooldown => abilityCooldown;
|
|
|
|
[Tooltip("Amount of time the projectiles are alive")]
|
|
[SerializeField] float projectileLifetime;
|
|
public float ProjectileLifetime => projectileLifetime;
|
|
|
|
[Tooltip("Amount of projectiles alive at the same time")]
|
|
[SerializeField] int projectilesCount = 2;
|
|
public int ProjectilesCount => projectilesCount;
|
|
|
|
[Tooltip("Distance between the player and the projectiles")]
|
|
[SerializeField] float radius = 2.5f;
|
|
public float Radius => radius;
|
|
|
|
[Tooltip("Rotation spped of projectiles")]
|
|
[SerializeField] float angularSpeed = -200;
|
|
public float AngularSpeed => angularSpeed;
|
|
}
|
|
} |