public object ConfigProcess(string[] row) { if (row.Length < 19) { return(null); } RowHelper rh = new RowHelper(row); DisassemblygirlWeaponConfig rec = new DisassemblygirlWeaponConfig(); rec.id = CSVUtility.ToInt(rh.Read()); //id rec.level = CSVUtility.ToInt(rh.Read()); //级别 rec.name = rh.Read(); //名字 rec.iconID = rh.Read(); //武器图标 rec.ATK = CSVUtility.ToFloat(rh.Read()); //拆解力 rec.CRT = CSVUtility.ToFloat(rh.Read()); //爆破力 rec.SPD = CSVUtility.ToFloat(rh.Read()); //速度 rec.WOE = CSVUtility.ToFloat(rh.Read()); //半径 rec.CD = CSVUtility.ToFloat(rh.Read()); //间隔 rec.RP = CSVUtility.ToInt(rh.Read()); //价格 rec.GP = CSVUtility.ToInt(rh.Read()); //金钱 rec.resourceID = rh.Read(); //资源ID rec.hitEffectID = rh.Read(); //击中效果资源ID rec.audioID = rh.Read(); //音效资源ID rec.offsetX = CSVUtility.ToFloat(rh.Read()); //武器偏移X rec.offsetY = CSVUtility.ToFloat(rh.Read()); //武器偏移Y rec.skillID = CSVUtility.ToInt(rh.Read()); //技能ID rec.physicsType = CSVUtility.ToInt(rh.Read()); //物理类型0:无 | 1:穿透 | 2: 单次弹射|3: 多重弹射 rec.effectors = rh.Read(); //效果器 return(rec); }
public void AddWeapon(int weaponID) { DisassemblygirlWeaponConfig config = ConfigMgr.GetInstance().DisassemblygirlWeapon.GetConfigById(weaponID); if (config != null) { weapons.Add(WeaponData.FromConfig(config)); } }
public bool LevelUP() { if (LevelMax()) { return(false); } DisassemblygirlWeaponConfig config = ConfigMgr.GetInstance().DisassemblygirlWeapon.GetConfigById(id + 1); id = config.id; level = config.level; name = config.name; iconID = config.iconID; attributeBox.SetAttribute(AttributeKeys.ATK, AttributeSetTypes.BaseValue, config.ATK); attributeBox.SetAttribute(AttributeKeys.CRT, AttributeSetTypes.BaseValue, config.CRT); attributeBox.SetAttribute(AttributeKeys.SPD, AttributeSetTypes.BaseValue, config.SPD); WOE = config.WOE; GP = config.GP; RP = config.RP; CD = config.CD; resourceID = config.resourceID; hitEffectID = config.hitEffectID; audioID = config.audioID; offsetX = config.offsetX; offsetY = config.offsetY; physicsType = (PhysicsType)config.physicsType; if (config.skillID != 0) { skillData = SkillData.FromConfig(config.skillID); } effectors.Clear(); foreach (string effectorID in config.effectors.Split('|')) { EffectorData effector = EffectorData.FromConfig(int.Parse(effectorID)); if (effector != null) { effectors.Add(effector); } } return(true); }
public static WeaponData FromConfig(DisassemblygirlWeaponConfig config) { WeaponData weapon = new WeaponData(); weapon.id = config.id; weapon.level = config.level; weapon.name = config.name; weapon.iconID = config.iconID; weapon.attributeBox = AttributeBox.CreateDefault(); weapon.attributeBox.SetAttribute(AttributeKeys.ATK, AttributeSetTypes.BaseValue, config.ATK); weapon.attributeBox.SetAttribute(AttributeKeys.CRT, AttributeSetTypes.BaseValue, config.CRT); weapon.attributeBox.SetAttribute(AttributeKeys.SPD, AttributeSetTypes.BaseValue, config.SPD); weapon.WOE = config.WOE; weapon.CD = config.CD; weapon.GP = config.GP; weapon.RP = config.RP; weapon.resourceID = config.resourceID; weapon.hitEffectID = config.hitEffectID; weapon.audioID = config.audioID; weapon.offsetX = config.offsetX; weapon.offsetY = config.offsetY; weapon.physicsType = (PhysicsType)config.physicsType; if (config.skillID != 0) { weapon.skillData = SkillData.FromConfig(config.skillID); } weapon.effectors = new List <EffectorData>(); foreach (string effectorID in config.effectors.Split('|')) { EffectorData effector = EffectorData.FromConfig(int.Parse(effectorID)); if (effector != null) { weapon.effectors.Add(effector); } } return(weapon); }
public void Load() { CSVReader reader = new CSVReader(); reader.LoadText("Config/Disassemblygirl_Weapon.txt", 3); int rows = reader.GetRowCount(); for (int r = 0; r < rows; ++r) { string[] row = reader.GetRow(r); DisassemblygirlWeaponConfig ac = ConfigProcess(row) as DisassemblygirlWeaponConfig; configs.Add(ac.id, ac); } }