134 lines
3.1 KiB
C#
134 lines
3.1 KiB
C#
|
using System;
|
|||
|
using System.Collections.Generic;
|
|||
|
using ET;
|
|||
|
using Sirenix.OdinInspector;
|
|||
|
|
|||
|
namespace Cal
|
|||
|
{
|
|||
|
public enum AbilityType
|
|||
|
{
|
|||
|
[LabelText("普通")]
|
|||
|
GeneralAbility = 1,
|
|||
|
[LabelText("引导")]
|
|||
|
ChannelAbility = 1<<1,
|
|||
|
[LabelText("被动")]
|
|||
|
PassiveAblity = 1<<2,
|
|||
|
[LabelText("开关")]
|
|||
|
ToggleAbility = 1<<3,
|
|||
|
}
|
|||
|
#region Ability
|
|||
|
public abstract class Ability
|
|||
|
{
|
|||
|
public abstract AbilityType abilityType { get; }
|
|||
|
public abstract void OnAbilityInit();
|
|||
|
public virtual void OnAbilityStart() { }
|
|||
|
public virtual void OnAbilitySpell() { }
|
|||
|
public virtual void OnAbilityFinish() { }
|
|||
|
public virtual void OnAbilityChannelStart() { }
|
|||
|
public virtual void OnAbilityChannelThink() { }
|
|||
|
public virtual void OnAbilityChannelFinish() { }
|
|||
|
public virtual void OnAbilityToggleOn() { }
|
|||
|
public virtual void OnAbilityToggleOff() { }
|
|||
|
}
|
|||
|
public class GeneralAbility : Ability
|
|||
|
{
|
|||
|
public override AbilityType abilityType => AbilityType.ChannelAbility;
|
|||
|
|
|||
|
public int castPoint;
|
|||
|
public override void OnAbilityInit()
|
|||
|
{
|
|||
|
|
|||
|
}
|
|||
|
public override void OnAbilityStart()
|
|||
|
{
|
|||
|
base.OnAbilityStart();
|
|||
|
}
|
|||
|
public override void OnAbilitySpell()
|
|||
|
{
|
|||
|
base.OnAbilitySpell();
|
|||
|
}
|
|||
|
public override void OnAbilityFinish()
|
|||
|
{
|
|||
|
base.OnAbilityFinish();
|
|||
|
}
|
|||
|
}
|
|||
|
public class ChannelAbility : Ability
|
|||
|
{
|
|||
|
public override AbilityType abilityType => AbilityType.ChannelAbility;
|
|||
|
|
|||
|
public int castPoint;
|
|||
|
public int channelInterval;
|
|||
|
public int channelTime;
|
|||
|
|
|||
|
public override void OnAbilityInit()
|
|||
|
{
|
|||
|
|
|||
|
}
|
|||
|
public override void OnAbilitySpell()
|
|||
|
{
|
|||
|
base.OnAbilitySpell();
|
|||
|
}
|
|||
|
|
|||
|
public override void OnAbilityChannelStart()
|
|||
|
{
|
|||
|
base.OnAbilityChannelStart();
|
|||
|
}
|
|||
|
public override void OnAbilityChannelThink()
|
|||
|
{
|
|||
|
base.OnAbilityChannelThink();
|
|||
|
}
|
|||
|
public override void OnAbilityChannelFinish()
|
|||
|
{
|
|||
|
base.OnAbilityChannelFinish();
|
|||
|
}
|
|||
|
public override void OnAbilityFinish()
|
|||
|
{
|
|||
|
base.OnAbilityFinish();
|
|||
|
}
|
|||
|
}
|
|||
|
public class PassiveAblity : Ability
|
|||
|
{
|
|||
|
public override AbilityType abilityType => AbilityType.PassiveAblity;
|
|||
|
|
|||
|
public int duration;
|
|||
|
public int cd ;
|
|||
|
|
|||
|
public override void OnAbilityInit()
|
|||
|
{
|
|||
|
|
|||
|
}
|
|||
|
public void StartCooldown()
|
|||
|
{
|
|||
|
|
|||
|
}
|
|||
|
}
|
|||
|
public class ToggleAbility : Ability
|
|||
|
{
|
|||
|
public override AbilityType abilityType => AbilityType.ToggleAbility;
|
|||
|
|
|||
|
public override void OnAbilityInit()
|
|||
|
{
|
|||
|
|
|||
|
}
|
|||
|
public override void OnAbilityToggleOn()
|
|||
|
{
|
|||
|
base.OnAbilityToggleOn();
|
|||
|
}
|
|||
|
public override void OnAbilityToggleOff()
|
|||
|
{
|
|||
|
base.OnAbilityToggleOff();
|
|||
|
}
|
|||
|
}
|
|||
|
#endregion
|
|||
|
#region Buff
|
|||
|
public class Buff
|
|||
|
{
|
|||
|
|
|||
|
}
|
|||
|
public class Modifier:Buff
|
|||
|
{
|
|||
|
|
|||
|
}
|
|||
|
#endregion
|
|||
|
}
|