mirror of
https://github.com/hanetzer/sdraw_mods_cvr.git
synced 2025-09-03 10:29:22 +00:00
Update to game build 2023r171
This commit is contained in:
parent
2e25d098d8
commit
320846f7d4
42 changed files with 724 additions and 1548 deletions
|
@ -2,16 +2,14 @@
|
|||
using ABI_RC.Core.Player;
|
||||
using ABI_RC.Core.Savior;
|
||||
using ABI_RC.Systems.IK;
|
||||
using ABI_RC.Systems.InputManagement;
|
||||
using System.Collections;
|
||||
using UnityEngine;
|
||||
|
||||
namespace ml_lme
|
||||
{
|
||||
[DisallowMultipleComponent]
|
||||
class LeapInput : CVRInputModule
|
||||
{
|
||||
CVRInputManager m_inputManager = null;
|
||||
InputModuleSteamVR m_steamVrModule = null;
|
||||
bool m_inVR = false;
|
||||
bool m_gripToGrab = true;
|
||||
|
||||
|
@ -26,29 +24,37 @@ namespace ml_lme
|
|||
bool m_gripLeft = false;
|
||||
bool m_gripRight = false;
|
||||
|
||||
public new void Start()
|
||||
~LeapInput()
|
||||
{
|
||||
base.Start();
|
||||
Settings.EnabledChange -= this.OnEnableChange;
|
||||
Settings.InputChange -= this.OnInputChange;
|
||||
|
||||
MetaPort.Instance.settings.settingBoolChanged.RemoveListener(this.OnGameSettingBoolChange);
|
||||
}
|
||||
|
||||
public override void ModuleAdded()
|
||||
{
|
||||
base.ModuleAdded();
|
||||
|
||||
InputEnabled = Settings.Enabled;
|
||||
HapticFeedback = false;
|
||||
|
||||
m_inputManager = CVRInputManager.Instance; // _inputManager is stripped out, cool beans
|
||||
m_steamVrModule = m_inputManager.GetComponent<InputModuleSteamVR>();
|
||||
m_inVR = Utils.IsInVR();
|
||||
|
||||
m_handRayLeft = LeapTracking.GetInstance().GetLeftHand().gameObject.AddComponent<ControllerRay>();
|
||||
m_handRayLeft = LeapTracking.Instance.GetLeftHand().gameObject.AddComponent<ControllerRay>();
|
||||
m_handRayLeft.hand = true;
|
||||
m_handRayLeft.generalMask = -1485;
|
||||
m_handRayLeft.isInteractionRay = true;
|
||||
m_handRayLeft.triggerGazeEvents = false;
|
||||
m_handRayLeft.holderRoot = m_handRayLeft.gameObject;
|
||||
m_handRayLeft.attachmentDistance = 0f;
|
||||
|
||||
m_handRayRight = LeapTracking.GetInstance().GetRightHand().gameObject.AddComponent<ControllerRay>();
|
||||
m_handRayRight = LeapTracking.Instance.GetRightHand().gameObject.AddComponent<ControllerRay>();
|
||||
m_handRayRight.hand = false;
|
||||
m_handRayRight.generalMask = -1485;
|
||||
m_handRayRight.isInteractionRay = true;
|
||||
m_handRayRight.triggerGazeEvents = false;
|
||||
m_handRayRight.holderRoot = m_handRayRight.gameObject;
|
||||
m_handRayRight.attachmentDistance = 0f;
|
||||
m_handRayLeft.attachmentDistance = 0f;
|
||||
|
||||
m_lineLeft = m_handRayLeft.gameObject.AddComponent<LineRenderer>();
|
||||
m_lineLeft.endWidth = 1f;
|
||||
|
@ -61,6 +67,7 @@ namespace ml_lme
|
|||
m_lineLeft.enabled = false;
|
||||
m_lineLeft.receiveShadows = false;
|
||||
m_handRayLeft.lineRenderer = m_lineLeft;
|
||||
m_handRayRight.attachmentDistance = 0f;
|
||||
|
||||
m_lineRight = m_handRayRight.gameObject.AddComponent<LineRenderer>();
|
||||
m_lineRight.endWidth = 1f;
|
||||
|
@ -112,20 +119,12 @@ namespace ml_lme
|
|||
m_lineRight.gameObject.layer = PlayerSetup.Instance.leftRay.gameObject.layer;
|
||||
}
|
||||
|
||||
void OnDestroy()
|
||||
public override void UpdateInput()
|
||||
{
|
||||
Settings.EnabledChange -= this.OnEnableChange;
|
||||
Settings.InputChange -= this.OnInputChange;
|
||||
|
||||
MetaPort.Instance.settings.settingBoolChanged.RemoveListener(this.OnGameSettingBoolChange);
|
||||
}
|
||||
|
||||
void Update()
|
||||
{
|
||||
GestureMatcher.LeapData l_data = LeapManager.GetInstance().GetLatestData();
|
||||
|
||||
if(Settings.Enabled)
|
||||
if(InputEnabled)
|
||||
{
|
||||
GestureMatcher.LeapData l_data = LeapManager.Instance.GetLatestData();
|
||||
|
||||
if(l_data.m_leftHand.m_present)
|
||||
{
|
||||
SetFingersInput(l_data.m_leftHand, true);
|
||||
|
@ -162,25 +161,24 @@ namespace ml_lme
|
|||
{
|
||||
if(m_inVR)
|
||||
{
|
||||
m_inputManager.individualFingerTracking = !m_steamVrModule.GetIndexGestureToggle();
|
||||
m_inputManager.individualFingerTracking |= (l_data.m_leftHand.m_present || l_data.m_rightHand.m_present);
|
||||
_inputManager.individualFingerTracking = !CVRInputManager._moduleXR.GestureToggleValue;
|
||||
_inputManager.individualFingerTracking |= (l_data.m_leftHand.m_present || l_data.m_rightHand.m_present);
|
||||
}
|
||||
else
|
||||
m_inputManager.individualFingerTracking = (l_data.m_leftHand.m_present || l_data.m_rightHand.m_present);
|
||||
IKSystem.Instance.FingerSystem.controlActive = m_inputManager.individualFingerTracking;
|
||||
_inputManager.individualFingerTracking = (l_data.m_leftHand.m_present || l_data.m_rightHand.m_present);
|
||||
IKSystem.Instance.FingerSystem.controlActive = _inputManager.individualFingerTracking;
|
||||
}
|
||||
}
|
||||
|
||||
m_handRayLeft.enabled = (l_data.m_leftHand.m_present && (!m_inVR || !Utils.IsLeftHandTracked() || !Settings.FingersOnly));
|
||||
m_handRayRight.enabled = (l_data.m_rightHand.m_present && (!m_inVR || !Utils.IsRightHandTracked() || !Settings.FingersOnly));
|
||||
m_handRayLeft.enabled = (l_data.m_leftHand.m_present && (!m_inVR || !Utils.IsLeftHandTracked() || !Settings.FingersOnly));
|
||||
m_handRayRight.enabled = (l_data.m_rightHand.m_present && (!m_inVR || !Utils.IsRightHandTracked() || !Settings.FingersOnly));
|
||||
|
||||
base.UpdateInput();
|
||||
}
|
||||
}
|
||||
|
||||
public override void UpdateInput()
|
||||
public override void Update_Interaction()
|
||||
{
|
||||
if(!Settings.Enabled)
|
||||
return;
|
||||
|
||||
GestureMatcher.LeapData l_data = LeapManager.GetInstance().GetLatestData();
|
||||
GestureMatcher.LeapData l_data = LeapManager.Instance.GetLatestData();
|
||||
|
||||
if(Settings.Input)
|
||||
{
|
||||
|
@ -193,22 +191,22 @@ namespace ml_lme
|
|||
l_interactValue = Mathf.Clamp01(Mathf.InverseLerp(Mathf.Min(Settings.GripThreadhold, Settings.InteractThreadhold), Mathf.Max(Settings.GripThreadhold, Settings.InteractThreadhold), l_strength));
|
||||
else
|
||||
l_interactValue = Mathf.Clamp01(Mathf.InverseLerp(0f, Settings.InteractThreadhold, l_strength));
|
||||
m_inputManager.interactLeftValue = Mathf.Max(l_interactValue, m_inputManager.interactLeftValue);
|
||||
_inputManager.interactLeftValue = Mathf.Max(l_interactValue, _inputManager.interactLeftValue);
|
||||
|
||||
if(m_interactLeft != (l_strength > Settings.InteractThreadhold))
|
||||
{
|
||||
m_interactLeft = (l_strength > Settings.InteractThreadhold);
|
||||
m_inputManager.interactLeftDown |= m_interactLeft;
|
||||
m_inputManager.interactLeftUp |= !m_interactLeft;
|
||||
_inputManager.interactLeftDown |= m_interactLeft;
|
||||
_inputManager.interactLeftUp |= !m_interactLeft;
|
||||
}
|
||||
|
||||
float l_gripValue = Mathf.Clamp01(Mathf.InverseLerp(0f, Settings.GripThreadhold, l_strength));
|
||||
m_inputManager.gripLeftValue = Mathf.Max(l_gripValue, m_inputManager.gripLeftValue);
|
||||
_inputManager.gripLeftValue = Mathf.Max(l_gripValue, _inputManager.gripLeftValue);
|
||||
if(m_gripLeft != (l_strength > Settings.GripThreadhold))
|
||||
{
|
||||
m_gripLeft = (l_strength > Settings.GripThreadhold);
|
||||
m_inputManager.gripLeftDown |= m_gripLeft;
|
||||
m_inputManager.gripLeftUp |= !m_gripLeft;
|
||||
_inputManager.gripLeftDown |= m_gripLeft;
|
||||
_inputManager.gripLeftUp |= !m_gripLeft;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -221,22 +219,22 @@ namespace ml_lme
|
|||
l_interactValue = Mathf.Clamp01(Mathf.InverseLerp(Mathf.Min(Settings.GripThreadhold, Settings.InteractThreadhold), Mathf.Max(Settings.GripThreadhold, Settings.InteractThreadhold), l_strength));
|
||||
else
|
||||
l_interactValue = Mathf.Clamp01(Mathf.InverseLerp(0f, Settings.InteractThreadhold, l_strength));
|
||||
m_inputManager.interactRightValue = Mathf.Max(l_interactValue, m_inputManager.interactRightValue);
|
||||
_inputManager.interactRightValue = Mathf.Max(l_interactValue, _inputManager.interactRightValue);
|
||||
|
||||
if(m_interactRight != (l_strength > Settings.InteractThreadhold))
|
||||
{
|
||||
m_interactRight = (l_strength > Settings.InteractThreadhold);
|
||||
m_inputManager.interactRightDown |= m_interactRight;
|
||||
m_inputManager.interactRightUp |= !m_interactRight;
|
||||
_inputManager.interactRightDown |= m_interactRight;
|
||||
_inputManager.interactRightUp |= !m_interactRight;
|
||||
}
|
||||
|
||||
float l_gripValue = Mathf.Clamp01(Mathf.InverseLerp(0f, Settings.GripThreadhold, l_strength));
|
||||
m_inputManager.gripRightValue = Mathf.Max(l_gripValue, m_inputManager.gripRightValue);
|
||||
_inputManager.gripRightValue = Mathf.Max(l_gripValue, _inputManager.gripRightValue);
|
||||
if(m_gripRight != (l_strength > Settings.GripThreadhold))
|
||||
{
|
||||
m_gripRight = (l_strength > Settings.GripThreadhold);
|
||||
m_inputManager.gripRightDown |= m_gripRight;
|
||||
m_inputManager.gripRightUp |= !m_gripRight;
|
||||
_inputManager.gripRightDown |= m_gripRight;
|
||||
_inputManager.gripRightUp |= !m_gripRight;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -246,87 +244,91 @@ namespace ml_lme
|
|||
// Left hand gestures
|
||||
if(l_data.m_leftHand.m_present)
|
||||
{
|
||||
m_inputManager.gestureLeftRaw = 0f;
|
||||
_inputManager.gestureLeftRaw = 0f;
|
||||
|
||||
// Finger Point & Finger Gun
|
||||
if((m_inputManager.fingerCurlLeftIndex < 0.2f) && (m_inputManager.fingerCurlLeftMiddle > 0.75f) &&
|
||||
(m_inputManager.fingerCurlLeftRing > 0.75f) && (m_inputManager.fingerCurlLeftPinky > 0.75f))
|
||||
if(_inputManager.fingerCurlLeftIndex < 0.2f && _inputManager.fingerCurlLeftMiddle > 0.75f &&
|
||||
_inputManager.fingerCurlLeftRing > 0.75f && _inputManager.fingerCurlLeftPinky > 0.75f)
|
||||
{
|
||||
m_inputManager.gestureLeftRaw = (m_inputManager.fingerCurlLeftThumb >= 0.5f) ? 4f : 3f;
|
||||
_inputManager.gestureLeftRaw = _inputManager.fingerCurlLeftThumb >= 0.5f ? 4f : 3f;
|
||||
}
|
||||
|
||||
// Peace Sign
|
||||
if((m_inputManager.fingerCurlLeftIndex < 0.2f) && (m_inputManager.fingerCurlLeftMiddle < 0.2f) &&
|
||||
(m_inputManager.fingerCurlLeftRing > 0.75f) && (m_inputManager.fingerCurlLeftPinky > 0.75f))
|
||||
if(_inputManager.fingerCurlLeftIndex < 0.2f && _inputManager.fingerCurlLeftMiddle < 0.2f &&
|
||||
_inputManager.fingerCurlLeftRing > 0.75f && _inputManager.fingerCurlLeftPinky > 0.75f)
|
||||
{
|
||||
m_inputManager.gestureLeftRaw = 5f;
|
||||
_inputManager.gestureLeftRaw = 5f;
|
||||
}
|
||||
|
||||
// Rock and Roll
|
||||
if((m_inputManager.fingerCurlLeftIndex < 0.2f) && (m_inputManager.fingerCurlLeftMiddle > 0.75f) &&
|
||||
(m_inputManager.fingerCurlLeftRing > 0.75f) && (m_inputManager.fingerCurlLeftPinky < 0.5f))
|
||||
if(_inputManager.fingerCurlLeftIndex < 0.2f && _inputManager.fingerCurlLeftMiddle > 0.75f &&
|
||||
_inputManager.fingerCurlLeftRing > 0.75f && _inputManager.fingerCurlLeftPinky < 0.5f)
|
||||
{
|
||||
m_inputManager.gestureLeftRaw = 6f;
|
||||
_inputManager.gestureLeftRaw = 6f;
|
||||
}
|
||||
|
||||
// Fist & Thumbs Up
|
||||
if((m_inputManager.fingerCurlLeftIndex > 0.5f) && (m_inputManager.fingerCurlLeftMiddle > 0.5f) &&
|
||||
(m_inputManager.fingerCurlLeftRing > 0.5f) && (m_inputManager.fingerCurlLeftPinky > 0.5f))
|
||||
if(_inputManager.fingerCurlLeftIndex > 0.5f && _inputManager.fingerCurlLeftMiddle > 0.5f &&
|
||||
_inputManager.fingerCurlLeftRing > 0.5f && _inputManager.fingerCurlLeftPinky > 0.5f)
|
||||
{
|
||||
m_inputManager.gestureLeftRaw = (m_inputManager.fingerCurlLeftThumb >= 0.5f) ? ((l_data.m_rightHand.m_grabStrength - 0.5f) * 2f) : 2f;
|
||||
_inputManager.gestureLeftRaw = _inputManager.fingerCurlLeftThumb >= 0.5f
|
||||
? (l_data.m_rightHand.m_grabStrength - 0.5f) * 2f
|
||||
: 2f;
|
||||
}
|
||||
|
||||
// Open Hand
|
||||
if((m_inputManager.fingerCurlLeftIndex < 0.2f) && (m_inputManager.fingerCurlLeftMiddle < 0.2f) &&
|
||||
(m_inputManager.fingerCurlLeftRing < 0.2f) && (m_inputManager.fingerCurlLeftPinky < 0.2f))
|
||||
if(_inputManager.fingerCurlLeftIndex < 0.2f && _inputManager.fingerCurlLeftMiddle < 0.2f &&
|
||||
_inputManager.fingerCurlLeftRing < 0.2f && _inputManager.fingerCurlLeftPinky < 0.2f)
|
||||
{
|
||||
m_inputManager.gestureLeftRaw = -1f;
|
||||
_inputManager.gestureLeftRaw = -1f;
|
||||
}
|
||||
|
||||
m_inputManager.gestureLeft = m_inputManager.gestureLeftRaw;
|
||||
_inputManager.gestureLeft = _inputManager.gestureLeftRaw;
|
||||
}
|
||||
|
||||
// Right hand gestures
|
||||
if(l_data.m_rightHand.m_present)
|
||||
{
|
||||
m_inputManager.gestureRightRaw = 0f;
|
||||
_inputManager.gestureRightRaw = 0f;
|
||||
|
||||
// Finger Point & Finger Gun
|
||||
if((m_inputManager.fingerCurlRightIndex < 0.2f) && (m_inputManager.fingerCurlRightMiddle > 0.75f) &&
|
||||
(m_inputManager.fingerCurlRightRing > 0.75f) && (m_inputManager.fingerCurlRightPinky > 0.75f))
|
||||
if(_inputManager.fingerCurlRightIndex < 0.2f && _inputManager.fingerCurlRightMiddle > 0.75f &&
|
||||
_inputManager.fingerCurlRightRing > 0.75f && _inputManager.fingerCurlRightPinky > 0.75f)
|
||||
{
|
||||
m_inputManager.gestureRightRaw = (m_inputManager.fingerCurlRightThumb >= 0.5f) ? 4f : 3f;
|
||||
_inputManager.gestureRightRaw = _inputManager.fingerCurlRightThumb >= 0.5f ? 4f : 3f;
|
||||
}
|
||||
|
||||
// Peace Sign
|
||||
if((m_inputManager.fingerCurlRightIndex < 0.2f) && (m_inputManager.fingerCurlRightMiddle < 0.2f) &&
|
||||
(m_inputManager.fingerCurlRightRing > 0.75f) && (m_inputManager.fingerCurlRightPinky > 0.75f))
|
||||
if(_inputManager.fingerCurlRightIndex < 0.2f && _inputManager.fingerCurlRightMiddle < 0.2f &&
|
||||
_inputManager.fingerCurlRightRing > 0.75f && _inputManager.fingerCurlRightPinky > 0.75f)
|
||||
{
|
||||
m_inputManager.gestureRightRaw = 5f;
|
||||
_inputManager.gestureRightRaw = 5f;
|
||||
}
|
||||
|
||||
// Rock and Roll
|
||||
if((m_inputManager.fingerCurlRightIndex < 0.2f) && (m_inputManager.fingerCurlRightMiddle > 0.75f) &&
|
||||
(m_inputManager.fingerCurlRightRing > 0.75f) && (m_inputManager.fingerCurlRightPinky < 0.5f))
|
||||
if(_inputManager.fingerCurlRightIndex < 0.2f && _inputManager.fingerCurlRightMiddle > 0.75f &&
|
||||
_inputManager.fingerCurlRightRing > 0.75f && _inputManager.fingerCurlRightPinky < 0.5f)
|
||||
{
|
||||
m_inputManager.gestureRightRaw = 6f;
|
||||
_inputManager.gestureRightRaw = 6f;
|
||||
}
|
||||
|
||||
// Fist & Thumbs Up
|
||||
if((m_inputManager.fingerCurlRightIndex > 0.5f) && (m_inputManager.fingerCurlRightMiddle > 0.5f) &&
|
||||
(m_inputManager.fingerCurlRightRing > 0.5f) && (m_inputManager.fingerCurlRightPinky > 0.5f))
|
||||
if(_inputManager.fingerCurlRightIndex > 0.5f && _inputManager.fingerCurlRightMiddle > 0.5f &&
|
||||
_inputManager.fingerCurlRightRing > 0.5f && _inputManager.fingerCurlRightPinky > 0.5f)
|
||||
{
|
||||
m_inputManager.gestureRightRaw = (m_inputManager.fingerCurlRightThumb >= 0.5f) ? ((l_data.m_rightHand.m_grabStrength - 0.5f) * 2f) : 2f;
|
||||
_inputManager.gestureRightRaw = _inputManager.fingerCurlRightThumb >= 0.5f
|
||||
? (l_data.m_rightHand.m_grabStrength - 0.5f) * 2f
|
||||
: 2f;
|
||||
}
|
||||
|
||||
// Open Hand
|
||||
if((m_inputManager.fingerCurlRightIndex < 0.2f) && (m_inputManager.fingerCurlRightMiddle < 0.2f) &&
|
||||
(m_inputManager.fingerCurlRightRing < 0.2f) && (m_inputManager.fingerCurlRightPinky < 0.2f))
|
||||
if(_inputManager.fingerCurlRightIndex < 0.2f && _inputManager.fingerCurlRightMiddle < 0.2f &&
|
||||
_inputManager.fingerCurlRightRing < 0.2f && _inputManager.fingerCurlRightPinky < 0.2f)
|
||||
{
|
||||
m_inputManager.gestureRightRaw = -1f;
|
||||
_inputManager.gestureRightRaw = -1f;
|
||||
}
|
||||
|
||||
m_inputManager.gestureRight = m_inputManager.gestureRightRaw;
|
||||
_inputManager.gestureRight = _inputManager.gestureRightRaw;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -334,6 +336,8 @@ namespace ml_lme
|
|||
// Settings changes
|
||||
void OnEnableChange(bool p_state)
|
||||
{
|
||||
InputEnabled = p_state;
|
||||
|
||||
OnInputChange(p_state && Settings.Input);
|
||||
UpdateFingerTracking();
|
||||
m_handVisibleLeft &= p_state;
|
||||
|
@ -364,10 +368,10 @@ namespace ml_lme
|
|||
|
||||
void OnGesturesChange(bool p_state)
|
||||
{
|
||||
m_inputManager.gestureLeft = 0f;
|
||||
m_inputManager.gestureLeftRaw = 0f;
|
||||
m_inputManager.gestureRight = 0f;
|
||||
m_inputManager.gestureRightRaw = 0f;
|
||||
_inputManager.gestureLeft = 0f;
|
||||
_inputManager.gestureLeftRaw = 0f;
|
||||
_inputManager.gestureRight = 0f;
|
||||
_inputManager.gestureRightRaw = 0f;
|
||||
}
|
||||
|
||||
// Game events
|
||||
|
@ -386,8 +390,8 @@ namespace ml_lme
|
|||
// Arbitrary
|
||||
void UpdateFingerTracking()
|
||||
{
|
||||
m_inputManager.individualFingerTracking = (Settings.Enabled || (m_inVR && Utils.AreKnucklesInUse() && !m_steamVrModule.GetIndexGestureToggle()));
|
||||
IKSystem.Instance.FingerSystem.controlActive = m_inputManager.individualFingerTracking;
|
||||
_inputManager.individualFingerTracking = (Settings.Enabled || (m_inVR && Utils.AreKnucklesInUse() && !CVRInputManager._moduleXR.GestureToggleValue));
|
||||
IKSystem.Instance.FingerSystem.controlActive = _inputManager.individualFingerTracking;
|
||||
|
||||
if(!Settings.Enabled)
|
||||
{
|
||||
|
@ -400,29 +404,29 @@ namespace ml_lme
|
|||
{
|
||||
if(p_left)
|
||||
{
|
||||
m_inputManager.fingerCurlLeftThumb = p_hand.m_bends[0];
|
||||
m_inputManager.fingerCurlLeftIndex = p_hand.m_bends[1];
|
||||
m_inputManager.fingerCurlLeftMiddle = p_hand.m_bends[2];
|
||||
m_inputManager.fingerCurlLeftRing = p_hand.m_bends[3];
|
||||
m_inputManager.fingerCurlLeftPinky = p_hand.m_bends[4];
|
||||
IKSystem.Instance.FingerSystem.leftThumbCurl = p_hand.m_bends[0];
|
||||
IKSystem.Instance.FingerSystem.leftIndexCurl = p_hand.m_bends[1];
|
||||
IKSystem.Instance.FingerSystem.leftMiddleCurl = p_hand.m_bends[2];
|
||||
IKSystem.Instance.FingerSystem.leftRingCurl = p_hand.m_bends[3];
|
||||
IKSystem.Instance.FingerSystem.leftPinkyCurl = p_hand.m_bends[4];
|
||||
_inputManager.fingerCurlLeftThumb = p_hand.m_bends[0];
|
||||
_inputManager.fingerCurlLeftIndex = p_hand.m_bends[1];
|
||||
_inputManager.fingerCurlLeftMiddle = p_hand.m_bends[2];
|
||||
_inputManager.fingerCurlLeftRing = p_hand.m_bends[3];
|
||||
_inputManager.fingerCurlLeftPinky = p_hand.m_bends[4];
|
||||
_inputManager.fingerSpreadLeftThumb = p_hand.m_spreads[0];
|
||||
_inputManager.fingerSpreadLeftIndex = p_hand.m_spreads[1];
|
||||
_inputManager.fingerSpreadLeftMiddle = p_hand.m_spreads[2];
|
||||
_inputManager.fingerSpreadLeftRing = p_hand.m_spreads[3];
|
||||
_inputManager.fingerSpreadLeftPinky = p_hand.m_spreads[4];
|
||||
}
|
||||
else
|
||||
{
|
||||
m_inputManager.fingerCurlRightThumb = p_hand.m_bends[0];
|
||||
m_inputManager.fingerCurlRightIndex = p_hand.m_bends[1];
|
||||
m_inputManager.fingerCurlRightMiddle = p_hand.m_bends[2];
|
||||
m_inputManager.fingerCurlRightRing = p_hand.m_bends[3];
|
||||
m_inputManager.fingerCurlRightPinky = p_hand.m_bends[4];
|
||||
IKSystem.Instance.FingerSystem.rightThumbCurl = p_hand.m_bends[0];
|
||||
IKSystem.Instance.FingerSystem.rightIndexCurl = p_hand.m_bends[1];
|
||||
IKSystem.Instance.FingerSystem.rightMiddleCurl = p_hand.m_bends[2];
|
||||
IKSystem.Instance.FingerSystem.rightRingCurl = p_hand.m_bends[3];
|
||||
IKSystem.Instance.FingerSystem.rightPinkyCurl = p_hand.m_bends[4];
|
||||
_inputManager.fingerCurlRightThumb = p_hand.m_bends[0];
|
||||
_inputManager.fingerCurlRightIndex = p_hand.m_bends[1];
|
||||
_inputManager.fingerCurlRightMiddle = p_hand.m_bends[2];
|
||||
_inputManager.fingerCurlRightRing = p_hand.m_bends[3];
|
||||
_inputManager.fingerCurlRightPinky = p_hand.m_bends[4];
|
||||
_inputManager.fingerSpreadRightThumb = p_hand.m_spreads[0];
|
||||
_inputManager.fingerSpreadRightIndex = p_hand.m_spreads[1];
|
||||
_inputManager.fingerSpreadRightMiddle = p_hand.m_spreads[2];
|
||||
_inputManager.fingerSpreadRightRing = p_hand.m_spreads[3];
|
||||
_inputManager.fingerSpreadRightPinky = p_hand.m_spreads[4];
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -430,29 +434,29 @@ namespace ml_lme
|
|||
{
|
||||
if(p_left)
|
||||
{
|
||||
m_inputManager.fingerCurlLeftThumb = 0f;
|
||||
m_inputManager.fingerCurlLeftIndex = 0f;
|
||||
m_inputManager.fingerCurlLeftMiddle = 0f;
|
||||
m_inputManager.fingerCurlLeftRing = 0f;
|
||||
m_inputManager.fingerCurlLeftPinky = 0f;
|
||||
IKSystem.Instance.FingerSystem.leftThumbCurl = 0f;
|
||||
IKSystem.Instance.FingerSystem.leftIndexCurl = 0f;
|
||||
IKSystem.Instance.FingerSystem.leftMiddleCurl = 0f;
|
||||
IKSystem.Instance.FingerSystem.leftRingCurl = 0f;
|
||||
IKSystem.Instance.FingerSystem.leftPinkyCurl = 0f;
|
||||
_inputManager.fingerCurlLeftThumb = 0f;
|
||||
_inputManager.fingerCurlLeftIndex = 0f;
|
||||
_inputManager.fingerCurlLeftMiddle = 0f;
|
||||
_inputManager.fingerCurlLeftRing = 0f;
|
||||
_inputManager.fingerCurlLeftPinky = 0f;
|
||||
_inputManager.fingerSpreadLeftThumb = 0f;
|
||||
_inputManager.fingerSpreadLeftIndex = 0f;
|
||||
_inputManager.fingerSpreadLeftMiddle = 0f;
|
||||
_inputManager.fingerSpreadLeftRing = 0f;
|
||||
_inputManager.fingerSpreadLeftPinky = 0f;
|
||||
}
|
||||
else
|
||||
{
|
||||
m_inputManager.fingerCurlRightThumb = 0f;
|
||||
m_inputManager.fingerCurlRightIndex = 0f;
|
||||
m_inputManager.fingerCurlRightMiddle = 0f;
|
||||
m_inputManager.fingerCurlRightRing = 0f;
|
||||
m_inputManager.fingerCurlRightPinky = 0f;
|
||||
IKSystem.Instance.FingerSystem.rightThumbCurl = 0f;
|
||||
IKSystem.Instance.FingerSystem.rightIndexCurl = 0f;
|
||||
IKSystem.Instance.FingerSystem.rightMiddleCurl = 0f;
|
||||
IKSystem.Instance.FingerSystem.rightRingCurl = 0f;
|
||||
IKSystem.Instance.FingerSystem.rightPinkyCurl = 0f;
|
||||
_inputManager.fingerCurlRightThumb = 0f;
|
||||
_inputManager.fingerCurlRightIndex = 0f;
|
||||
_inputManager.fingerCurlRightMiddle = 0f;
|
||||
_inputManager.fingerCurlRightRing = 0f;
|
||||
_inputManager.fingerCurlRightPinky = 0f;
|
||||
_inputManager.fingerSpreadRightThumb = 0f;
|
||||
_inputManager.fingerSpreadRightIndex = 0f;
|
||||
_inputManager.fingerSpreadRightMiddle = 0f;
|
||||
_inputManager.fingerSpreadRightRing = 0f;
|
||||
_inputManager.fingerSpreadRightPinky = 0f;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -460,13 +464,13 @@ namespace ml_lme
|
|||
{
|
||||
if(p_left)
|
||||
{
|
||||
m_inputManager.gestureLeft = 0f;
|
||||
m_inputManager.gestureLeftRaw = 0f;
|
||||
_inputManager.gestureLeft = 0f;
|
||||
_inputManager.gestureLeftRaw = 0f;
|
||||
}
|
||||
else
|
||||
{
|
||||
m_inputManager.gestureRight = 0f;
|
||||
m_inputManager.gestureRightRaw = 0f;
|
||||
_inputManager.gestureRight = 0f;
|
||||
_inputManager.gestureRightRaw = 0f;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
using ABI_RC.Core.Player;
|
||||
using ABI_RC.Core.Savior;
|
||||
using ABI_RC.Systems.InputManagement;
|
||||
using System.Collections;
|
||||
using UnityEngine;
|
||||
|
||||
|
@ -8,32 +9,22 @@ namespace ml_lme
|
|||
[DisallowMultipleComponent]
|
||||
class LeapManager : MonoBehaviour
|
||||
{
|
||||
static LeapManager ms_instance = null;
|
||||
public static LeapManager Instance { get; private set; } = null;
|
||||
|
||||
readonly Leap.Controller m_leapController = null;
|
||||
readonly GestureMatcher.LeapData m_leapData = null;
|
||||
Leap.Controller m_leapController = null;
|
||||
GestureMatcher.LeapData m_leapData = null;
|
||||
|
||||
LeapTracking m_leapTracking = null;
|
||||
LeapTracked m_leapTracked = null;
|
||||
LeapInput m_leapInput = null;
|
||||
|
||||
public static LeapManager GetInstance() => ms_instance;
|
||||
|
||||
internal LeapManager()
|
||||
void Awake()
|
||||
{
|
||||
if(Instance == null)
|
||||
Instance = this;
|
||||
|
||||
m_leapController = new Leap.Controller();
|
||||
m_leapData = new GestureMatcher.LeapData();
|
||||
}
|
||||
~LeapManager()
|
||||
{
|
||||
m_leapController.StopConnection();
|
||||
m_leapController.Dispose();
|
||||
}
|
||||
|
||||
void Start()
|
||||
{
|
||||
if(ms_instance == null)
|
||||
ms_instance = this;
|
||||
|
||||
DontDestroyOnLoad(this);
|
||||
|
||||
|
@ -49,41 +40,44 @@ namespace ml_lme
|
|||
m_leapTracking = new GameObject("[LeapTrackingRoot]").AddComponent<LeapTracking>();
|
||||
m_leapTracking.transform.parent = this.transform;
|
||||
|
||||
MelonLoader.MelonCoroutines.Start(WaitForInputManager());
|
||||
MelonLoader.MelonCoroutines.Start(WaitForLocalPlayer());
|
||||
|
||||
OnEnableChange(Settings.Enabled);
|
||||
OnTrackingModeChange(Settings.TrackingMode);
|
||||
|
||||
MelonLoader.MelonCoroutines.Start(WaitForObjects());
|
||||
}
|
||||
|
||||
void OnDestroy()
|
||||
{
|
||||
if(ms_instance == this)
|
||||
ms_instance = null;
|
||||
if(Instance == this)
|
||||
Instance = null;
|
||||
|
||||
m_leapController.StopConnection();
|
||||
m_leapController.Device -= this.OnLeapDeviceInitialized;
|
||||
m_leapController.DeviceFailure -= this.OnLeapDeviceFailure;
|
||||
m_leapController.DeviceLost -= this.OnLeapDeviceLost;
|
||||
m_leapController.Connect -= this.OnLeapServiceConnect;
|
||||
m_leapController.Disconnect -= this.OnLeapServiceDisconnect;
|
||||
m_leapController.Dispose();
|
||||
m_leapController = null;
|
||||
|
||||
Settings.EnabledChange -= this.OnEnableChange;
|
||||
Settings.TrackingModeChange -= this.OnTrackingModeChange;
|
||||
}
|
||||
|
||||
IEnumerator WaitForInputManager()
|
||||
IEnumerator WaitForObjects()
|
||||
{
|
||||
while(CVRInputManager.Instance == null)
|
||||
yield return null;
|
||||
|
||||
m_leapInput = CVRInputManager.Instance.gameObject.AddComponent<LeapInput>();
|
||||
}
|
||||
|
||||
IEnumerator WaitForLocalPlayer()
|
||||
{
|
||||
while(PlayerSetup.Instance == null)
|
||||
yield return null;
|
||||
|
||||
while(LeapTracking.Instance == null)
|
||||
yield return null;
|
||||
|
||||
m_leapInput = new LeapInput();
|
||||
CVRInputManager.Instance.AddInputModule(m_leapInput);
|
||||
|
||||
m_leapTracked = PlayerSetup.Instance.gameObject.AddComponent<LeapTracked>();
|
||||
}
|
||||
|
||||
|
@ -168,8 +162,9 @@ namespace ml_lme
|
|||
{
|
||||
if(m_leapTracking != null)
|
||||
m_leapTracking.OnAvatarSetup();
|
||||
if(m_leapInput != null)
|
||||
m_leapInput.OnAvatarSetup();
|
||||
|
||||
m_leapInput?.OnAvatarSetup();
|
||||
|
||||
if(m_leapTracked != null)
|
||||
m_leapTracked.OnAvatarSetup();
|
||||
}
|
||||
|
@ -182,8 +177,7 @@ namespace ml_lme
|
|||
|
||||
internal void OnRayScale(float p_scale)
|
||||
{
|
||||
if(m_leapInput != null)
|
||||
m_leapInput.OnRayScale(p_scale);
|
||||
m_leapInput?.OnRayScale(p_scale);
|
||||
}
|
||||
|
||||
internal void OnPlayspaceScale(float p_relation)
|
||||
|
|
|
@ -43,12 +43,12 @@ namespace ml_lme
|
|||
m_inVR = Utils.IsInVR();
|
||||
|
||||
m_leftHandTarget = new GameObject("RotationTarget").transform;
|
||||
m_leftHandTarget.parent = LeapTracking.GetInstance().GetLeftHand();
|
||||
m_leftHandTarget.parent = LeapTracking.Instance.GetLeftHand();
|
||||
m_leftHandTarget.localPosition = Vector3.zero;
|
||||
m_leftHandTarget.localRotation = Quaternion.identity;
|
||||
|
||||
m_rightHandTarget = new GameObject("RotationTarget").transform;
|
||||
m_rightHandTarget.parent = LeapTracking.GetInstance().GetRightHand();
|
||||
m_rightHandTarget.parent = LeapTracking.Instance.GetRightHand();
|
||||
m_rightHandTarget.localPosition = Vector3.zero;
|
||||
m_rightHandTarget.localRotation = Quaternion.identity;
|
||||
|
||||
|
@ -72,7 +72,7 @@ namespace ml_lme
|
|||
{
|
||||
if(m_enabled)
|
||||
{
|
||||
GestureMatcher.LeapData l_data = LeapManager.GetInstance().GetLatestData();
|
||||
GestureMatcher.LeapData l_data = LeapManager.Instance.GetLatestData();
|
||||
|
||||
if((m_leftArmIK != null) && (m_rightArmIK != null))
|
||||
{
|
||||
|
@ -92,7 +92,7 @@ namespace ml_lme
|
|||
if(l_data.m_leftHand.m_present && !m_leftTargetActive)
|
||||
{
|
||||
m_vrIK.solver.leftArm.target = m_leftHandTarget;
|
||||
m_vrIK.solver.leftArm.bendGoal = LeapTracking.GetInstance().GetLeftElbow();
|
||||
m_vrIK.solver.leftArm.bendGoal = LeapTracking.Instance.GetLeftElbow();
|
||||
m_vrIK.solver.leftArm.bendGoalWeight = (m_trackElbows ? 1f : 0f);
|
||||
m_leftTargetActive = true;
|
||||
}
|
||||
|
@ -107,7 +107,7 @@ namespace ml_lme
|
|||
if(l_data.m_rightHand.m_present && !m_rightTargetActive)
|
||||
{
|
||||
m_vrIK.solver.rightArm.target = m_rightHandTarget;
|
||||
m_vrIK.solver.rightArm.bendGoal = LeapTracking.GetInstance().GetRightElbow();
|
||||
m_vrIK.solver.rightArm.bendGoal = LeapTracking.Instance.GetRightElbow();
|
||||
m_vrIK.solver.rightArm.bendGoalWeight = (m_trackElbows ? 1f : 0f);
|
||||
m_rightTargetActive = true;
|
||||
}
|
||||
|
@ -126,7 +126,7 @@ namespace ml_lme
|
|||
{
|
||||
if(m_enabled && !m_inVR && (m_poseHandler != null))
|
||||
{
|
||||
GestureMatcher.LeapData l_data = LeapManager.GetInstance().GetLatestData();
|
||||
GestureMatcher.LeapData l_data = LeapManager.Instance.GetLatestData();
|
||||
|
||||
Vector3 l_hipsLocalPos = m_hips.localPosition;
|
||||
Quaternion l_hipsLocalRot = m_hips.localRotation;
|
||||
|
@ -281,7 +281,7 @@ namespace ml_lme
|
|||
PlayerSetup.Instance._animator.transform
|
||||
);
|
||||
m_leftArmIK.solver.arm.target = m_leftHandTarget;
|
||||
m_leftArmIK.solver.arm.bendGoal = LeapTracking.GetInstance().GetLeftElbow();
|
||||
m_leftArmIK.solver.arm.bendGoal = LeapTracking.Instance.GetLeftElbow();
|
||||
m_leftArmIK.solver.arm.bendGoalWeight = (m_trackElbows ? 1f : 0f);
|
||||
m_leftArmIK.enabled = (m_enabled && !m_fingersOnly);
|
||||
|
||||
|
@ -296,7 +296,7 @@ namespace ml_lme
|
|||
PlayerSetup.Instance._animator.transform
|
||||
);
|
||||
m_rightArmIK.solver.arm.target = m_rightHandTarget;
|
||||
m_rightArmIK.solver.arm.bendGoal = LeapTracking.GetInstance().GetRightElbow();
|
||||
m_rightArmIK.solver.arm.bendGoal = LeapTracking.Instance.GetRightElbow();
|
||||
m_rightArmIK.solver.arm.bendGoalWeight = (m_trackElbows ? 1f : 0f);
|
||||
m_rightArmIK.enabled = (m_enabled && !m_fingersOnly);
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@ namespace ml_lme
|
|||
[DisallowMultipleComponent]
|
||||
class LeapTracking : MonoBehaviour
|
||||
{
|
||||
static LeapTracking ms_instance = null;
|
||||
public static LeapTracking Instance { get; private set; } = null;
|
||||
static Quaternion ms_dummyRotation = Quaternion.identity;
|
||||
static readonly Quaternion ms_hmdRotation = new Quaternion(0f, 0.7071068f, 0.7071068f, 0f);
|
||||
static readonly Quaternion ms_screentopRotation = new Quaternion(0f, 0f, -1f, 0f);
|
||||
|
@ -25,12 +25,10 @@ namespace ml_lme
|
|||
|
||||
float m_scaleRelation = 1f;
|
||||
|
||||
public static LeapTracking GetInstance() => ms_instance;
|
||||
|
||||
void Start()
|
||||
{
|
||||
if(ms_instance == null)
|
||||
ms_instance = this;
|
||||
if(Instance == null)
|
||||
Instance = this;
|
||||
|
||||
m_inVR = Utils.IsInVR();
|
||||
|
||||
|
@ -101,8 +99,8 @@ namespace ml_lme
|
|||
|
||||
void OnDestroy()
|
||||
{
|
||||
if(ms_instance == this)
|
||||
ms_instance = null;
|
||||
if(Instance == this)
|
||||
Instance = null;
|
||||
|
||||
Settings.DesktopOffsetChange -= this.OnDesktopOffsetChange;
|
||||
Settings.ModelVisibilityChange -= this.OnModelVisibilityChange;
|
||||
|
@ -116,7 +114,7 @@ namespace ml_lme
|
|||
{
|
||||
if(Settings.Enabled)
|
||||
{
|
||||
GestureMatcher.LeapData l_data = LeapManager.GetInstance().GetLatestData();
|
||||
GestureMatcher.LeapData l_data = LeapManager.Instance.GetLatestData();
|
||||
|
||||
if(l_data.m_leftHand.m_present)
|
||||
{
|
||||
|
|
|
@ -1,10 +1,6 @@
|
|||
using System.Reflection;
|
||||
|
||||
[assembly: AssemblyTitle("LeapMotionExtension")]
|
||||
[assembly: AssemblyVersion("1.3.9")]
|
||||
[assembly: AssemblyFileVersion("1.3.9")]
|
||||
|
||||
[assembly: MelonLoader.MelonInfo(typeof(ml_lme.LeapMotionExtension), "LeapMotionExtension", "1.3.9", "SDraw", "https://github.com/SDraw/ml_mods_cvr")]
|
||||
[assembly: MelonLoader.MelonInfo(typeof(ml_lme.LeapMotionExtension), "LeapMotionExtension", "1.4.0", "SDraw", "https://github.com/SDraw/ml_mods_cvr")]
|
||||
[assembly: MelonLoader.MelonGame(null, "ChilloutVR")]
|
||||
[assembly: MelonLoader.MelonOptionalDependencies("ml_pmc")]
|
||||
[assembly: MelonLoader.MelonPlatform(MelonLoader.MelonPlatformAttribute.CompatiblePlatforms.WINDOWS_X64)]
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
using ABI_RC.Core.Player;
|
||||
using ABI_RC.Core.Savior;
|
||||
using ABI_RC.Core.UI;
|
||||
using ABI_RC.Systems.InputManagement;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
using UnityEngine;
|
||||
|
@ -9,15 +10,10 @@ namespace ml_lme
|
|||
{
|
||||
static class Utils
|
||||
{
|
||||
static readonly Quaternion ms_hmdRotationFix = new Quaternion(0f, 0.7071068f, 0.7071068f, 0f);
|
||||
static readonly Quaternion ms_screentopRotationFix = new Quaternion(0f, 0f, -1f, 0f);
|
||||
static readonly FieldInfo ms_indexGestureToggle = typeof(InputModuleSteamVR).GetField("_steamVrIndexGestureToggleValue", BindingFlags.Instance | BindingFlags.NonPublic);
|
||||
|
||||
public static bool IsInVR() => ((CheckVR.Instance != null) && CheckVR.Instance.hasVrDeviceLoaded);
|
||||
public static bool AreKnucklesInUse() => PlayerSetup.Instance._trackerManager.trackerNames.Contains("knuckles");
|
||||
public static bool GetIndexGestureToggle(this InputModuleSteamVR p_module) => (bool)ms_indexGestureToggle.GetValue(p_module);
|
||||
public static bool IsLeftHandTracked() => ((VRTrackerManager.Instance.leftHand != null) && VRTrackerManager.Instance.leftHand.active);
|
||||
public static bool IsRightHandTracked() => ((VRTrackerManager.Instance.rightHand != null) && VRTrackerManager.Instance.rightHand.active);
|
||||
public static bool AreKnucklesInUse() => ((CVRInputManager.Instance._leftController == ABI_RC.Systems.InputManagement.XR.EXRControllerType.Index) || (CVRInputManager.Instance._rightController == ABI_RC.Systems.InputManagement.XR.EXRControllerType.Index));
|
||||
public static bool IsLeftHandTracked() => (CVRInputManager.Instance._leftController != ABI_RC.Systems.InputManagement.XR.EXRControllerType.None);
|
||||
public static bool IsRightHandTracked() => (CVRInputManager.Instance._rightController != ABI_RC.Systems.InputManagement.XR.EXRControllerType.None);
|
||||
|
||||
public static Matrix4x4 GetMatrix(this Transform p_transform, bool p_pos = true, bool p_rot = true, bool p_scl = false)
|
||||
{
|
||||
|
|
|
@ -1,150 +1,99 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{83CC74B7-F444-40E1-BD06-67CEC995A919}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>ml_lme</RootNamespace>
|
||||
<AssemblyName>ml_lme</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<Deterministic>true</Deterministic>
|
||||
<TargetFramework>netstandard2.1</TargetFramework>
|
||||
<Platforms>x64</Platforms>
|
||||
<PackageId>LeapMotionExtension</PackageId>
|
||||
<Version>1.4.0</Version>
|
||||
<Authors>SDraw</Authors>
|
||||
<Company>None</Company>
|
||||
<Product>LeapMotionExtension</Product>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<OutputPath>bin\x64\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<DebugType>full</DebugType>
|
||||
<PlatformTarget>x64</PlatformTarget>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
|
||||
<OutputPath>bin\x64\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<Optimize>true</Optimize>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<PlatformTarget>x64</PlatformTarget>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<DebugType>none</DebugType>
|
||||
<DebugSymbols>false</DebugSymbols>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Reference Include="0Harmony, Version=2.9.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>C:\Games\Steam\steamapps\common\ChilloutVR\MelonLoader\0Harmony.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="Assembly-CSharp">
|
||||
<HintPath>C:\Games\Steam\steamapps\common\ChilloutVR\ChilloutVR_Data\Managed\Assembly-CSharp.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="Assembly-CSharp-firstpass">
|
||||
<HintPath>C:\Games\Steam\steamapps\common\ChilloutVR\ChilloutVR_Data\Managed\Assembly-CSharp-firstpass.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="cohtml.Net">
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="Cohtml.Runtime">
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="MelonLoader">
|
||||
<HintPath>C:\Games\Steam\steamapps\common\ChilloutVR\MelonLoader\MelonLoader.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="ml_pmc">
|
||||
<HintPath>D:\Games\Steam\steamapps\common\ChilloutVR\Mods\ml_pmc.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Xml" />
|
||||
<Reference Include="UnityEngine">
|
||||
<HintPath>C:\Games\Steam\steamapps\common\ChilloutVR\ChilloutVR_Data\Managed\UnityEngine.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.AnimationModule">
|
||||
<HintPath>C:\Games\Steam\steamapps\common\ChilloutVR\ChilloutVR_Data\Managed\UnityEngine.AnimationModule.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.AssetBundleModule, Version=0.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>C:\Games\Steam\steamapps\common\ChilloutVR\ChilloutVR_Data\Managed\UnityEngine.AssetBundleModule.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.CoreModule">
|
||||
<HintPath>C:\Games\Steam\steamapps\common\ChilloutVR\ChilloutVR_Data\Managed\UnityEngine.CoreModule.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Compile Remove="vendor\LeapSDK\**" />
|
||||
<EmbeddedResource Remove="vendor\LeapSDK\**" />
|
||||
<None Remove="vendor\LeapSDK\**" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Compile Include="AssetsHandler.cs" />
|
||||
<Compile Include="DependenciesHandler.cs" />
|
||||
<Compile Include="GestureMatcher.cs" />
|
||||
<Compile Include="LeapInput.cs" />
|
||||
<Compile Include="LeapManager.cs" />
|
||||
<Compile Include="LeapTracked.cs" />
|
||||
<Compile Include="LeapTracking.cs" />
|
||||
<Compile Include="Main.cs" />
|
||||
<Compile Include="ModSupporter.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="Scripts.cs" />
|
||||
<Compile Include="Settings.cs" />
|
||||
<Compile Include="Utils.cs" />
|
||||
<Compile Include="vendor\LeapCSharp\Arm.cs" />
|
||||
<Compile Include="vendor\LeapCSharp\Bone.cs" />
|
||||
<Compile Include="vendor\LeapCSharp\CircularObjectBuffer.cs" />
|
||||
<Compile Include="vendor\LeapCSharp\Config.cs" />
|
||||
<Compile Include="vendor\LeapCSharp\Connection.cs" />
|
||||
<Compile Include="vendor\LeapCSharp\Controller.cs" />
|
||||
<Compile Include="vendor\LeapCSharp\CopyFromLeapCExtensions.cs" />
|
||||
<Compile Include="vendor\LeapCSharp\CopyFromOtherExtensions.cs" />
|
||||
<Compile Include="vendor\LeapCSharp\CSharpExtensions.cs" />
|
||||
<Compile Include="vendor\LeapCSharp\Device.cs" />
|
||||
<Compile Include="vendor\LeapCSharp\DeviceList.cs" />
|
||||
<Compile Include="vendor\LeapCSharp\DistortionData.cs" />
|
||||
<Compile Include="vendor\LeapCSharp\Events.cs" />
|
||||
<Compile Include="vendor\LeapCSharp\FailedDevice.cs" />
|
||||
<Compile Include="vendor\LeapCSharp\FailedDeviceList.cs" />
|
||||
<Compile Include="vendor\LeapCSharp\Finger.cs" />
|
||||
<Compile Include="vendor\LeapCSharp\Frame.cs" />
|
||||
<Compile Include="vendor\LeapCSharp\Hand.cs" />
|
||||
<Compile Include="vendor\LeapCSharp\IController.cs" />
|
||||
<Compile Include="vendor\LeapCSharp\Image.cs" />
|
||||
<Compile Include="vendor\LeapCSharp\ImageData.cs" />
|
||||
<Compile Include="vendor\LeapCSharp\LeapC.cs" />
|
||||
<Compile Include="vendor\LeapCSharp\LeapTransform.cs" />
|
||||
<Compile Include="vendor\LeapCSharp\Logger.cs" />
|
||||
<Compile Include="vendor\LeapCSharp\MemoryManager.cs" />
|
||||
<Compile Include="vendor\LeapCSharp\MessageSeverity.cs" />
|
||||
<Compile Include="vendor\LeapCSharp\PointMapping.cs" />
|
||||
<Compile Include="vendor\LeapCSharp\StructMarshal.cs" />
|
||||
<Compile Include="vendor\LeapCSharp\TransformExtensions.cs" />
|
||||
<Compile Include="VisualHand.cs" />
|
||||
<None Remove="LeapMotionExtension.json" />
|
||||
<None Remove="resources\leapmotion_controller.asset" />
|
||||
<None Remove="resources\leapmotion_hands.asset" />
|
||||
<None Remove="resources\menu.js" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="resources\leapmotion_controller.asset" />
|
||||
<EmbeddedResource Include="resources\leapmotion_hands.asset" />
|
||||
<EmbeddedResource Include="resources\menu.js" />
|
||||
<EmbeddedResource Include="vendor\LeapSDK\lib\x64\LeapC.dll">
|
||||
<Link>LeapC.dll</Link>
|
||||
</EmbeddedResource>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="resources\leapmotion_controller.asset" />
|
||||
<Reference Include="0Harmony">
|
||||
<HintPath>D:\Games\Steam\steamapps\common\ChilloutVR\MelonLoader\net35\0Harmony.dll</HintPath>
|
||||
<Private>false</Private>
|
||||
</Reference>
|
||||
<Reference Include="Assembly-CSharp">
|
||||
<HintPath>D:\games\Steam\steamapps\common\ChilloutVR\ChilloutVR_Data\Managed\Assembly-CSharp.dll</HintPath>
|
||||
<Private>false</Private>
|
||||
</Reference>
|
||||
<Reference Include="Assembly-CSharp-firstpass">
|
||||
<HintPath>D:\games\Steam\steamapps\common\ChilloutVR\ChilloutVR_Data\Managed\Assembly-CSharp-firstpass.dll</HintPath>
|
||||
<Private>false</Private>
|
||||
</Reference>
|
||||
<Reference Include="cohtml.Net">
|
||||
<HintPath>D:\games\Steam\steamapps\common\ChilloutVR\ChilloutVR_Data\Managed\cohtml.Net.dll</HintPath>
|
||||
<Private>false</Private>
|
||||
</Reference>
|
||||
<Reference Include="Cohtml.Runtime">
|
||||
<HintPath>D:\games\Steam\steamapps\common\ChilloutVR\ChilloutVR_Data\Managed\Cohtml.Runtime.dll</HintPath>
|
||||
<Private>false</Private>
|
||||
</Reference>
|
||||
<Reference Include="MelonLoader">
|
||||
<HintPath>D:\Games\Steam\steamapps\common\ChilloutVR\MelonLoader\net35\MelonLoader.dll</HintPath>
|
||||
<Private>false</Private>
|
||||
</Reference>
|
||||
<Reference Include="ml_pmc">
|
||||
<HintPath>D:\games\Steam\steamapps\common\ChilloutVR\Mods\ml_pmc.dll</HintPath>
|
||||
<Private>false</Private>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine">
|
||||
<HintPath>D:\games\Steam\steamapps\common\ChilloutVR\ChilloutVR_Data\Managed\UnityEngine.dll</HintPath>
|
||||
<Private>false</Private>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.AnimationModule">
|
||||
<HintPath>D:\games\Steam\steamapps\common\ChilloutVR\ChilloutVR_Data\Managed\UnityEngine.AnimationModule.dll</HintPath>
|
||||
<Private>false</Private>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.AssetBundleModule">
|
||||
<HintPath>D:\games\Steam\steamapps\common\ChilloutVR\ChilloutVR_Data\Managed\UnityEngine.AssetBundleModule.dll</HintPath>
|
||||
<Private>false</Private>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.CoreModule">
|
||||
<HintPath>D:\games\Steam\steamapps\common\ChilloutVR\ChilloutVR_Data\Managed\UnityEngine.CoreModule.dll</HintPath>
|
||||
<Private>false</Private>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.XRModule">
|
||||
<HintPath>D:\games\Steam\steamapps\common\ChilloutVR\ChilloutVR_Data\Managed\UnityEngine.XRModule.dll</HintPath>
|
||||
<Private>false</Private>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="resources\menu.js" />
|
||||
<Folder Include="vendor\LeapCSharp\" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="resources\leapmotion_hands.asset" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<PropertyGroup>
|
||||
<PostBuildEvent>copy /y "$(TargetPath)" "D:\Games\Steam\steamapps\common\ChilloutVR\Mods\"</PostBuildEvent>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
|
||||
<Target Name="PostBuild" AfterTargets="PostBuildEvent">
|
||||
<Exec Command="copy /y "$(TargetPath)" "D:\Games\Steam\steamapps\common\ChilloutVR\Mods\"" />
|
||||
</Target>
|
||||
|
||||
</Project>
|
||||
|
|
|
@ -1,6 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<ReferencePath>D:\Games\Steam\steamapps\common\ChilloutVR\MelonLoader\net35\;D:\Games\Steam\steamapps\common\ChilloutVR\ChilloutVR_Data\Managed\</ReferencePath>
|
||||
</PropertyGroup>
|
||||
</Project>
|
|
@ -400,7 +400,7 @@ function inp_dropdown_mod_lme(_obj, _callbackName) {
|
|||
</div>
|
||||
|
||||
<div class ="row-wrapper">
|
||||
<div class ="option-caption">Recognize gestures: </div>
|
||||
<div class ="option-caption">Recognize Gestures: </div>
|
||||
<div class ="option-input">
|
||||
<div id="Gestures" class ="inp_toggle no-scroll" data-current="false"></div>
|
||||
</div>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue