//资质比计算类,用于计算装备资质比 using Thousandto.Cfg.Data; using Thousandto.Code.Global; using MSG_backpack; using System; using System.Collections.Generic; namespace Thousandto.Code.Logic { public class EquipQuality { private bool _isInit = false; private static EquipQuality instance = new EquipQuality(); private Dictionary equipQua = new Dictionary(); private void OnInit() { _isInit = true; var global = DeclareGlobal.Get(1050); var stts = global.Params.Split(GameDefine.SplitSemicolon, StringSplitOptions.RemoveEmptyEntries); for(int i = 0; i < stts.Length; i++) { var attrs = stts[i].Split(GameDefine.SplitUnderline, StringSplitOptions.RemoveEmptyEntries); if(attrs.Length == 3) { int iType = int.Parse(attrs[0]); int baseAttr = int.Parse(attrs[1]); int growAttr = int.Parse(attrs[2]); Key_Value value = new Key_Value(); value.key = baseAttr; value.value = growAttr; equipQua.Add(iType, value); } } } public static float GetQualityNum(int iType, ulong Num) { if(!instance._isInit) { instance.OnInit(); } float qualityNum = 0; if(Num > (ulong)instance.equipQua[iType].value) { qualityNum = (float)(Num - (ulong)instance.equipQua[iType].value) / instance.equipQua[iType].key * 10; } return qualityNum; } } }