public _Status IsReady() { if (currentCD > 0) { return(_Status.OnCooldown); } if (UseLimitReached()) { return(_Status.UseLimitReached); } if (AbilityManager.UseRscManagerForCost() && !RscManager.HasSufficientRsc(GetCostRsc())) { return(_Status.InsufficientRsc); } if (!AbilityManager.UseRscManagerForCost() && !AbilityManager.HasSufficientRsc(GetCost())) { return(_Status.InsufficientRsc); } return(_Status.Ready); }