53 lines
1.7 KiB
C#
53 lines
1.7 KiB
C#
|
//资质比计算类,用于计算装备资质比
|
|||
|
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<int, Key_Value> equipQua = new Dictionary<int, Key_Value>();
|
|||
|
|
|||
|
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;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|