public EquipData RandEquipProperty(InGameBaseEquip equip) { EquipConf equipConf = ConfigManager.equipConfManager.dic[equip.confid]; EquipConfData propertyData = ConfigManager.equipConfManager.datadic[equip.confid]; List <PropertyConf> propertys = ConfigManager.propertyConfManager.datas; List <EquipProperty> propertyList = new List <EquipProperty>(); EquipQuality quality = equip.quality; for (int i = 0; i < propertyData.propertyList.Count; i++) { PropertyConf propertyConf = ConfigManager.propertyConfManager.dataMap[propertyData.propertyList[i].id]; EquipProperty e = new EquipProperty(); e.id = propertyConf.id; float val = propertyConf.baseval + propertyConf.GetLevelupVal(equip.level); e.val = Mathf.Ceil(val + Random.Range(-val * propertyConf.randomrange, val * propertyConf.randomrange)); e.val = e.val * (propertyData.propertyList[i].rate / 100f); propertyList.Add(e); } for (int i = propertyData.propertyList.Count; i < quality.propertycount; i++) { PropertyConf propertyConf = propertys[Random.Range(0, propertys.Count)]; EquipProperty e = new EquipProperty(); e.id = propertyConf.id; float val = propertyConf.baseval + propertyConf.GetLevelupVal(equip.level); e.val = Mathf.Ceil(val + Random.Range(-val * propertyConf.randomrange, val * propertyConf.randomrange)); propertyList.Add(e); } EquipData equipData = new EquipData( UserDataManager.instance.GetInstanceID(), ConfigManager.equipQualityManager.GetByPropertyCount(propertyList.Count).id, equipConf.id, -1, propertyList); return(equipData); //UserDataManager.instance.AddEquip(equipData); }
public void Load() { if (datas != null) { datas.Clear(); } datas = ConfigManager.Load <EquipConf>(); dic.Clear(); for (int i = 0; i < datas.Count; i++) { EquipConf obj = datas[i]; dic.Add(obj.id, obj); EquipConfData equipConfData = new EquipConfData(); equipConfData.Init(obj.skill, obj.property); datadic.Add(obj.id, equipConfData); allOdds += obj.rate; } }