Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public static void PrepWeaponConfigFile(string name)
- {
- const int version = 10;
- var _info = BWI.GetInfo(name);
- var _power = BWI.GetPower(name);
- var _heat = BWI.GetHeat(name);
- var _damage = BWI.GetDamage(name);
- var _barrels = BWI.GetBarrels(name);
- var dsCfgExists = MyAPIGateway.Utilities.FileExistsInGlobalStorage(name + ".cfg");
- if (dsCfgExists)
- {
- var unPackCfg = MyAPIGateway.Utilities.ReadFileInGlobalStorage(name + ".cfg");
- var unPackedData = MyAPIGateway.Utilities.SerializeFromXML<GSFWeaponEnforcement>(unPackCfg.ReadToEnd());
- if (Session.Enforced.Debug == 3) Log.Line($"unPackedData is: {unPackedData}\nServEnforced are: {Session.Enforced}");
- if (Session.WeaponEnforcement[name].Version == version) return;
- Log.Line($"outdated config file regenerating, file version: {unPackedData.Version} - current version: {version}");
- Session.WeaponEnforcement[name].info.ShotSkip = !unPackedData.info.ShotSkip.Equals(0) ? unPackedData.info.ShotSkip : _info.ShotSkip;
- Session.WeaponEnforcement[name].heat.KAC = !unPackedData.heat.KAC.Equals(0) ? unPackedData.heat.KAC : _heat.KAC;
- Session.WeaponEnforcement[name].heat.HT = !unPackedData.heat.HT.Equals(0) ? unPackedData.heat.HT : _heat.HT;
- Session.WeaponEnforcement[name].heat.RHT = !unPackedData.heat.RHT.Equals(0) ? unPackedData.heat.RHT : _heat.RHT;
- Session.WeaponEnforcement[name].heat.HIPT = !unPackedData.heat.HIPT.Equals(0) ? unPackedData.heat.HIPT : _heat.HIPT;
- Session.WeaponEnforcement[name].heat.RHIPT = !unPackedData.heat.RHIPT.Equals(0) ? unPackedData.heat.RHIPT : _heat.RHIPT;
- Session.WeaponEnforcement[name].heat.HDPT = !unPackedData.heat.HDPT.Equals(0) ? unPackedData.heat.HDPT : _heat.HDPT;
- Session.WeaponEnforcement[name].heat.RHDPT = !unPackedData.heat.RHDPT.Equals(0) ? unPackedData.heat.RHDPT : _heat.RHDPT;
- Session.WeaponEnforcement[name].heat.HID = !unPackedData.heat.HID.Equals(0) ? unPackedData.heat.HID : _heat.HID;
- Session.WeaponEnforcement[name].heat.RHID = !unPackedData.heat.RHID.Equals(0) ? unPackedData.heat.RHID : _heat.RHID;
- Session.WeaponEnforcement[name].heat.HDD = !unPackedData.heat.HDD.Equals(0) ? unPackedData.heat.HDD : _heat.HDD;
- Session.WeaponEnforcement[name].heat.RHDD = !unPackedData.heat.RHDD.Equals(0) ? unPackedData.heat.RHDD : _heat.RHDD;
- Session.WeaponEnforcement[name].power.PD = !unPackedData.power.PI.Equals(0) ? unPackedData.power.PI : _power.PI;
- Session.WeaponEnforcement[name].power.PI = !unPackedData.power.PI.Equals(0) ? unPackedData.power.PI : _power.PI;
- Session.WeaponEnforcement[name].power.PO = !unPackedData.power.PO.Equals(0) ? unPackedData.power.PO : _power.PO;
- Session.WeaponEnforcement[name].damage.BaseDamage = !unPackedData.damage.BaseDamage.Equals(0) ? unPackedData.damage.BaseDamage : _damage.BaseDamage;
- Session.WeaponEnforcement[name].damage.ShieldDamage = !unPackedData.damage.ShieldDamage.Equals(0) ? unPackedData.damage.ShieldDamage : _damage.ShieldDamage;
- Session.WeaponEnforcement[name].damage.SplashDamage = !unPackedData.damage.SplashDamage.Equals(0) ? unPackedData.damage.SplashDamage : _damage.SplashDamage;
- Session.WeaponEnforcement[name].damage.SplashRadius = !unPackedData.damage.SplashRadius.Equals(0) ? unPackedData.damage.SplashRadius : _damage.SplashRadius;
- Session.WeaponEnforcement[name].barrels = !unPackedData.barrels.Count().Equals(0) ? unPackedData.barrels : _barrels;
- Session.WeaponEnforcement[name].Version = version;
- unPackedData = null;
- unPackCfg.Close();
- unPackCfg.Dispose();
- MyAPIGateway.Utilities.DeleteFileInGlobalStorage(name + ".cfg");
- var newCfg = MyAPIGateway.Utilities.WriteFileInGlobalStorage(name + ".cfg");
- var newData = MyAPIGateway.Utilities.SerializeToXML(Session.WeaponEnforcement);
- newCfg.Write(newData);
- newCfg.Flush();
- newCfg.Close();
- Log.Line($"wrote modified config file - file exists: {MyAPIGateway.Utilities.FileExistsInGlobalStorage(name + ".cfg")}");
- }
- else
- {
- Session.WeaponEnforcement[name].info = BWI.GetInfo(name);
- Session.WeaponEnforcement[name].heat = BWI.GetHeat(name);
- Session.WeaponEnforcement[name].power = BWI.GetPower(name);
- Session.WeaponEnforcement[name].damage = BWI.GetDamage(name);
- Session.WeaponEnforcement[name].barrels = BWI.GetBarrels(name);
- Session.WeaponEnforcement[name].Version = version;
- var cfg = MyAPIGateway.Utilities.WriteFileInGlobalStorage(name + ".cfg");
- var data = MyAPIGateway.Utilities.SerializeToXML(Session.WeaponEnforcement);
- cfg.Write(data);
- cfg.Flush();
- cfg.Close();
- Log.Line($"wrote new config file - file exists: {MyAPIGateway.Utilities.FileExistsInGlobalStorage(name + ".cfg")}");
- }
- }
- public static void ReadWeaponConfigFile(string name)
- {
- var dsCfgExists = MyAPIGateway.Utilities.FileExistsInGlobalStorage(name + ".cfg");
- Log.Line($"Reading config, file exists? {dsCfgExists}");
- if (!dsCfgExists) return;
- var cfg = MyAPIGateway.Utilities.ReadFileInGlobalStorage(name + ".cfg");
- var data = MyAPIGateway.Utilities.SerializeFromXML<GSFWeaponEnforcement>(cfg.ReadToEnd());
- Session.WeaponEnforcement[name] = data;
- Log.Line($"Writing settings to mod:\n{data}");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement