using System.ComponentModel;
using System.Diagnostics;
using System.IO;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Security;
using System.Security.Permissions;
using BepInEx;
using BepInEx.Logging;
using FistVR;
using HarmonyLib;
using OtherLoader;
using Sodalite;
using Sodalite.Api;
using UnityEngine;
using UnityEngine.SceneManagement;
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("0.0.0.0")]
[module: UnverifiableCode]
namespace JerryAr.RevolverSpinner
{
[BepInPlugin("JerryAr.RevolverSpinner", "RevolverSpinner", "1.1.0")]
[BepInProcess("h3vr.exe")]
[Description("Built with MeatKit")]
[BepInDependency("h3vr.otherloader", "1.3.0")]
public class RevolverSpinnerPlugin : BaseUnityPlugin
{
private static readonly string BasePath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
internal static ManualLogSource Logger;
private void Awake()
{
Logger = ((BaseUnityPlugin)this).Logger;
LoadAssets();
}
private void LoadAssets()
{
Harmony.CreateAndPatchAll(Assembly.GetExecutingAssembly(), "JerryAr.RevolverSpinner");
OtherLoader.RegisterDirectLoad(BasePath, "JerryAr.RevolverSpinner", "", "", "revolverspin", "");
}
}
}
public class SnapToPoint : MonoBehaviour
{
public GameObject Obj;
public GameObject Targ;
private void Start()
{
}
private void Update()
{
//IL_0017: Unknown result type (might be due to invalid IL or missing references)
//IL_0037: Unknown result type (might be due to invalid IL or missing references)
Obj.transform.position = Targ.transform.position;
Obj.transform.rotation = Targ.transform.rotation;
}
}
namespace JerryRevolver
{
[BepInPlugin("JerryDLL.JerryRevolver", "JR", "1.0.0")]
[BepInDependency("nrgill28.Sodalite", "1.4.1")]
[BepInProcess("h3vr.exe")]
public class LetRevolverSpinn : BaseUnityPlugin
{
public static bool ToggleSpinn = false;
public float cdL = 5f;
public float cdR = 5f;
public bool isThrowingL = false;
public bool isThrowingR = false;
public RevolverSpin RS;
public Revolver RevolverDAL;
public SingleActionRevolver RevolverSAL;
public Revolver RevolverDAR;
public SingleActionRevolver RevolverSAR;
public FVRViveHand L;
public FVRViveHand R;
public GameObject SpinnHL;
public GameObject SpinnHR;
public WaggleJoint WagL;
public WaggleJoint WagR;
public Transform SpinnPosL;
public Transform SpinnPosR;
public GameObject WagPosL;
public GameObject WagPosR;
public GameObject GeoL;
public GameObject GeoR;
private Quaternion prevRotationL;
private Quaternion prevRotationR;
internal static ManualLogSource Logger { get; private set; }
private void Awake()
{
Logger = ((BaseUnityPlugin)this).Logger;
Logger.LogMessage((object)"New harmony");
Logger.LogMessage((object)"Setted the fields");
Harmony.CreateAndPatchAll(typeof(LetRevolverSpinn), (string)null);
Logger.LogMessage((object)"Loaded sf System");
}
[HarmonyPatch(typeof(FVRWristMenu2), "Awake")]
[HarmonyPostfix]
public static void SFWMAH(FVRWristMenu2 __instance)
{
//IL_00b6: Unknown result type (might be due to invalid IL or missing references)
//IL_00c0: Expected O, but got Unknown
//IL_00bb: Unknown result type (might be due to invalid IL or missing references)
//IL_00c5: Expected O, but got Unknown
if ((Object)(object)__instance == (Object)null)
{
Logger.LogMessage((object)"No FVRWristMenu2");
}
bool flag = false;
string text = "ToggleRevolverSpinner?";
foreach (WristMenuButton button in WristMenuAPI.Buttons)
{
Logger.LogMessage((object)("CC " + button.Text));
if (button.Text == text)
{
flag = true;
break;
}
}
if (!flag)
{
WristMenuAPI.Buttons.Add(new WristMenuButton(text, new ButtonClickEvent(SpawnJRS)));
}
}
private static void SpawnJRS(object sender, ButtonClickEventArgs args)
{
ToggleSpinn = !ToggleSpinn;
}
private float ExtractRotationAroundX(Quaternion q)
{
//IL_0001: Unknown result type (might be due to invalid IL or missing references)
//IL_0006: Unknown result type (might be due to invalid IL or missing references)
//IL_0007: Unknown result type (might be due to invalid IL or missing references)
//IL_0008: Unknown result type (might be due to invalid IL or missing references)
//IL_0009: Unknown result type (might be due to invalid IL or missing references)
//IL_000e: Unknown result type (might be due to invalid IL or missing references)
//IL_002b: Unknown result type (might be due to invalid IL or missing references)
//IL_0030: Unknown result type (might be due to invalid IL or missing references)
Vector3 up = Vector3.up;
Vector3 val = q * up;
Vector3 val2 = default(Vector3);
((Vector3)(ref val2))..ctor(0f, val.y, val.z);
Vector3 normalized = ((Vector3)(ref val2)).normalized;
return Mathf.Atan2(normalized.z, normalized.y) * 57.29578f;
}
private void Update()
{
//IL_0001: Unknown result type (might be due to invalid IL or missing references)
//IL_0006: Unknown result type (might be due to invalid IL or missing references)
//IL_00b3: Unknown result type (might be due to invalid IL or missing references)
//IL_00d3: Expected O, but got Unknown
//IL_00f2: Unknown result type (might be due to invalid IL or missing references)
//IL_0102: Unknown result type (might be due to invalid IL or missing references)
//IL_011c: Expected O, but got Unknown
//IL_013b: Unknown result type (might be due to invalid IL or missing references)
//IL_015f: Unknown result type (might be due to invalid IL or missing references)
//IL_016f: Unknown result type (might be due to invalid IL or missing references)
//IL_0189: Expected O, but got Unknown
//IL_01a8: Unknown result type (might be due to invalid IL or missing references)
//IL_01cc: Unknown result type (might be due to invalid IL or missing references)
//IL_0259: Unknown result type (might be due to invalid IL or missing references)
//IL_025e: Unknown result type (might be due to invalid IL or missing references)
//IL_0455: Unknown result type (might be due to invalid IL or missing references)
//IL_045a: Unknown result type (might be due to invalid IL or missing references)
//IL_045c: Unknown result type (might be due to invalid IL or missing references)
//IL_045f: Unknown result type (might be due to invalid IL or missing references)
//IL_0464: Unknown result type (might be due to invalid IL or missing references)
//IL_0469: Unknown result type (might be due to invalid IL or missing references)
//IL_046e: Unknown result type (might be due to invalid IL or missing references)
//IL_0470: Unknown result type (might be due to invalid IL or missing references)
//IL_0472: Unknown result type (might be due to invalid IL or missing references)
//IL_0477: Unknown result type (might be due to invalid IL or missing references)
//IL_0479: Unknown result type (might be due to invalid IL or missing references)
//IL_047e: Unknown result type (might be due to invalid IL or missing references)
//IL_0480: Unknown result type (might be due to invalid IL or missing references)
//IL_0485: Unknown result type (might be due to invalid IL or missing references)
//IL_0488: Unknown result type (might be due to invalid IL or missing references)
//IL_049c: Unknown result type (might be due to invalid IL or missing references)
//IL_049e: Unknown result type (might be due to invalid IL or missing references)
//IL_04ae: Unknown result type (might be due to invalid IL or missing references)
//IL_04b3: Unknown result type (might be due to invalid IL or missing references)
//IL_04b5: Unknown result type (might be due to invalid IL or missing references)
//IL_04b8: Unknown result type (might be due to invalid IL or missing references)
//IL_04bd: Unknown result type (might be due to invalid IL or missing references)
//IL_04c2: Unknown result type (might be due to invalid IL or missing references)
//IL_04c7: Unknown result type (might be due to invalid IL or missing references)
//IL_04c9: Unknown result type (might be due to invalid IL or missing references)
//IL_04cb: Unknown result type (might be due to invalid IL or missing references)
//IL_04d0: Unknown result type (might be due to invalid IL or missing references)
//IL_04d2: Unknown result type (might be due to invalid IL or missing references)
//IL_04d7: Unknown result type (might be due to invalid IL or missing references)
//IL_04d9: Unknown result type (might be due to invalid IL or missing references)
//IL_04de: Unknown result type (might be due to invalid IL or missing references)
//IL_04e1: Unknown result type (might be due to invalid IL or missing references)
//IL_04f5: Unknown result type (might be due to invalid IL or missing references)
//IL_04f7: Unknown result type (might be due to invalid IL or missing references)
//IL_0299: Unknown result type (might be due to invalid IL or missing references)
//IL_02b9: Expected O, but got Unknown
//IL_02d8: Unknown result type (might be due to invalid IL or missing references)
//IL_02e8: Unknown result type (might be due to invalid IL or missing references)
//IL_0302: Expected O, but got Unknown
//IL_0321: Unknown result type (might be due to invalid IL or missing references)
//IL_0345: Unknown result type (might be due to invalid IL or missing references)
//IL_0355: Unknown result type (might be due to invalid IL or missing references)
//IL_036f: Expected O, but got Unknown
//IL_038e: Unknown result type (might be due to invalid IL or missing references)
//IL_03b2: Unknown result type (might be due to invalid IL or missing references)
//IL_043f: Unknown result type (might be due to invalid IL or missing references)
//IL_0444: Unknown result type (might be due to invalid IL or missing references)
//IL_0542: Unknown result type (might be due to invalid IL or missing references)
//IL_0562: Unknown result type (might be due to invalid IL or missing references)
//IL_0ab6: Unknown result type (might be due to invalid IL or missing references)
//IL_0ad6: Unknown result type (might be due to invalid IL or missing references)
//IL_068e: Unknown result type (might be due to invalid IL or missing references)
//IL_06ae: Unknown result type (might be due to invalid IL or missing references)
//IL_0c02: Unknown result type (might be due to invalid IL or missing references)
//IL_0c22: Unknown result type (might be due to invalid IL or missing references)
//IL_2e96: Unknown result type (might be due to invalid IL or missing references)
//IL_2e9b: Unknown result type (might be due to invalid IL or missing references)
//IL_308c: Unknown result type (might be due to invalid IL or missing references)
//IL_3091: Unknown result type (might be due to invalid IL or missing references)
//IL_2eb9: Unknown result type (might be due to invalid IL or missing references)
//IL_2ebe: Unknown result type (might be due to invalid IL or missing references)
//IL_0606: Unknown result type (might be due to invalid IL or missing references)
//IL_37b4: Unknown result type (might be due to invalid IL or missing references)
//IL_37b9: Unknown result type (might be due to invalid IL or missing references)
//IL_3484: Unknown result type (might be due to invalid IL or missing references)
//IL_34a8: Unknown result type (might be due to invalid IL or missing references)
//IL_34cc: Unknown result type (might be due to invalid IL or missing references)
//IL_339a: Unknown result type (might be due to invalid IL or missing references)
//IL_33ba: Unknown result type (might be due to invalid IL or missing references)
//IL_33c4: Unknown result type (might be due to invalid IL or missing references)
//IL_30af: Unknown result type (might be due to invalid IL or missing references)
//IL_30b4: Unknown result type (might be due to invalid IL or missing references)
//IL_303e: Unknown result type (might be due to invalid IL or missing references)
//IL_3063: Unknown result type (might be due to invalid IL or missing references)
//IL_1046: Unknown result type (might be due to invalid IL or missing references)
//IL_104b: Unknown result type (might be due to invalid IL or missing references)
//IL_0b7a: Unknown result type (might be due to invalid IL or missing references)
//IL_0675: Unknown result type (might be due to invalid IL or missing references)
//IL_39aa: Unknown result type (might be due to invalid IL or missing references)
//IL_39af: Unknown result type (might be due to invalid IL or missing references)
//IL_37d7: Unknown result type (might be due to invalid IL or missing references)
//IL_37dc: Unknown result type (might be due to invalid IL or missing references)
//IL_3681: Unknown result type (might be due to invalid IL or missing references)
//IL_36a5: Unknown result type (might be due to invalid IL or missing references)
//IL_36c9: Unknown result type (might be due to invalid IL or missing references)
//IL_3597: Unknown result type (might be due to invalid IL or missing references)
//IL_35b7: Unknown result type (might be due to invalid IL or missing references)
//IL_35c1: Unknown result type (might be due to invalid IL or missing references)
//IL_33fe: Unknown result type (might be due to invalid IL or missing references)
//IL_3234: Unknown result type (might be due to invalid IL or missing references)
//IL_3259: Unknown result type (might be due to invalid IL or missing references)
//IL_123c: Unknown result type (might be due to invalid IL or missing references)
//IL_1241: Unknown result type (might be due to invalid IL or missing references)
//IL_1069: Unknown result type (might be due to invalid IL or missing references)
//IL_106e: Unknown result type (might be due to invalid IL or missing references)
//IL_0cc6: Unknown result type (might be due to invalid IL or missing references)
//IL_0be9: Unknown result type (might be due to invalid IL or missing references)
//IL_0769: Unknown result type (might be due to invalid IL or missing references)
//IL_3da2: Unknown result type (might be due to invalid IL or missing references)
//IL_3dc6: Unknown result type (might be due to invalid IL or missing references)
//IL_3dea: Unknown result type (might be due to invalid IL or missing references)
//IL_3cb8: Unknown result type (might be due to invalid IL or missing references)
//IL_3cd8: Unknown result type (might be due to invalid IL or missing references)
//IL_3ce2: Unknown result type (might be due to invalid IL or missing references)
//IL_39cd: Unknown result type (might be due to invalid IL or missing references)
//IL_39d2: Unknown result type (might be due to invalid IL or missing references)
//IL_395c: Unknown result type (might be due to invalid IL or missing references)
//IL_3981: Unknown result type (might be due to invalid IL or missing references)
//IL_35fb: Unknown result type (might be due to invalid IL or missing references)
//IL_3439: Unknown result type (might be due to invalid IL or missing references)
//IL_1a5b: Unknown result type (might be due to invalid IL or missing references)
//IL_1a60: Unknown result type (might be due to invalid IL or missing references)
//IL_15ab: Unknown result type (might be due to invalid IL or missing references)
//IL_15cb: Unknown result type (might be due to invalid IL or missing references)
//IL_15d5: Unknown result type (might be due to invalid IL or missing references)
//IL_125f: Unknown result type (might be due to invalid IL or missing references)
//IL_1264: Unknown result type (might be due to invalid IL or missing references)
//IL_11ee: Unknown result type (might be due to invalid IL or missing references)
//IL_1213: Unknown result type (might be due to invalid IL or missing references)
//IL_0d35: Unknown result type (might be due to invalid IL or missing references)
//IL_07f0: Unknown result type (might be due to invalid IL or missing references)
//IL_3f9f: Unknown result type (might be due to invalid IL or missing references)
//IL_3fc3: Unknown result type (might be due to invalid IL or missing references)
//IL_3fe7: Unknown result type (might be due to invalid IL or missing references)
//IL_3eb5: Unknown result type (might be due to invalid IL or missing references)
//IL_3ed5: Unknown result type (might be due to invalid IL or missing references)
//IL_3edf: Unknown result type (might be due to invalid IL or missing references)
//IL_3d1c: Unknown result type (might be due to invalid IL or missing references)
//IL_3b52: Unknown result type (might be due to invalid IL or missing references)
//IL_3b77: Unknown result type (might be due to invalid IL or missing references)
//IL_3636: Unknown result type (might be due to invalid IL or missing references)
//IL_1c51: Unknown result type (might be due to invalid IL or missing references)
//IL_1c56: Unknown result type (might be due to invalid IL or missing references)
//IL_1a7e: Unknown result type (might be due to invalid IL or missing references)
//IL_1a83: Unknown result type (might be due to invalid IL or missing references)
//IL_17f3: Unknown result type (might be due to invalid IL or missing references)
//IL_1813: Unknown result type (might be due to invalid IL or missing references)
//IL_181d: Unknown result type (might be due to invalid IL or missing references)
//IL_16d3: Unknown result type (might be due to invalid IL or missing references)
//IL_16f7: Unknown result type (might be due to invalid IL or missing references)
//IL_171b: Unknown result type (might be due to invalid IL or missing references)
//IL_160f: Unknown result type (might be due to invalid IL or missing references)
//IL_13e4: Unknown result type (might be due to invalid IL or missing references)
//IL_1409: Unknown result type (might be due to invalid IL or missing references)
//IL_3f19: Unknown result type (might be due to invalid IL or missing references)
//IL_3d57: Unknown result type (might be due to invalid IL or missing references)
//IL_1fc0: Unknown result type (might be due to invalid IL or missing references)
//IL_1fe0: Unknown result type (might be due to invalid IL or missing references)
//IL_1fea: Unknown result type (might be due to invalid IL or missing references)
//IL_1c74: Unknown result type (might be due to invalid IL or missing references)
//IL_1c79: Unknown result type (might be due to invalid IL or missing references)
//IL_1c03: Unknown result type (might be due to invalid IL or missing references)
//IL_1c28: Unknown result type (might be due to invalid IL or missing references)
//IL_191b: Unknown result type (might be due to invalid IL or missing references)
//IL_193f: Unknown result type (might be due to invalid IL or missing references)
//IL_1963: Unknown result type (might be due to invalid IL or missing references)
//IL_1857: Unknown result type (might be due to invalid IL or missing references)
//IL_164a: Unknown result type (might be due to invalid IL or missing references)
//IL_3f54: Unknown result type (might be due to invalid IL or missing references)
//IL_254a: Unknown result type (might be due to invalid IL or missing references)
//IL_256e: Unknown result type (might be due to invalid IL or missing references)
//IL_2593: Unknown result type (might be due to invalid IL or missing references)
//IL_25b8: Unknown result type (might be due to invalid IL or missing references)
//IL_2208: Unknown result type (might be due to invalid IL or missing references)
//IL_2228: Unknown result type (might be due to invalid IL or missing references)
//IL_2232: Unknown result type (might be due to invalid IL or missing references)
//IL_20e8: Unknown result type (might be due to invalid IL or missing references)
//IL_210c: Unknown result type (might be due to invalid IL or missing references)
//IL_2130: Unknown result type (might be due to invalid IL or missing references)
//IL_2024: Unknown result type (might be due to invalid IL or missing references)
//IL_1df9: Unknown result type (might be due to invalid IL or missing references)
//IL_1e1e: Unknown result type (might be due to invalid IL or missing references)
//IL_1892: Unknown result type (might be due to invalid IL or missing references)
//IL_275b: Unknown result type (might be due to invalid IL or missing references)
//IL_277f: Unknown result type (might be due to invalid IL or missing references)
//IL_27a4: Unknown result type (might be due to invalid IL or missing references)
//IL_27c9: Unknown result type (might be due to invalid IL or missing references)
//IL_26a9: Unknown result type (might be due to invalid IL or missing references)
//IL_26ce: Unknown result type (might be due to invalid IL or missing references)
//IL_2330: Unknown result type (might be due to invalid IL or missing references)
//IL_2354: Unknown result type (might be due to invalid IL or missing references)
//IL_2378: Unknown result type (might be due to invalid IL or missing references)
//IL_226c: Unknown result type (might be due to invalid IL or missing references)
//IL_205f: Unknown result type (might be due to invalid IL or missing references)
//IL_2a4b: Unknown result type (might be due to invalid IL or missing references)
//IL_2a6f: Unknown result type (might be due to invalid IL or missing references)
//IL_2a94: Unknown result type (might be due to invalid IL or missing references)
//IL_2ab9: Unknown result type (might be due to invalid IL or missing references)
//IL_28ba: Unknown result type (might be due to invalid IL or missing references)
//IL_28df: Unknown result type (might be due to invalid IL or missing references)
//IL_22a7: Unknown result type (might be due to invalid IL or missing references)
//IL_2c5c: Unknown result type (might be due to invalid IL or missing references)
//IL_2c80: Unknown result type (might be due to invalid IL or missing references)
//IL_2ca5: Unknown result type (might be due to invalid IL or missing references)
//IL_2cca: Unknown result type (might be due to invalid IL or missing references)
//IL_2baa: Unknown result type (might be due to invalid IL or missing references)
//IL_2bcf: Unknown result type (might be due to invalid IL or missing references)
//IL_2dbb: Unknown result type (might be due to invalid IL or missing references)
//IL_2de0: Unknown result type (might be due to invalid IL or missing references)
Scene activeScene = SceneManager.GetActiveScene();
if (((Scene)(ref activeScene)).name != "MainMenu3" && (Object)(object)RS == (Object)null)
{
ItemSpawnerID spawnerID = IM.GetSpawnerID("SpinAudRev");
FVRObject mainObject = spawnerID.MainObject;
GameObject val = Object.Instantiate<GameObject>(((AnvilAsset)mainObject).GetGameObject(), ((Component)GM.CurrentMovementManager).gameObject.transform);
if ((Object)(object)val.GetComponent<RevolverSpin>() != (Object)null)
{
RS = val.GetComponent<RevolverSpin>();
}
}
if ((Object)(object)L != (Object)(object)GM.CurrentMovementManager.Hands[0])
{
L = GM.CurrentMovementManager.Hands[0];
SpinnHL = Object.Instantiate<GameObject>(new GameObject("SpinnLH"), ((Component)GM.CurrentMovementManager.Hands[0]).gameObject.transform);
SpinnHL.transform.localEulerAngles = new Vector3(45f, 0f, 0f);
GeoL = Object.Instantiate<GameObject>(new GameObject("GeoL"), SpinnHL.gameObject.transform);
GeoL.transform.localPosition = new Vector3(0f, 0f, 0f);
GeoL.transform.localEulerAngles = new Vector3(270f, 0f, 0f);
WagPosL = Object.Instantiate<GameObject>(new GameObject("WPL"), GeoL.gameObject.transform);
WagPosL.transform.localPosition = new Vector3(0f, 0f, 0f);
WagPosL.transform.localEulerAngles = new Vector3(0f, 0f, 0f);
WagL = SpinnHL.AddComponent<WaggleJoint>();
WagL.hingeGraphic = GeoL.transform;
WagL.distanceLimit = 0.05f;
WagL.angleLimitLeft = 0f;
WagL.angleLimitRight = 0f;
WagL.damping = 0.05f;
WagL.gravityScale = 0.25f;
prevRotationL = GeoL.transform.rotation;
}
if ((Object)(object)R != (Object)(object)GM.CurrentMovementManager.Hands[1])
{
R = GM.CurrentMovementManager.Hands[1];
SpinnHR = Object.Instantiate<GameObject>(new GameObject("SpinnRH"), ((Component)GM.CurrentMovementManager.Hands[1]).gameObject.transform);
SpinnHR.transform.localEulerAngles = new Vector3(45f, 0f, 0f);
GeoR = Object.Instantiate<GameObject>(new GameObject("GeoR"), SpinnHR.gameObject.transform);
GeoR.transform.localPosition = new Vector3(0f, 0f, 0f);
GeoR.transform.localEulerAngles = new Vector3(270f, 0f, 0f);
WagPosR = Object.Instantiate<GameObject>(new GameObject("WPR"), GeoR.gameObject.transform);
WagPosR.transform.localPosition = new Vector3(0f, 0f, 0f);
WagPosR.transform.localEulerAngles = new Vector3(0f, 0f, 0f);
WagR = SpinnHR.AddComponent<WaggleJoint>();
WagR.hingeGraphic = GeoR.transform;
WagR.distanceLimit = 0.05f;
WagR.angleLimitLeft = 0f;
WagR.angleLimitRight = 0f;
WagR.damping = 0.05f;
WagR.gravityScale = 0.25f;
prevRotationR = GeoR.transform.rotation;
}
Quaternion rotation = GeoL.transform.rotation;
Quaternion val2 = rotation * Quaternion.Inverse(prevRotationL);
Quaternion q = Quaternion.Inverse(rotation) * val2 * rotation;
float num = ExtractRotationAroundX(q);
float num2 = num / Time.deltaTime;
prevRotationL = rotation;
Quaternion rotation2 = GeoR.transform.rotation;
Quaternion val3 = rotation2 * Quaternion.Inverse(prevRotationR);
Quaternion q2 = Quaternion.Inverse(rotation2) * val3 * rotation2;
float num3 = ExtractRotationAroundX(q2);
float num4 = num3 / Time.deltaTime;
prevRotationR = rotation2;
if (ToggleSpinn)
{
if (isThrowingL)
{
cdL -= Time.deltaTime;
if ((Object)(object)SpinnPosL != (Object)null)
{
if (Vector3.Distance(((Component)SpinnPosL).transform.position, GM.CurrentMovementManager.Hands[0].Display_InteractionSphere.gameObject.transform.position) <= 0.15f && GM.CurrentMovementManager.Hands[0].Input.GripPressed)
{
isThrowingL = false;
cdL = 5f;
if ((Object)(object)RevolverDAL != (Object)null)
{
Revolver revolverDAL = RevolverDAL;
GM.CurrentMovementManager.Hands[0].ForceSetInteractable((FVRInteractiveObject)(object)revolverDAL);
if ((Object)(object)RS != (Object)null)
{
SM.PlayCoreSound((FVRPooledAudioType)41, RS.grab, ((Component)GM.CurrentMovementManager.Hands[0]).gameObject.transform.position);
}
}
if ((Object)(object)RevolverSAL != (Object)null)
{
SingleActionRevolver revolverSAL = RevolverSAL;
GM.CurrentMovementManager.Hands[0].ForceSetInteractable((FVRInteractiveObject)(object)revolverSAL);
if ((Object)(object)RS != (Object)null)
{
SM.PlayCoreSound((FVRPooledAudioType)41, RS.grab, ((Component)GM.CurrentMovementManager.Hands[0]).gameObject.transform.position);
}
}
}
if (Vector3.Distance(((Component)SpinnPosL).transform.position, GM.CurrentMovementManager.Hands[1].Display_InteractionSphere.gameObject.transform.position) <= 0.15f && GM.CurrentMovementManager.Hands[1].Input.GripPressed)
{
isThrowingL = false;
cdL = 5f;
if ((Object)(object)RevolverDAL != (Object)null && (Object)(object)((Component)RevolverDAL).gameObject != (Object)null)
{
Revolver revolverDAL2 = RevolverDAL;
GM.CurrentMovementManager.Hands[1].ForceSetInteractable((FVRInteractiveObject)(object)revolverDAL2);
if ((Object)(object)RS != (Object)null)
{
SM.PlayCoreSound((FVRPooledAudioType)41, RS.grab, ((Component)GM.CurrentMovementManager.Hands[1]).gameObject.transform.position);
}
}
if ((Object)(object)RevolverSAL != (Object)null && (Object)(object)((Component)RevolverSAL).gameObject != (Object)null)
{
SingleActionRevolver revolverSAL2 = RevolverSAL;
GM.CurrentMovementManager.Hands[1].ForceSetInteractable((FVRInteractiveObject)(object)revolverSAL2);
if ((Object)(object)RS != (Object)null)
{
SM.PlayCoreSound((FVRPooledAudioType)41, RS.grab, ((Component)GM.CurrentMovementManager.Hands[1]).gameObject.transform.position);
}
}
}
}
if ((Object)(object)RevolverDAL != (Object)null && (Object)(object)((FVRPhysicalObject)RevolverDAL).m_quickbeltSlot != (Object)null)
{
SpinnPosL = null;
RevolverDAL = null;
isThrowingL = false;
}
if ((Object)(object)RevolverSAL != (Object)null && (Object)(object)((FVRPhysicalObject)RevolverSAL).m_quickbeltSlot != (Object)null)
{
SpinnPosL = null;
RevolverSAL = null;
isThrowingL = false;
}
if (cdL <= 0f)
{
cdL = 5f;
if ((Object)(object)RevolverDAL != (Object)null)
{
SpinnPosL = null;
RevolverDAL = null;
}
if ((Object)(object)RevolverSAL != (Object)null)
{
SpinnPosL = null;
RevolverSAL = null;
}
isThrowingL = false;
}
if ((Object)(object)GM.CurrentMovementManager.Hands[0].m_currentInteractable != (Object)null)
{
if ((Object)(object)RevolverDAL != (Object)null && (Object)(object)GM.CurrentMovementManager.Hands[0].m_currentInteractable != (Object)(object)RevolverDAL)
{
cdL = 5f;
SpinnPosL = null;
RevolverDAL = null;
isThrowingL = false;
}
if ((Object)(object)RevolverSAL != (Object)null && (Object)(object)GM.CurrentMovementManager.Hands[0].m_currentInteractable != (Object)(object)RevolverSAL)
{
cdL = 5f;
SpinnPosL = null;
RevolverSAL = null;
isThrowingL = false;
}
}
if ((Object)(object)GM.CurrentMovementManager.Hands[1].m_currentInteractable != (Object)null)
{
if ((Object)(object)RevolverDAL != (Object)null && (Object)(object)GM.CurrentMovementManager.Hands[1].m_currentInteractable == (Object)(object)RevolverDAL)
{
cdL = 5f;
SpinnPosL = null;
RevolverDAL = null;
isThrowingL = false;
}
if ((Object)(object)RevolverSAL != (Object)null && (Object)(object)GM.CurrentMovementManager.Hands[1].m_currentInteractable == (Object)(object)RevolverSAL)
{
cdL = 5f;
SpinnPosL = null;
RevolverSAL = null;
isThrowingL = false;
}
}
}
if (isThrowingR)
{
cdR -= Time.deltaTime;
if ((Object)(object)SpinnPosR != (Object)null)
{
if (Vector3.Distance(((Component)SpinnPosR).transform.position, GM.CurrentMovementManager.Hands[0].Display_InteractionSphere.gameObject.transform.position) <= 0.15f && GM.CurrentMovementManager.Hands[0].Input.GripPressed)
{
isThrowingR = false;
cdR = 5f;
if ((Object)(object)RevolverDAR != (Object)null)
{
Revolver revolverDAR = RevolverDAR;
GM.CurrentMovementManager.Hands[0].ForceSetInteractable((FVRInteractiveObject)(object)revolverDAR);
if ((Object)(object)RS != (Object)null)
{
SM.PlayCoreSound((FVRPooledAudioType)41, RS.grab, ((Component)GM.CurrentMovementManager.Hands[0]).gameObject.transform.position);
}
}
if ((Object)(object)RevolverSAR != (Object)null)
{
SingleActionRevolver revolverSAR = RevolverSAR;
GM.CurrentMovementManager.Hands[0].ForceSetInteractable((FVRInteractiveObject)(object)revolverSAR);
if ((Object)(object)RS != (Object)null)
{
SM.PlayCoreSound((FVRPooledAudioType)41, RS.grab, ((Component)GM.CurrentMovementManager.Hands[0]).gameObject.transform.position);
}
}
}
if (Vector3.Distance(((Component)SpinnPosR).transform.position, GM.CurrentMovementManager.Hands[1].Display_InteractionSphere.gameObject.transform.position) <= 0.15f && GM.CurrentMovementManager.Hands[1].Input.GripPressed)
{
isThrowingR = false;
cdR = 5f;
if ((Object)(object)RevolverDAR != (Object)null)
{
Revolver revolverDAR2 = RevolverDAR;
GM.CurrentMovementManager.Hands[1].ForceSetInteractable((FVRInteractiveObject)(object)revolverDAR2);
if ((Object)(object)RS != (Object)null)
{
SM.PlayCoreSound((FVRPooledAudioType)41, RS.grab, ((Component)GM.CurrentMovementManager.Hands[1]).gameObject.transform.position);
}
}
if ((Object)(object)RevolverSAR != (Object)null)
{
SingleActionRevolver revolverSAR2 = RevolverSAR;
GM.CurrentMovementManager.Hands[1].ForceSetInteractable((FVRInteractiveObject)(object)revolverSAR2);
if ((Object)(object)RS != (Object)null)
{
SM.PlayCoreSound((FVRPooledAudioType)41, RS.grab, ((Component)GM.CurrentMovementManager.Hands[1]).gameObject.transform.position);
}
}
}
}
if ((Object)(object)RevolverDAR != (Object)null && (Object)(object)((FVRPhysicalObject)RevolverDAR).m_quickbeltSlot != (Object)null)
{
SpinnPosR = null;
RevolverDAR = null;
isThrowingR = false;
}
if ((Object)(object)RevolverSAR != (Object)null && (Object)(object)((FVRPhysicalObject)RevolverSAR).m_quickbeltSlot != (Object)null)
{
SpinnPosR = null;
RevolverSAR = null;
isThrowingR = false;
}
if (cdR <= 0f)
{
cdR = 5f;
if ((Object)(object)RevolverDAR != (Object)null)
{
SpinnPosR = null;
RevolverDAR = null;
if ((Object)(object)RevolverSAR != (Object)null)
{
SpinnPosR = null;
RevolverSAR = null;
}
isThrowingR = false;
}
}
if ((Object)(object)GM.CurrentMovementManager.Hands[1].m_currentInteractable != (Object)null)
{
if ((Object)(object)RevolverDAR != (Object)null && (Object)(object)GM.CurrentMovementManager.Hands[1].m_currentInteractable != (Object)(object)RevolverDAR)
{
cdR = 5f;
SpinnPosR = null;
RevolverDAR = null;
isThrowingR = false;
}
if ((Object)(object)RevolverSAR != (Object)null && (Object)(object)GM.CurrentMovementManager.Hands[1].m_currentInteractable != (Object)(object)RevolverSAR)
{
cdR = 5f;
SpinnPosR = null;
RevolverSAR = null;
isThrowingR = false;
}
}
if ((Object)(object)GM.CurrentMovementManager.Hands[0].m_currentInteractable != (Object)null)
{
if ((Object)(object)RevolverDAR != (Object)null && (Object)(object)GM.CurrentMovementManager.Hands[0].m_currentInteractable == (Object)(object)RevolverDAR)
{
cdR = 5f;
SpinnPosR = null;
RevolverDAR = null;
isThrowingR = false;
}
if ((Object)(object)RevolverSAR != (Object)null && (Object)(object)GM.CurrentMovementManager.Hands[0].m_currentInteractable == (Object)(object)RevolverSAR)
{
cdR = 5f;
SpinnPosR = null;
RevolverSAR = null;
isThrowingR = false;
}
}
}
if (GM.CurrentMovementManager.Hands[0].Input.TriggerFloat > 0.2f && !isThrowingL)
{
if (GM.CurrentMovementManager.Hands[0].Input.GripPressed)
{
if ((Object)(object)RS != (Object)null)
{
RS.canspinL = false;
}
if ((Object)(object)RevolverDAL != (Object)null)
{
if (GeoL.transform.localEulerAngles.x >= 260f && GeoL.transform.localEulerAngles.x <= 280f)
{
if ((Object)(object)GM.CurrentMovementManager.Hands[0].m_currentInteractable != (Object)(object)RevolverDAL)
{
WagL.angleLimitLeft = 0f;
WagL.angleLimitRight = 0f;
if ((Object)(object)((Component)RevolverDAL).gameObject.GetComponent<Rigidbody>() != (Object)null)
{
((Component)RevolverDAL).gameObject.GetComponent<Rigidbody>().useGravity = false;
((Component)RevolverDAL).gameObject.GetComponent<Rigidbody>().isKinematic = true;
}
((FVRInteractiveObject)RevolverDAL).IsSimpleInteract = false;
((FVRInteractiveObject)RevolverDAL).BeginInteraction(GM.CurrentMovementManager.Hands[0]);
GM.CurrentMovementManager.Hands[0].ForceSetInteractable((FVRInteractiveObject)(object)RevolverDAL);
}
}
else
{
GM.CurrentMovementManager.Hands[0].Display_Controller.SetActive(false);
GM.CurrentMovementManager.Hands[0].Display_InteractionSphere.SetActive(false);
GM.CurrentMovementManager.Hands[0].Display_InteractionSphere_Palm.SetActive(false);
if ((Object)(object)((Component)RevolverDAL).gameObject.GetComponent<Rigidbody>() != (Object)null)
{
((Component)RevolverDAL).gameObject.GetComponent<Rigidbody>().isKinematic = true;
}
((FVRInteractiveObject)RevolverDAL).IsSimpleInteract = true;
((Component)RevolverDAL).gameObject.transform.position = WagPosL.transform.position;
((Component)RevolverDAL).gameObject.transform.eulerAngles = WagPosL.transform.eulerAngles;
}
}
if ((Object)(object)RevolverSAL != (Object)null)
{
if (GeoL.transform.localEulerAngles.x >= 260f && GeoL.transform.localEulerAngles.x <= 280f)
{
if ((Object)(object)GM.CurrentMovementManager.Hands[0].m_currentInteractable != (Object)(object)RevolverSAL)
{
WagL.angleLimitLeft = 0f;
WagL.angleLimitRight = 0f;
if ((Object)(object)((Component)RevolverSAL).gameObject.GetComponent<Rigidbody>() != (Object)null)
{
((Component)RevolverSAL).gameObject.GetComponent<Rigidbody>().useGravity = false;
((Component)RevolverSAL).gameObject.GetComponent<Rigidbody>().isKinematic = true;
}
((FVRInteractiveObject)RevolverSAL).IsSimpleInteract = false;
((FVRInteractiveObject)RevolverSAL).BeginInteraction(GM.CurrentMovementManager.Hands[0]);
GM.CurrentMovementManager.Hands[0].ForceSetInteractable((FVRInteractiveObject)(object)RevolverSAL);
}
}
else
{
GM.CurrentMovementManager.Hands[0].Display_Controller.SetActive(false);
GM.CurrentMovementManager.Hands[0].Display_InteractionSphere.SetActive(false);
GM.CurrentMovementManager.Hands[0].Display_InteractionSphere_Palm.SetActive(false);
if ((Object)(object)((Component)RevolverSAL).gameObject.GetComponent<Rigidbody>() != (Object)null)
{
((Component)RevolverSAL).gameObject.GetComponent<Rigidbody>().isKinematic = true;
}
((FVRInteractiveObject)RevolverSAL).IsSimpleInteract = true;
((Component)RevolverSAL).gameObject.transform.position = WagPosL.transform.position;
((Component)RevolverSAL).gameObject.transform.eulerAngles = WagPosL.transform.eulerAngles;
}
}
}
if (!GM.CurrentMovementManager.Hands[0].Input.GripPressed)
{
if ((Object)(object)RS != (Object)null)
{
if ((Object)(object)RevolverDAL != (Object)null || (Object)(object)RevolverSAL != (Object)null)
{
RS.canspinL = true;
}
if ((Object)(object)RevolverDAL == (Object)null && (Object)(object)RevolverSAL == (Object)null)
{
RS.canspinL = false;
}
}
WagL.angleLimitLeft = 3600f;
WagL.angleLimitRight = 3600f;
}
}
if (GM.CurrentMovementManager.Hands[0].Input.TriggerFloat <= 0.2f)
{
if ((Object)(object)RS != (Object)null)
{
RS.canspinL = false;
}
if (!GM.CurrentMovementManager.Hands[0].Input.GripPressed)
{
if ((Object)(object)RevolverDAL != (Object)null && !isThrowingL)
{
if ((Object)(object)((Component)RevolverDAL).gameObject.GetComponent<Rigidbody>() != (Object)null)
{
((Component)RevolverDAL).gameObject.GetComponent<Rigidbody>().useGravity = true;
((Component)RevolverDAL).gameObject.GetComponent<Rigidbody>().isKinematic = false;
((Component)RevolverDAL).gameObject.GetComponent<Rigidbody>().AddForce(GM.CurrentMovementManager.Hands[0].Input.VelLinearWorld * ((Vector3)(ref GM.CurrentMovementManager.Hands[0].Input.VelLinearWorld)).magnitude * 0.25f, (ForceMode)2);
if (num > 0f)
{
((Component)RevolverDAL).gameObject.GetComponent<Rigidbody>().AddRelativeTorque(new Vector3(num2 * 0.01f, 0f, 0f), (ForceMode)2);
}
if (num <= 0f)
{
((Component)RevolverDAL).gameObject.GetComponent<Rigidbody>().AddRelativeTorque(new Vector3(num2 * 0.01f, 0f, 0f), (ForceMode)2);
}
}
((Component)RevolverDAL).gameObject.transform.SetParent((Transform)null);
cdL = 5f;
isThrowingL = true;
if ((Object)(object)SpinnPosL == (Object)null && (Object)(object)RevolverDAL.PoseSpinHolder != (Object)null)
{
SpinnPosL = RevolverDAL.PoseSpinHolder;
}
WagPosL.transform.localPosition = new Vector3(0f, 0f, 0f);
WagPosL.transform.localEulerAngles = new Vector3(0f, 0f, 0f);
SpinnHL.transform.localPosition = new Vector3(0f, 0f, 0f);
GM.CurrentMovementManager.Hands[0].Display_Controller.SetActive(true);
GM.CurrentMovementManager.Hands[0].Display_InteractionSphere.SetActive(true);
GM.CurrentMovementManager.Hands[0].Display_InteractionSphere_Palm.SetActive(true);
}
if ((Object)(object)RevolverSAL != (Object)null && !isThrowingL)
{
if ((Object)(object)((Component)RevolverSAL).gameObject.GetComponent<Rigidbody>() != (Object)null)
{
((Component)RevolverSAL).gameObject.GetComponent<Rigidbody>().useGravity = true;
((Component)RevolverSAL).gameObject.GetComponent<Rigidbody>().isKinematic = false;
((Component)RevolverSAL).gameObject.GetComponent<Rigidbody>().AddForce(GM.CurrentMovementManager.Hands[0].Input.VelLinearWorld * ((Vector3)(ref GM.CurrentMovementManager.Hands[0].Input.VelLinearWorld)).magnitude * 0.25f, (ForceMode)2);
if (num > 0f)
{
((Component)RevolverSAL).gameObject.GetComponent<Rigidbody>().AddRelativeTorque(new Vector3(num2 * 0.01f, 0f, 0f), (ForceMode)2);
}
if (num <= 0f)
{
((Component)RevolverSAL).gameObject.GetComponent<Rigidbody>().AddRelativeTorque(new Vector3(num2 * 0.01f, 0f, 0f), (ForceMode)2);
}
}
((Component)RevolverSAL).gameObject.transform.SetParent((Transform)null);
cdL = 5f;
isThrowingL = true;
if ((Object)(object)SpinnPosL == (Object)null && (Object)(object)RevolverSAL.PoseSpinHolder != (Object)null)
{
SpinnPosL = RevolverSAL.PoseSpinHolder;
}
WagPosL.transform.localPosition = new Vector3(0f, 0f, 0f);
WagPosL.transform.localEulerAngles = new Vector3(0f, 0f, 0f);
SpinnHL.transform.localPosition = new Vector3(0f, 0f, 0f);
GM.CurrentMovementManager.Hands[0].Display_Controller.SetActive(true);
GM.CurrentMovementManager.Hands[0].Display_InteractionSphere.SetActive(true);
GM.CurrentMovementManager.Hands[0].Display_InteractionSphere_Palm.SetActive(true);
}
}
WagL.angleLimitLeft = 0f;
WagL.angleLimitRight = 0f;
}
if (GM.CurrentMovementManager.Hands[1].Input.TriggerFloat > 0.2f && !isThrowingR)
{
if (GM.CurrentMovementManager.Hands[1].Input.GripPressed)
{
if ((Object)(object)RS != (Object)null)
{
RS.canspinR = false;
}
if ((Object)(object)RevolverDAR != (Object)null)
{
if (GeoR.transform.localEulerAngles.x >= 260f && GeoR.transform.localEulerAngles.x <= 280f)
{
if ((Object)(object)GM.CurrentMovementManager.Hands[1].m_currentInteractable != (Object)(object)RevolverDAR)
{
WagR.angleLimitLeft = 0f;
WagR.angleLimitRight = 0f;
if ((Object)(object)((Component)RevolverDAR).gameObject.GetComponent<Rigidbody>() != (Object)null)
{
((Component)RevolverDAR).gameObject.GetComponent<Rigidbody>().useGravity = false;
((Component)RevolverDAR).gameObject.GetComponent<Rigidbody>().isKinematic = true;
}
((FVRInteractiveObject)RevolverDAR).IsSimpleInteract = false;
((FVRInteractiveObject)RevolverDAR).BeginInteraction(GM.CurrentMovementManager.Hands[1]);
GM.CurrentMovementManager.Hands[1].ForceSetInteractable((FVRInteractiveObject)(object)RevolverDAR);
}
}
else
{
GM.CurrentMovementManager.Hands[1].Display_Controller.SetActive(false);
GM.CurrentMovementManager.Hands[1].Display_InteractionSphere.SetActive(false);
GM.CurrentMovementManager.Hands[1].Display_InteractionSphere_Palm.SetActive(false);
if ((Object)(object)((Component)RevolverDAR).gameObject.GetComponent<Rigidbody>() != (Object)null)
{
((Component)RevolverDAR).gameObject.GetComponent<Rigidbody>().isKinematic = true;
}
((FVRInteractiveObject)RevolverDAR).IsSimpleInteract = true;
((Component)RevolverDAR).gameObject.transform.position = WagPosR.transform.position;
((Component)RevolverDAR).gameObject.transform.eulerAngles = WagPosR.transform.eulerAngles;
}
}
if ((Object)(object)RevolverSAR != (Object)null)
{
if (GeoR.transform.localEulerAngles.x >= 260f && GeoR.transform.localEulerAngles.x <= 280f)
{
if ((Object)(object)GM.CurrentMovementManager.Hands[1].m_currentInteractable != (Object)(object)RevolverSAR)
{
WagR.angleLimitLeft = 0f;
WagR.angleLimitRight = 0f;
if ((Object)(object)((Component)RevolverSAR).gameObject.GetComponent<Rigidbody>() != (Object)null)
{
((Component)RevolverSAR).gameObject.GetComponent<Rigidbody>().useGravity = false;
((Component)RevolverSAR).gameObject.GetComponent<Rigidbody>().isKinematic = true;
}
((FVRInteractiveObject)RevolverSAR).IsSimpleInteract = false;
((FVRInteractiveObject)RevolverSAR).BeginInteraction(GM.CurrentMovementManager.Hands[1]);
GM.CurrentMovementManager.Hands[1].ForceSetInteractable((FVRInteractiveObject)(object)RevolverSAR);
}
}
else
{
GM.CurrentMovementManager.Hands[1].Display_Controller.SetActive(false);
GM.CurrentMovementManager.Hands[1].Display_InteractionSphere.SetActive(false);
GM.CurrentMovementManager.Hands[1].Display_InteractionSphere_Palm.SetActive(false);
if ((Object)(object)((Component)RevolverSAR).gameObject.GetComponent<Rigidbody>() != (Object)null)
{
((Component)RevolverSAR).gameObject.GetComponent<Rigidbody>().isKinematic = true;
}
((FVRInteractiveObject)RevolverSAR).IsSimpleInteract = true;
((Component)RevolverSAR).gameObject.transform.position = WagPosR.transform.position;
((Component)RevolverSAR).gameObject.transform.eulerAngles = WagPosR.transform.eulerAngles;
}
}
}
if (!GM.CurrentMovementManager.Hands[1].Input.GripPressed)
{
if ((Object)(object)RS != (Object)null)
{
if ((Object)(object)RevolverDAR != (Object)null || (Object)(object)RevolverSAR != (Object)null)
{
RS.canspinR = true;
}
if ((Object)(object)RevolverDAR == (Object)null && (Object)(object)RevolverSAR == (Object)null)
{
RS.canspinR = false;
}
}
WagR.angleLimitLeft = 3600f;
WagR.angleLimitRight = 3600f;
}
}
if (GM.CurrentMovementManager.Hands[1].Input.TriggerFloat <= 0.2f)
{
if ((Object)(object)RS != (Object)null)
{
RS.canspinR = false;
}
if (!GM.CurrentMovementManager.Hands[1].Input.GripPressed)
{
if ((Object)(object)RevolverDAR != (Object)null && !isThrowingR)
{
if ((Object)(object)((Component)RevolverDAR).gameObject.GetComponent<Rigidbody>() != (Object)null)
{
((Component)RevolverDAR).gameObject.GetComponent<Rigidbody>().useGravity = true;
((Component)RevolverDAR).gameObject.GetComponent<Rigidbody>().isKinematic = false;
((Component)RevolverDAR).gameObject.GetComponent<Rigidbody>().AddForce(GM.CurrentMovementManager.Hands[1].Input.VelLinearWorld * ((Vector3)(ref GM.CurrentMovementManager.Hands[1].Input.VelLinearWorld)).magnitude * 0.25f, (ForceMode)2);
if (num3 > 0f)
{
((Component)RevolverDAR).gameObject.GetComponent<Rigidbody>().AddRelativeTorque(new Vector3(num4 * 0.01f, 0f, 0f), (ForceMode)2);
}
if (num3 <= 0f)
{
((Component)RevolverDAR).gameObject.GetComponent<Rigidbody>().AddRelativeTorque(new Vector3(num4 * 0.01f, 0f, 0f), (ForceMode)2);
}
}
((Component)RevolverDAR).gameObject.transform.SetParent((Transform)null);
cdR = 5f;
isThrowingR = true;
if ((Object)(object)SpinnPosR == (Object)null && (Object)(object)RevolverDAR.PoseSpinHolder != (Object)null)
{
SpinnPosR = RevolverDAR.PoseSpinHolder;
}
WagPosR.transform.localPosition = new Vector3(0f, 0f, 0f);
WagPosR.transform.localEulerAngles = new Vector3(0f, 0f, 0f);
SpinnHR.transform.localPosition = new Vector3(0f, 0f, 0f);
GM.CurrentMovementManager.Hands[1].Display_Controller.SetActive(true);
GM.CurrentMovementManager.Hands[1].Display_InteractionSphere.SetActive(true);
GM.CurrentMovementManager.Hands[1].Display_InteractionSphere_Palm.SetActive(true);
}
if ((Object)(object)RevolverSAR != (Object)null && !isThrowingR)
{
if ((Object)(object)((Component)RevolverSAR).gameObject.GetComponent<Rigidbody>() != (Object)null)
{
((Component)RevolverSAR).gameObject.GetComponent<Rigidbody>().useGravity = true;
((Component)RevolverSAR).gameObject.GetComponent<Rigidbody>().isKinematic = false;
((Component)RevolverSAR).gameObject.GetComponent<Rigidbody>().AddForce(GM.CurrentMovementManager.Hands[1].Input.VelLinearWorld * ((Vector3)(ref GM.CurrentMovementManager.Hands[1].Input.VelLinearWorld)).magnitude * 0.25f, (ForceMode)2);
if (num3 > 0f)
{
((Component)RevolverSAR).gameObject.GetComponent<Rigidbody>().AddRelativeTorque(new Vector3(num4 * 0.01f, 0f, 0f), (ForceMode)2);
}
if (num3 <= 0f)
{
((Component)RevolverSAR).gameObject.GetComponent<Rigidbody>().AddRelativeTorque(new Vector3(num4 * 0.01f, 0f, 0f), (ForceMode)2);
}
}
((Component)RevolverSAR).gameObject.transform.SetParent((Transform)null);
cdR = 5f;
isThrowingR = true;
if ((Object)(object)SpinnPosR == (Object)null && (Object)(object)RevolverSAR.PoseSpinHolder != (Object)null)
{
SpinnPosR = RevolverSAR.PoseSpinHolder;
}
WagPosR.transform.localPosition = new Vector3(0f, 0f, 0f);
WagPosR.transform.localEulerAngles = new Vector3(0f, 0f, 0f);
SpinnHR.transform.localPosition = new Vector3(0f, 0f, 0f);
GM.CurrentMovementManager.Hands[1].Display_Controller.SetActive(true);
GM.CurrentMovementManager.Hands[1].Display_InteractionSphere.SetActive(true);
GM.CurrentMovementManager.Hands[1].Display_InteractionSphere_Palm.SetActive(true);
}
}
WagR.angleLimitLeft = 0f;
WagR.angleLimitRight = 0f;
}
if ((Object)(object)GM.CurrentMovementManager.Hands[0].m_currentInteractable != (Object)null)
{
if ((Object)(object)RevolverDAL == (Object)null && (Object)(object)((Component)GM.CurrentMovementManager.Hands[0].m_currentInteractable).gameObject.GetComponent<Revolver>() != (Object)null)
{
RevolverDAL = ((Component)GM.CurrentMovementManager.Hands[0].m_currentInteractable).gameObject.GetComponent<Revolver>();
}
if ((Object)(object)RevolverSAL == (Object)null && (Object)(object)((Component)GM.CurrentMovementManager.Hands[0].m_currentInteractable).gameObject.GetComponent<SingleActionRevolver>() != (Object)null)
{
RevolverSAL = ((Component)GM.CurrentMovementManager.Hands[0].m_currentInteractable).gameObject.GetComponent<SingleActionRevolver>();
}
}
if (!isThrowingL)
{
if ((Object)(object)RevolverDAL != (Object)null && GM.CurrentMovementManager.Hands[0].Input.TriggerFloat > 0.2f)
{
if ((Object)(object)SpinnPosL == (Object)null && (Object)(object)RevolverDAL.PoseSpinHolder != (Object)null)
{
SpinnPosL = RevolverDAL.PoseSpinHolder;
SpinnHL.transform.position = ((Component)SpinnPosL).transform.position;
SpinnHL.transform.localEulerAngles = new Vector3(45f, 0f, 0f);
WagPosL.transform.position = ((Component)RevolverDAL).gameObject.transform.position;
WagPosL.transform.eulerAngles = ((Component)RevolverDAL).gameObject.transform.eulerAngles;
((Component)RevolverDAL).gameObject.transform.SetParent(((Component)GM.CurrentMovementManager.Hands[0]).gameObject.transform);
}
if (!GM.CurrentMovementManager.Hands[0].Input.GripPressed)
{
GM.CurrentMovementManager.Hands[0].Display_Controller.SetActive(false);
GM.CurrentMovementManager.Hands[0].Display_InteractionSphere.SetActive(false);
GM.CurrentMovementManager.Hands[0].Display_InteractionSphere_Palm.SetActive(false);
if ((Object)(object)((Component)RevolverDAL).gameObject.GetComponent<Rigidbody>() != (Object)null)
{
((Component)RevolverDAL).gameObject.GetComponent<Rigidbody>().isKinematic = true;
}
((FVRInteractiveObject)RevolverDAL).IsSimpleInteract = true;
((Component)RevolverDAL).gameObject.transform.position = WagPosL.transform.position;
((Component)RevolverDAL).gameObject.transform.eulerAngles = WagPosL.transform.eulerAngles;
}
}
if ((Object)(object)RevolverSAL != (Object)null && GM.CurrentMovementManager.Hands[0].Input.TriggerFloat > 0.2f)
{
if ((Object)(object)SpinnPosL == (Object)null && (Object)(object)RevolverSAL.PoseSpinHolder != (Object)null)
{
SpinnPosL = RevolverSAL.PoseSpinHolder;
SpinnHL.transform.position = ((Component)SpinnPosL).transform.position;
SpinnHL.transform.localEulerAngles = new Vector3(45f, 0f, 0f);
WagPosL.transform.position = ((Component)RevolverSAL).gameObject.transform.position;
WagPosL.transform.eulerAngles = ((Component)RevolverSAL).gameObject.transform.eulerAngles;
((Component)RevolverSAL).gameObject.transform.SetParent(((Component)GM.CurrentMovementManager.Hands[0]).gameObject.transform);
}
if (!GM.CurrentMovementManager.Hands[0].Input.GripPressed)
{
GM.CurrentMovementManager.Hands[0].Display_Controller.SetActive(false);
GM.CurrentMovementManager.Hands[0].Display_InteractionSphere.SetActive(false);
GM.CurrentMovementManager.Hands[0].Display_InteractionSphere_Palm.SetActive(false);
if ((Object)(object)((Component)RevolverSAL).gameObject.GetComponent<Rigidbody>() != (Object)null)
{
((Component)RevolverSAL).gameObject.GetComponent<Rigidbody>().isKinematic = true;
}
((FVRInteractiveObject)RevolverSAL).IsSimpleInteract = true;
((Component)RevolverSAL).gameObject.transform.position = WagPosL.transform.position;
((Component)RevolverSAL).gameObject.transform.eulerAngles = WagPosL.transform.eulerAngles;
}
}
}
if ((Object)(object)GM.CurrentMovementManager.Hands[1].m_currentInteractable != (Object)null)
{
if ((Object)(object)RevolverDAR == (Object)null && (Object)(object)((Component)GM.CurrentMovementManager.Hands[1].m_currentInteractable).gameObject.GetComponent<Revolver>() != (Object)null)
{
RevolverDAR = ((Component)GM.CurrentMovementManager.Hands[1].m_currentInteractable).gameObject.GetComponent<Revolver>();
}
if ((Object)(object)RevolverSAR == (Object)null && (Object)(object)((Component)GM.CurrentMovementManager.Hands[1].m_currentInteractable).gameObject.GetComponent<SingleActionRevolver>() != (Object)null)
{
RevolverSAR = ((Component)GM.CurrentMovementManager.Hands[1].m_currentInteractable).gameObject.GetComponent<SingleActionRevolver>();
}
}
if (!isThrowingR)
{
if ((Object)(object)RevolverDAR != (Object)null && GM.CurrentMovementManager.Hands[1].Input.TriggerFloat > 0.2f)
{
if ((Object)(object)SpinnPosR == (Object)null && (Object)(object)RevolverDAR.PoseSpinHolder != (Object)null)
{
SpinnPosR = RevolverDAR.PoseSpinHolder;
SpinnHR.transform.position = ((Component)SpinnPosR).transform.position;
SpinnHR.transform.localEulerAngles = new Vector3(45f, 0f, 0f);
WagPosR.transform.position = ((Component)RevolverDAR).gameObject.transform.position;
WagPosR.transform.eulerAngles = ((Component)RevolverDAR).gameObject.transform.eulerAngles;
((Component)RevolverDAR).gameObject.transform.SetParent(((Component)GM.CurrentMovementManager.Hands[1]).gameObject.transform);
}
if (!GM.CurrentMovementManager.Hands[1].Input.GripPressed)
{
GM.CurrentMovementManager.Hands[1].Display_Controller.SetActive(false);
GM.CurrentMovementManager.Hands[1].Display_InteractionSphere.SetActive(false);
GM.CurrentMovementManager.Hands[1].Display_InteractionSphere_Palm.SetActive(false);
if ((Object)(object)((Component)RevolverDAR).gameObject.GetComponent<Rigidbody>() != (Object)null)
{
((Component)RevolverDAR).gameObject.GetComponent<Rigidbody>().isKinematic = true;
}
((FVRInteractiveObject)RevolverDAR).IsSimpleInteract = true;
((Component)RevolverDAR).gameObject.transform.position = WagPosR.transform.position;
((Component)RevolverDAR).gameObject.transform.eulerAngles = WagPosR.transform.eulerAngles;
}
}
if ((Object)(object)RevolverSAR != (Object)null && GM.CurrentMovementManager.Hands[1].Input.TriggerFloat > 0.2f)
{
if ((Object)(object)SpinnPosR == (Object)null && (Object)(object)RevolverSAR.PoseSpinHolder != (Object)null)
{
SpinnPosR = RevolverSAR.PoseSpinHolder;
SpinnHR.transform.position = ((Component)SpinnPosR).transform.position;
SpinnHR.transform.localEulerAngles = new Vector3(45f, 0f, 0f);
WagPosR.transform.position = ((Component)RevolverSAR).gameObject.transform.position;
WagPosR.transform.eulerAngles = ((Component)RevolverSAR).gameObject.transform.eulerAngles;
((Component)RevolverSAR).gameObject.transform.SetParent(((Component)GM.CurrentMovementManager.Hands[1]).gameObject.transform);
}
if (!GM.CurrentMovementManager.Hands[1].Input.GripPressed)
{
GM.CurrentMovementManager.Hands[1].Display_Controller.SetActive(false);
GM.CurrentMovementManager.Hands[1].Display_InteractionSphere.SetActive(false);
GM.CurrentMovementManager.Hands[1].Display_InteractionSphere_Palm.SetActive(false);
if ((Object)(object)((Component)RevolverSAR).gameObject.GetComponent<Rigidbody>() != (Object)null)
{
((Component)RevolverSAR).gameObject.GetComponent<Rigidbody>().isKinematic = true;
}
((FVRInteractiveObject)RevolverSAR).IsSimpleInteract = true;
((Component)RevolverSAR).gameObject.transform.position = WagPosR.transform.position;
((Component)RevolverSAR).gameObject.transform.eulerAngles = WagPosR.transform.eulerAngles;
}
}
}
}
if (ToggleSpinn)
{
return;
}
isThrowingL = false;
isThrowingR = false;
cdL = 5f;
cdR = 5f;
if (GM.CurrentMovementManager.Hands[0].Input.TriggerFloat > 0.2f)
{
if (GM.CurrentMovementManager.Hands[0].Input.GripPressed)
{
if ((Object)(object)RS != (Object)null)
{
RS.canspinL = false;
}
if ((Object)(object)RevolverDAL != (Object)null)
{
if (GeoL.transform.localEulerAngles.x >= 260f && GeoL.transform.localEulerAngles.x <= 280f)
{
if ((Object)(object)GM.CurrentMovementManager.Hands[0].m_currentInteractable != (Object)(object)RevolverDAL)
{
WagL.angleLimitLeft = 0f;
WagL.angleLimitRight = 0f;
if ((Object)(object)((Component)RevolverDAL).gameObject.GetComponent<Rigidbody>() != (Object)null)
{
((Component)RevolverDAL).gameObject.GetComponent<Rigidbody>().useGravity = false;
((Component)RevolverDAL).gameObject.GetComponent<Rigidbody>().isKinematic = true;
}
((FVRInteractiveObject)RevolverDAL).IsSimpleInteract = false;
((FVRInteractiveObject)RevolverDAL).BeginInteraction(GM.CurrentMovementManager.Hands[0]);
GM.CurrentMovementManager.Hands[0].ForceSetInteractable((FVRInteractiveObject)(object)RevolverDAL);
}
}
else
{
GM.CurrentMovementManager.Hands[0].Display_Controller.SetActive(false);
GM.CurrentMovementManager.Hands[0].Display_InteractionSphere.SetActive(false);
GM.CurrentMovementManager.Hands[0].Display_InteractionSphere_Palm.SetActive(false);
if ((Object)(object)((Component)RevolverDAL).gameObject.GetComponent<Rigidbody>() != (Object)null)
{
((Component)RevolverDAL).gameObject.GetComponent<Rigidbody>().isKinematic = true;
}
((FVRInteractiveObject)RevolverDAL).IsSimpleInteract = true;
((Component)RevolverDAL).gameObject.transform.position = WagPosL.transform.position;
((Component)RevolverDAL).gameObject.transform.eulerAngles = WagPosL.transform.eulerAngles;
}
}
if ((Object)(object)RevolverSAL != (Object)null)
{
if (GeoL.transform.localEulerAngles.x >= 260f && GeoL.transform.localEulerAngles.x <= 280f)
{
if ((Object)(object)GM.CurrentMovementManager.Hands[0].m_currentInteractable != (Object)(object)RevolverSAL)
{
WagL.angleLimitLeft = 0f;
WagL.angleLimitRight = 0f;
if ((Object)(object)((Component)RevolverSAL).gameObject.GetComponent<Rigidbody>() != (Object)null)
{
((Component)RevolverSAL).gameObject.GetComponent<Rigidbody>().useGravity = false;
((Component)RevolverSAL).gameObject.GetComponent<Rigidbody>().isKinematic = true;
}
((FVRInteractiveObject)RevolverSAL).IsSimpleInteract = false;
((FVRInteractiveObject)RevolverSAL).BeginInteraction(GM.CurrentMovementManager.Hands[0]);
GM.CurrentMovementManager.Hands[0].ForceSetInteractable((FVRInteractiveObject)(object)RevolverSAL);
}
}
else
{
GM.CurrentMovementManager.Hands[0].Display_Controller.SetActive(false);
GM.CurrentMovementManager.Hands[0].Display_InteractionSphere.SetActive(false);
GM.CurrentMovementManager.Hands[0].Display_InteractionSphere_Palm.SetActive(false);
if ((Object)(object)((Component)RevolverSAL).gameObject.GetComponent<Rigidbody>() != (Object)null)
{
((Component)RevolverSAL).gameObject.GetComponent<Rigidbody>().isKinematic = true;
}
((FVRInteractiveObject)RevolverSAL).IsSimpleInteract = true;
((Component)RevolverSAL).gameObject.transform.position = WagPosL.transform.position;
((Component)RevolverSAL).gameObject.transform.eulerAngles = WagPosL.transform.eulerAngles;
}
}
}
if (!GM.CurrentMovementManager.Hands[0].Input.GripPressed)
{
if ((Object)(object)RS != (Object)null)
{
RS.canspinL = false;
}
WagL.angleLimitLeft = 3600f;
WagL.angleLimitRight = 3600f;
}
}
if (GM.CurrentMovementManager.Hands[0].Input.TriggerFloat <= 0.2f)
{
if ((Object)(object)RS != (Object)null)
{
RS.canspinL = false;
}
if (!GM.CurrentMovementManager.Hands[0].Input.GripPressed)
{
if ((Object)(object)RevolverDAL != (Object)null)
{
if ((Object)(object)((Component)RevolverDAL).gameObject.GetComponent<Rigidbody>() != (Object)null)
{
((Component)RevolverDAL).gameObject.GetComponent<Rigidbody>().useGravity = true;
((Component)RevolverDAL).gameObject.GetComponent<Rigidbody>().isKinematic = false;
((Component)RevolverDAL).gameObject.GetComponent<Rigidbody>().AddForce(GM.CurrentMovementManager.Hands[0].Input.VelLinearWorld * ((Vector3)(ref GM.CurrentMovementManager.Hands[0].Input.VelLinearWorld)).magnitude * 0.25f, (ForceMode)2);
if (num > 0f)
{
((Component)RevolverDAL).gameObject.GetComponent<Rigidbody>().AddRelativeTorque(new Vector3(num2 * 0.01f, 0f, 0f), (ForceMode)2);
}
if (num <= 0f)
{
((Component)RevolverDAL).gameObject.GetComponent<Rigidbody>().AddRelativeTorque(new Vector3(num2 * 0.01f, 0f, 0f), (ForceMode)2);
}
}
((Component)RevolverDAL).gameObject.transform.SetParent((Transform)null);
RevolverDAL = null;
SpinnPosL = null;
WagPosL.transform.localPosition = new Vector3(0f, 0f, 0f);
WagPosL.transform.localEulerAngles = new Vector3(0f, 0f, 0f);
SpinnHL.transform.localPosition = new Vector3(0f, 0f, 0f);
GM.CurrentMovementManager.Hands[0].Display_Controller.SetActive(true);
GM.CurrentMovementManager.Hands[0].Display_InteractionSphere.SetActive(true);
GM.CurrentMovementManager.Hands[0].Display_InteractionSphere_Palm.SetActive(true);
}
if ((Object)(object)RevolverSAL != (Object)null)
{
if ((Object)(object)((Component)RevolverSAL).gameObject.GetComponent<Rigidbody>() != (Object)null)
{
((Component)RevolverSAL).gameObject.GetComponent<Rigidbody>().useGravity = true;
((Component)RevolverSAL).gameObject.GetComponent<Rigidbody>().isKinematic = false;
((Component)RevolverSAL).gameObject.GetComponent<Rigidbody>().AddForce(GM.CurrentMovementManager.Hands[0].Input.VelLinearWorld * ((Vector3)(ref GM.CurrentMovementManager.Hands[0].Input.VelLinearWorld)).magnitude * 0.25f, (ForceMode)2);
if (num > 0f)
{
((Component)RevolverSAL).gameObject.GetComponent<Rigidbody>().AddRelativeTorque(new Vector3(num2 * 0.01f, 0f, 0f), (ForceMode)2);
}
if (num <= 0f)
{
((Component)RevolverSAL).gameObject.GetComponent<Rigidbody>().AddRelativeTorque(new Vector3(num2 * 0.01f, 0f, 0f), (ForceMode)2);
}
}
((Component)RevolverSAL).gameObject.transform.SetParent((Transform)null);
RevolverSAL = null;
SpinnPosL = null;
WagPosL.transform.localPosition = new Vector3(0f, 0f, 0f);
WagPosL.transform.localEulerAngles = new Vector3(0f, 0f, 0f);
SpinnHL.transform.localPosition = new Vector3(0f, 0f, 0f);
GM.CurrentMovementManager.Hands[0].Display_Controller.SetActive(true);
GM.CurrentMovementManager.Hands[0].Display_InteractionSphere.SetActive(true);
GM.CurrentMovementManager.Hands[0].Display_InteractionSphere_Palm.SetActive(true);
}
}
WagL.angleLimitLeft = 0f;
WagL.angleLimitRight = 0f;
}
if (GM.CurrentMovementManager.Hands[1].Input.TriggerFloat > 0.2f)
{
if (GM.CurrentMovementManager.Hands[1].Input.GripPressed)
{
if ((Object)(object)RS != (Object)null)
{
RS.canspinR = false;
}
if ((Object)(object)RevolverDAR != (Object)null)
{
if (GeoR.transform.localEulerAngles.x >= 260f && GeoR.transform.localEulerAngles.x <= 280f)
{
if ((Object)(object)GM.CurrentMovementManager.Hands[1].m_currentInteractable != (Object)(object)RevolverDAR)
{
WagR.angleLimitLeft = 0f;
WagR.angleLimitRight = 0f;
if ((Object)(object)((Component)RevolverDAR).gameObject.GetComponent<Rigidbody>() != (Object)null)
{
((Component)RevolverDAR).gameObject.GetComponent<Rigidbody>().useGravity = false;
((Component)RevolverDAR).gameObject.GetComponent<Rigidbody>().isKinematic = true;
}
((FVRInteractiveObject)RevolverDAR).IsSimpleInteract = false;
((FVRInteractiveObject)RevolverDAR).BeginInteraction(GM.CurrentMovementManager.Hands[1]);
GM.CurrentMovementManager.Hands[1].ForceSetInteractable((FVRInteractiveObject)(object)RevolverDAR);
}
}
else
{
GM.CurrentMovementManager.Hands[1].Display_Controller.SetActive(false);
GM.CurrentMovementManager.Hands[1].Display_InteractionSphere.SetActive(false);
GM.CurrentMovementManager.Hands[1].Display_InteractionSphere_Palm.SetActive(false);
if ((Object)(object)((Component)RevolverDAR).gameObject.GetComponent<Rigidbody>() != (Object)null)
{
((Component)RevolverDAR).gameObject.GetComponent<Rigidbody>().isKinematic = true;
}
((FVRInteractiveObject)RevolverDAR).IsSimpleInteract = true;
((Component)RevolverDAR).gameObject.transform.position = WagPosR.transform.position;
((Component)RevolverDAR).gameObject.transform.eulerAngles = WagPosR.transform.eulerAngles;
}
}
if ((Object)(object)RevolverSAR != (Object)null)
{
if (GeoR.transform.localEulerAngles.x >= 260f && GeoR.transform.localEulerAngles.x <= 280f)
{
if ((Object)(object)GM.CurrentMovementManager.Hands[1].m_currentInteractable != (Object)(object)RevolverSAR)
{
WagR.angleLimitLeft = 0f;
WagR.angleLimitRight = 0f;
if ((Object)(object)((Component)RevolverSAR).gameObject.GetComponent<Rigidbody>() != (Object)null)
{
((Component)RevolverSAR).gameObject.GetComponent<Rigidbody>().useGravity = false;
((Component)RevolverSAR).gameObject.GetComponent<Rigidbody>().isKinematic = true;
}
((FVRInteractiveObject)RevolverSAR).IsSimpleInteract = false;
((FVRInteractiveObject)RevolverSAR).BeginInteraction(GM.CurrentMovementManager.Hands[1]);
GM.CurrentMovementManager.Hands[1].ForceSetInteractable((FVRInteractiveObject)(object)RevolverSAR);
}
}
else
{
GM.CurrentMovementManager.Hands[1].Display_Controller.SetActive(false);
GM.CurrentMovementManager.Hands[1].Display_InteractionSphere.SetActive(false);
GM.CurrentMovementManager.Hands[1].Display_InteractionSphere_Palm.SetActive(false);
if ((Object)(object)((Component)RevolverSAR).gameObject.GetComponent<Rigidbody>() != (Object)null)
{
((Component)RevolverSAR).gameObject.GetComponent<Rigidbody>().isKinematic = true;
}
((FVRInteractiveObject)RevolverSAR).IsSimpleInteract = true;
((Component)RevolverSAR).gameObject.transform.position = WagPosR.transform.position;
((Component)RevolverSAR).gameObject.transform.eulerAngles = WagPosR.transform.eulerAngles;
}
}
}
if (!GM.CurrentMovementManager.Hands[1].Input.GripPressed)
{
if ((Object)(object)RS != (Object)null)
{
RS.canspinR = false;
}
WagR.angleLimitLeft = 3600f;
WagR.angleLimitRight = 3600f;
}
}
if (GM.CurrentMovementManager.Hands[1].Input.TriggerFloat <= 0.2f)
{
if ((Object)(object)RS != (Object)null)
{
RS.canspinR = false;
}
if (!GM.CurrentMovementManager.Hands[1].Input.GripPressed)
{
if ((Object)(object)RevolverDAR != (Object)null)
{
if ((Object)(object)((Component)RevolverDAR).gameObject.GetComponent<Rigidbody>() != (Object)null)
{
((Component)RevolverDAR).gameObject.GetComponent<Rigidbody>().useGravity = true;
((Component)RevolverDAR).gameObject.GetComponent<Rigidbody>().isKinematic = false;
((Component)RevolverDAR).gameObject.GetComponent<Rigidbody>().AddForce(GM.CurrentMovementManager.Hands[1].Input.VelLinearWorld * ((Vector3)(ref GM.CurrentMovementManager.Hands[1].Input.VelLinearWorld)).magnitude * 0.25f, (ForceMode)2);
if (num3 > 0f)
{
((Component)RevolverDAR).gameObject.GetComponent<Rigidbody>().AddRelativeTorque(new Vector3(num4 * 0.01f, 0f, 0f), (ForceMode)2);
}
if (num3 <= 0f)
{
((Component)RevolverDAR).gameObject.GetComponent<Rigidbody>().AddRelativeTorque(new Vector3(num4 * 0.01f, 0f, 0f), (ForceMode)2);
}
}
((Component)RevolverDAR).gameObject.transform.SetParent((Transform)null);
RevolverDAR = null;
SpinnPosR = null;
WagPosR.transform.localPosition = new Vector3(0f, 0f, 0f);
WagPosR.transform.localEulerAngles = new Vector3(0f, 0f, 0f);
SpinnHR.transform.localPosition = new Vector3(0f, 0f, 0f);
GM.CurrentMovementManager.Hands[1].Display_Controller.SetActive(true);
GM.CurrentMovementManager.Hands[1].Display_InteractionSphere.SetActive(true);
GM.CurrentMovementManager.Hands[1].Display_InteractionSphere_Palm.SetActive(true);
}
if ((Object)(object)RevolverSAR != (Object)null)
{
if ((Object)(object)((Component)RevolverSAR).gameObject.GetComponent<Rigidbody>() != (Object)null)
{
((Component)RevolverSAR).gameObject.GetComponent<Rigidbody>().useGravity = true;
((Component)RevolverSAR).gameObject.GetComponent<Rigidbody>().isKinematic = false;
((Component)RevolverSAR).gameObject.GetComponent<Rigidbody>().AddForce(GM.CurrentMovementManager.Hands[1].Input.VelLinearWorld * ((Vector3)(ref GM.CurrentMovementManager.Hands[1].Input.VelLinearWorld)).magnitude * 0.25f, (ForceMode)2);
if (num3 > 0f)
{
((Component)RevolverSAR).gameObject.GetComponent<Rigidbody>().AddRelativeTorque(new Vector3(num4 * 0.01f, 0f, 0f), (ForceMode)2);
}
if (num3 <= 0f)
{
((Component)RevolverSAR).gameObject.GetComponent<Rigidbody>().AddRelativeTorque(new Vector3(num4 * 0.01f, 0f, 0f), (ForceMode)2);
}
}
((Component)RevolverSAR).gameObject.transform.SetParent((Transform)null);
RevolverSAR = null;
SpinnPosR = null;
WagPosR.transform.localPosition = new Vector3(0f, 0f, 0f);
WagPosR.transform.localEulerAngles = new Vector3(0f, 0f, 0f);
SpinnHR.transform.localPosition = new Vector3(0f, 0f, 0f);
GM.CurrentMovementManager.Hands[1].Display_Controller.SetActive(true);
GM.CurrentMovementManager.Hands[1].Display_InteractionSphere.SetActive(true);
GM.CurrentMovementManager.Hands[1].Display_InteractionSphere_Palm.SetActive(true);
}
}
WagR.angleLimitLeft = 0f;
WagR.angleLimitRight = 0f;
}
if ((Object)(object)GM.CurrentMovementManager.Hands[0].m_currentInteractable != (Object)null)
{
if ((Object)(object)RevolverDAL == (Object)null && (Object)(object)((Component)GM.CurrentMovementManager.Hands[0].m_currentInteractable).gameObject.GetComponent<Revolver>() != (Object)null)
{
RevolverDAL = ((Component)GM.CurrentMovementManager.Hands[0].m_currentInteractable).gameObject.GetComponent<Revolver>();
}
if ((Object)(object)RevolverSAL == (Object)null && (Object)(object)((Component)GM.CurrentMovementManager.Hands[0].m_currentInteractable).gameObject.GetComponent<SingleActionRevolver>() != (Object)null)
{
RevolverSAL = ((Component)GM.CurrentMovementManager.Hands[0].m_currentInteractable).gameObject.GetComponent<SingleActionRevolver>();
}
}
if ((Object)(object)GM.CurrentMovementManager.Hands[1].m_currentInteractable != (Object)null)
{
if ((Object)(object)RevolverDAR == (Object)null && (Object)(object)((Component)GM.CurrentMovementManager.Hands[1].m_currentInteractable).gameObject.GetComponent<Revolver>() != (Object)null)
{
RevolverDAR = ((Component)GM.CurrentMovementManager.Hands[1].m_currentInteractable).gameObject.GetComponent<Revolver>();
}
if ((Object)(object)RevolverSAR == (Object)null && (Object)(object)((Component)GM.CurrentMovementManager.Hands[1].m_currentInteractable).gameObject.GetComponent<SingleActionRevolver>() != (Object)null)
{
RevolverSAR = ((Component)GM.CurrentMovementManager.Hands[1].m_currentInteractable).gameObject.GetComponent<SingleActionRevolver>();
}
}
}
}
public class RevolverSpin : MonoBehaviour
{
public bool canspinL;
public bool canspinR;
public GameObject GeoL;
public GameObject GeoR;
public AudioEvent aud;
public AudioEvent grab;
public bool SpinnAudTrigL;
public bool SpinnAudTrigR;
public void Update()
{
//IL_0066: Unknown result type (might be due to invalid IL or missing references)
//IL_008f: Unknown result type (might be due to invalid IL or missing references)
//IL_00af: Unknown result type (might be due to invalid IL or missing references)
//IL_00b4: Unknown result type (might be due to invalid IL or missing references)
//IL_0132: Unknown result type (might be due to invalid IL or missing references)
//IL_0137: Unknown result type (might be due to invalid IL or missing references)
//IL_00d1: Unknown result type (might be due to invalid IL or missing references)
//IL_00d6: Unknown result type (might be due to invalid IL or missing references)
//IL_01b5: Unknown result type (might be due to invalid IL or missing references)
//IL_01ba: Unknown result type (might be due to invalid IL or missing references)
//IL_0154: Unknown result type (might be due to invalid IL or missing references)
//IL_0159: Unknown result type (might be due to invalid IL or missing references)
//IL_01fb: Unknown result type (might be due to invalid IL or missing references)
//IL_0200: Unknown result type (might be due to invalid IL or missing references)
//IL_01d8: Unknown result type (might be due to invalid IL or missing references)
//IL_01dd: Unknown result type (might be due to invalid IL or missing references)
//IL_0108: Unknown result type (might be due to invalid IL or missing references)
//IL_029b: Unknown result type (might be due to invalid IL or missing references)
//IL_02a0: Unknown result type (might be due to invalid IL or missing references)
//IL_0241: Unknown result type (might be due to invalid IL or missing references)
//IL_0246: Unknown result type (might be due to invalid IL or missing references)
//IL_021e: Unknown result type (might be due to invalid IL or missing references)
//IL_0223: Unknown result type (might be due to invalid IL or missing references)
//IL_018b: Unknown result type (might be due to invalid IL or missing references)
//IL_02e1: Unknown result type (might be due to invalid IL or missing references)
//IL_02e6: Unknown result type (might be due to invalid IL or missing references)
//IL_02be: Unknown result type (might be due to invalid IL or missing references)
//IL_02c3: Unknown result type (might be due to invalid IL or missing references)
//IL_0264: Unknown result type (might be due to invalid IL or missing references)
//IL_0269: Unknown result type (might be due to invalid IL or missing references)
//IL_0327: Unknown result type (might be due to invalid IL or missing references)
//IL_032c: Unknown result type (might be due to invalid IL or missing references)
//IL_0304: Unknown result type (might be due to invalid IL or missing references)
//IL_0309: Unknown result type (might be due to invalid IL or missing references)
//IL_034a: Unknown result type (might be due to invalid IL or missing references)
//IL_034f: Unknown result type (might be due to invalid IL or missing references)
if ((Object)(object)GeoL == (Object)null)
{
GeoL = GameObject.Find("GeoL(Clone)");
}
if ((Object)(object)GeoR == (Object)null)
{
GeoR = GameObject.Find("GeoR(Clone)");
}
((Component)this).gameObject.transform.position = ((Component)GM.CurrentMovementManager.Head).gameObject.transform.position;
((Component)this).gameObject.transform.rotation = ((Component)GM.CurrentMovementManager.Head).gameObject.transform.rotation;
if (canspinL && GeoL.transform.localEulerAngles.x >= 260f && GeoL.transform.localEulerAngles.x <= 280f && !SpinnAudTrigL)
{
SM.PlayCoreSound((FVRPooledAudioType)41, aud, GeoL.transform.position);
SpinnAudTrigL = true;
}
if (canspinR && GeoR.transform.localEulerAngles.x >= 260f && GeoR.transform.localEulerAngles.x <= 280f && !SpinnAudTrigR)
{
SM.PlayCoreSound((FVRPooledAudioType)41, aud, GeoR.transform.position);
SpinnAudTrigR = true;
}
if (!canspinL || (GeoL.transform.localEulerAngles.x < 260f && GeoL.transform.localEulerAngles.x >= 180f) || (GeoL.transform.localEulerAngles.x > 280f && GeoL.transform.localEulerAngles.x <= 360f) || (GeoL.transform.localEulerAngles.x > 0f && GeoL.transform.localEulerAngles.x <= 180f))
{
SpinnAudTrigL = false;
}
if (!canspinR || (GeoR.transform.localEulerAngles.x < 260f && GeoR.transform.localEulerAngles.x >= 180f) || (GeoR.transform.localEulerAngles.x > 280f && GeoR.transform.localEulerAngles.x <= 360f) || (GeoR.transform.localEulerAngles.x > 0f && GeoR.transform.localEulerAngles.x <= 180f))
{
SpinnAudTrigR = false;
}
}
}
}