Advertisement
Zader

Prep Config

Jan 21st, 2019
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 6.00 KB | None | 0 0
  1.         public static void PrepWeaponConfigFile(string name)
  2.         {
  3.             const int version = 10;
  4.  
  5.             var _info = BWI.GetInfo(name);
  6.             var _power = BWI.GetPower(name);
  7.             var _heat = BWI.GetHeat(name);
  8.             var _damage = BWI.GetDamage(name);
  9.             var _barrels = BWI.GetBarrels(name);
  10.  
  11.             var dsCfgExists = MyAPIGateway.Utilities.FileExistsInGlobalStorage(name + ".cfg");
  12.             if (dsCfgExists)
  13.             {
  14.                 var unPackCfg = MyAPIGateway.Utilities.ReadFileInGlobalStorage(name + ".cfg");
  15.                 var unPackedData = MyAPIGateway.Utilities.SerializeFromXML<GSFWeaponEnforcement>(unPackCfg.ReadToEnd());
  16.  
  17.                 if (Session.Enforced.Debug == 3) Log.Line($"unPackedData is: {unPackedData}\nServEnforced are: {Session.Enforced}");
  18.  
  19.                 if (Session.WeaponEnforcement[name].Version == version) return;
  20.                 Log.Line($"outdated config file regenerating, file version: {unPackedData.Version} - current version: {version}");
  21.  
  22.                 Session.WeaponEnforcement[name].info.ShotSkip = !unPackedData.info.ShotSkip.Equals(0) ? unPackedData.info.ShotSkip : _info.ShotSkip;
  23.  
  24.                 Session.WeaponEnforcement[name].heat.KAC = !unPackedData.heat.KAC.Equals(0) ? unPackedData.heat.KAC : _heat.KAC;
  25.  
  26.                 Session.WeaponEnforcement[name].heat.HT = !unPackedData.heat.HT.Equals(0) ? unPackedData.heat.HT : _heat.HT;
  27.                 Session.WeaponEnforcement[name].heat.RHT = !unPackedData.heat.RHT.Equals(0) ? unPackedData.heat.RHT : _heat.RHT;
  28.  
  29.                 Session.WeaponEnforcement[name].heat.HIPT = !unPackedData.heat.HIPT.Equals(0) ? unPackedData.heat.HIPT : _heat.HIPT;
  30.                 Session.WeaponEnforcement[name].heat.RHIPT = !unPackedData.heat.RHIPT.Equals(0) ? unPackedData.heat.RHIPT : _heat.RHIPT;
  31.  
  32.                 Session.WeaponEnforcement[name].heat.HDPT = !unPackedData.heat.HDPT.Equals(0) ? unPackedData.heat.HDPT : _heat.HDPT;
  33.                 Session.WeaponEnforcement[name].heat.RHDPT = !unPackedData.heat.RHDPT.Equals(0) ? unPackedData.heat.RHDPT : _heat.RHDPT;
  34.  
  35.                 Session.WeaponEnforcement[name].heat.HID = !unPackedData.heat.HID.Equals(0) ? unPackedData.heat.HID : _heat.HID;
  36.                 Session.WeaponEnforcement[name].heat.RHID = !unPackedData.heat.RHID.Equals(0) ? unPackedData.heat.RHID : _heat.RHID;
  37.  
  38.                 Session.WeaponEnforcement[name].heat.HDD = !unPackedData.heat.HDD.Equals(0) ? unPackedData.heat.HDD : _heat.HDD;
  39.                 Session.WeaponEnforcement[name].heat.RHDD = !unPackedData.heat.RHDD.Equals(0) ? unPackedData.heat.RHDD : _heat.RHDD;
  40.  
  41.                 Session.WeaponEnforcement[name].power.PD = !unPackedData.power.PI.Equals(0) ? unPackedData.power.PI : _power.PI;
  42.                 Session.WeaponEnforcement[name].power.PI = !unPackedData.power.PI.Equals(0) ? unPackedData.power.PI : _power.PI;
  43.                 Session.WeaponEnforcement[name].power.PO = !unPackedData.power.PO.Equals(0) ? unPackedData.power.PO : _power.PO;
  44.  
  45.                 Session.WeaponEnforcement[name].damage.BaseDamage = !unPackedData.damage.BaseDamage.Equals(0) ? unPackedData.damage.BaseDamage : _damage.BaseDamage;
  46.                 Session.WeaponEnforcement[name].damage.ShieldDamage = !unPackedData.damage.ShieldDamage.Equals(0) ? unPackedData.damage.ShieldDamage : _damage.ShieldDamage;
  47.                 Session.WeaponEnforcement[name].damage.SplashDamage = !unPackedData.damage.SplashDamage.Equals(0) ? unPackedData.damage.SplashDamage : _damage.SplashDamage;
  48.                 Session.WeaponEnforcement[name].damage.SplashRadius = !unPackedData.damage.SplashRadius.Equals(0) ? unPackedData.damage.SplashRadius : _damage.SplashRadius;
  49.  
  50.                 Session.WeaponEnforcement[name].barrels = !unPackedData.barrels.Count().Equals(0) ? unPackedData.barrels : _barrels;
  51.  
  52.                 Session.WeaponEnforcement[name].Version = version;
  53.  
  54.                 unPackedData = null;
  55.                 unPackCfg.Close();
  56.                 unPackCfg.Dispose();
  57.                 MyAPIGateway.Utilities.DeleteFileInGlobalStorage(name + ".cfg");
  58.                 var newCfg = MyAPIGateway.Utilities.WriteFileInGlobalStorage(name + ".cfg");
  59.                 var newData = MyAPIGateway.Utilities.SerializeToXML(Session.WeaponEnforcement);
  60.                 newCfg.Write(newData);
  61.                 newCfg.Flush();
  62.                 newCfg.Close();
  63.  
  64.                 Log.Line($"wrote modified config file - file exists: {MyAPIGateway.Utilities.FileExistsInGlobalStorage(name + ".cfg")}");
  65.             }
  66.             else
  67.             {
  68.                 Session.WeaponEnforcement[name].info = BWI.GetInfo(name);
  69.                 Session.WeaponEnforcement[name].heat = BWI.GetHeat(name);
  70.                 Session.WeaponEnforcement[name].power = BWI.GetPower(name);
  71.                 Session.WeaponEnforcement[name].damage = BWI.GetDamage(name);
  72.                 Session.WeaponEnforcement[name].barrels = BWI.GetBarrels(name);
  73.                 Session.WeaponEnforcement[name].Version = version;
  74.  
  75.                 var cfg = MyAPIGateway.Utilities.WriteFileInGlobalStorage(name + ".cfg");
  76.                 var data = MyAPIGateway.Utilities.SerializeToXML(Session.WeaponEnforcement);
  77.                 cfg.Write(data);
  78.                 cfg.Flush();
  79.                 cfg.Close();
  80.  
  81.                 Log.Line($"wrote new config file - file exists: {MyAPIGateway.Utilities.FileExistsInGlobalStorage(name + ".cfg")}");
  82.             }
  83.         }
  84.  
  85.  
  86.         public static void ReadWeaponConfigFile(string name)
  87.         {
  88.             var dsCfgExists = MyAPIGateway.Utilities.FileExistsInGlobalStorage(name + ".cfg");
  89.             Log.Line($"Reading config, file exists? {dsCfgExists}");
  90.             if (!dsCfgExists) return;
  91.             var cfg = MyAPIGateway.Utilities.ReadFileInGlobalStorage(name + ".cfg");
  92.             var data = MyAPIGateway.Utilities.SerializeFromXML<GSFWeaponEnforcement>(cfg.ReadToEnd());
  93.             Session.WeaponEnforcement[name] = data;
  94.             Log.Line($"Writing settings to mod:\n{data}");
  95.         }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement