public virtual bool IsFirable(Automaton firer) { if (priority > 0 && firer.IsInMotion()) { return false; } if (condition != null && !condition(firer)) { return false; } if (remainCooltime > 0) { return false; } return true; }
public virtual bool IsFirable(Automaton firer) { if (manaConsume > 0) { Assert.IsTrue(firer is HeroCharacter); if (firer.Status.Get(HeroCharacter.Character.MP) < manaConsume) { return false; } } if (globalCooltimeManager != null && globalCooltimeManager.RemainRatio > 0) { return false; } if (priority > 0 && firer.IsInMotion()) { return false; } if (condition != null && !condition(firer)) { return false; } if (remainCooltime > 0) { return false; } return true; }