// Token: 0x060001FC RID: 508 RVA: 0x00002DD4 File Offset: 0x00000FD4 public void Start() { base.StartCoroutine(WeaponComponent.UpdateWeapon()); }
// Token: 0x060001FE RID: 510 RVA: 0x00002DE3 File Offset: 0x00000FE3 public static IEnumerator UpdateWeapon() { for (;;) { yield return(new WaitForSeconds(0.1f)); bool flag = !DrawUtilities.ShouldRun(); bool flag6 = !flag; if (flag6) { ItemGunAsset PAsset; bool flag2 = (PAsset = (OptimizationVariables.MainPlayer.equipment.asset as ItemGunAsset)) == null; bool flag7 = !flag2; if (flag7) { bool flag3 = !WeaponComponent.AssetBackups.ContainsKey(PAsset.id); bool flag8 = flag3; if (flag8) { float[] Backups = new float[] { PAsset.recoilAim, PAsset.recoilMax_x, PAsset.recoilMax_y, PAsset.recoilMin_x, PAsset.recoilMin_y, PAsset.spreadAim, PAsset.spreadHip }; Backups[6] = PAsset.spreadHip; WeaponComponent.AssetBackups.Add(PAsset.id, Backups); Backups = null; Backups = null; } bool flag4 = WeaponOptions.NoRecoil && !PlayerCoroutines.IsSpying; bool flag9 = flag4; if (flag9) { PAsset.recoilAim = 0f; PAsset.recoilMax_x = 0f; PAsset.recoilMax_y = 0f; PAsset.recoilMin_x = 0f; PAsset.recoilMin_y = 0f; } else { PAsset.recoilAim = WeaponComponent.AssetBackups[PAsset.id][0]; PAsset.recoilMax_x = WeaponComponent.AssetBackups[PAsset.id][1]; PAsset.recoilMax_y = WeaponComponent.AssetBackups[PAsset.id][2]; PAsset.recoilMin_x = WeaponComponent.AssetBackups[PAsset.id][3]; PAsset.recoilMin_y = WeaponComponent.AssetBackups[PAsset.id][4]; } bool flag5 = WeaponOptions.NoSpread && !PlayerCoroutines.IsSpying; bool flag10 = flag5; if (flag10) { PAsset.spreadAim = 0f; PAsset.spreadHip = 0f; PlayerUI.updateCrosshair(0f); } else { PAsset.spreadAim = WeaponComponent.AssetBackups[PAsset.id][5]; PAsset.spreadHip = WeaponComponent.AssetBackups[PAsset.id][6]; WeaponComponent.UpdateCrosshair.Invoke(OptimizationVariables.MainPlayer.equipment.useable, null); } WeaponComponent.Reload(); PAsset = null; } PAsset = null; } } yield break; }