public void ApplySkillButtonData(SkillStatus skills, bool onEnable, bool onSkillLock, CharacterStateControl selectCharacter, int useCount)
    {
        List <ExtraEffectStatus> extraEffectStatus    = BattleStateManager.current.battleStateData.extraEffectStatus;
        List <ExtraEffectStatus> invocationList       = ExtraEffectStatus.GetInvocationList(extraEffectStatus, EffectStatusBase.EffectTriggerType.Usually);
        AffectEffectProperty     affectEffectProperty = skills.GetAffectEffectFirst();

        foreach (AffectEffectProperty affectEffectProperty2 in skills.affectEffect)
        {
            if (affectEffectProperty2.ThisSkillIsAttack)
            {
                affectEffectProperty = affectEffectProperty2;
                break;
            }
        }
        int num = 0;

        if (AffectEffectProperty.IsDamage(affectEffectProperty.type))
        {
            num = ExtraEffectStatus.GetSkillPowerCorrectionValue(invocationList, affectEffectProperty, selectCharacter);
        }
        float num2 = ExtraEffectStatus.GetSkillHitRateCorrectionValue(invocationList, affectEffectProperty, selectCharacter);

        num2                       = Mathf.Clamp01(num2);
        this.skillType             = skills.skillType;
        this.skillName.text        = skills.name;
        this.skillDescription.text = skills.description;
        int    num3    = (int)Math.Round((double)(num2 * 100f), MidpointRounding.AwayFromZero);
        string @string = StringMaster.GetString("SystemPercent");

        this.hitRate.text = string.Format(@string, num3);
        this.power.text   = num.ToString();
        int correctedAp = skills.GetCorrectedAp(selectCharacter);

        if (correctedAp <= selectCharacter.ap)
        {
            this.ap.text = string.Format(StringMaster.GetString("BattleSkillUI-01"), correctedAp);
        }
        else
        {
            this.ap.text = StringMaster.GetString("BattleSkillUI-02");
        }
        if (skills.useCountValue > 0)
        {
            this.SetSkillUseCount(useCount);
        }
        this.SetAttributeIcon(skills.attribute);
        if (onSkillLock)
        {
            this.SetButtonType(BattleSkillBtn.Type.Invalid);
            this.SetSkillLock(onSkillLock);
        }
        else if (onEnable)
        {
            this.SetButtonType(BattleSkillBtn.Type.Off);
            this.SetSkillLock(false);
        }
        else
        {
            this.SetButtonType(BattleSkillBtn.Type.Invalid);
            this.SetSkillLock(false);
        }
    }