mirror of
https://github.com/hanetzer/sdraw_mods_cvr.git
synced 2025-09-03 10:29:22 +00:00
Remote gestures handlers components creation based on current settings
Methods renames
This commit is contained in:
parent
e5d4ea9d29
commit
b38187d6ef
36 changed files with 308 additions and 240 deletions
|
@ -10,8 +10,8 @@ namespace ml_amt
|
|||
internal class GameEvent
|
||||
{
|
||||
event Action m_action;
|
||||
public void AddHandler(Action p_listener) => m_action += p_listener;
|
||||
public void RemoveHandler(Action p_listener) => m_action -= p_listener;
|
||||
public void AddListener(Action p_listener) => m_action += p_listener;
|
||||
public void RemoveListener(Action p_listener) => m_action -= p_listener;
|
||||
public void Invoke() => m_action?.Invoke();
|
||||
}
|
||||
|
||||
|
|
|
@ -52,14 +52,14 @@ namespace ml_amt
|
|||
OnCrouchLimitChanged(Settings.CrouchLimit);
|
||||
OnProneLimitChanged(Settings.ProneLimit);
|
||||
|
||||
Settings.OnCrouchLimitChanged.AddHandler(this.OnCrouchLimitChanged);
|
||||
Settings.OnProneLimitChanged.AddHandler(this.OnProneLimitChanged);
|
||||
Settings.OnMassCenterChanged.AddHandler(this.OnMassCenterChanged);
|
||||
Settings.OnCrouchLimitChanged.AddListener(this.OnCrouchLimitChanged);
|
||||
Settings.OnProneLimitChanged.AddListener(this.OnProneLimitChanged);
|
||||
Settings.OnMassCenterChanged.AddListener(this.OnMassCenterChanged);
|
||||
|
||||
GameEvents.OnAvatarSetup.AddHandler(this.OnAvatarSetup);
|
||||
GameEvents.OnAvatarClear.AddHandler(this.OnAvatarClear);
|
||||
GameEvents.OnAvatarReuse.AddHandler(this.OnAvatarReuse);
|
||||
GameEvents.OnPlayspaceScale.AddHandler(this.OnPlayspaceScale);
|
||||
GameEvents.OnAvatarSetup.AddListener(this.OnAvatarSetup);
|
||||
GameEvents.OnAvatarClear.AddListener(this.OnAvatarClear);
|
||||
GameEvents.OnAvatarReuse.AddListener(this.OnAvatarReuse);
|
||||
GameEvents.OnPlayspaceScale.AddListener(this.OnPlayspaceScale);
|
||||
}
|
||||
|
||||
void OnDestroy()
|
||||
|
@ -68,14 +68,14 @@ namespace ml_amt
|
|||
m_ikLimits = null;
|
||||
m_parameters.Clear();
|
||||
|
||||
Settings.OnCrouchLimitChanged.RemoveHandler(this.OnCrouchLimitChanged);
|
||||
Settings.OnProneLimitChanged.RemoveHandler(this.OnProneLimitChanged);
|
||||
Settings.OnMassCenterChanged.RemoveHandler(this.OnMassCenterChanged);
|
||||
Settings.OnCrouchLimitChanged.RemoveListener(this.OnCrouchLimitChanged);
|
||||
Settings.OnProneLimitChanged.RemoveListener(this.OnProneLimitChanged);
|
||||
Settings.OnMassCenterChanged.RemoveListener(this.OnMassCenterChanged);
|
||||
|
||||
GameEvents.OnAvatarSetup.RemoveHandler(this.OnAvatarSetup);
|
||||
GameEvents.OnAvatarClear.RemoveHandler(this.OnAvatarClear);
|
||||
GameEvents.OnAvatarReuse.RemoveHandler(this.OnAvatarReuse);
|
||||
GameEvents.OnPlayspaceScale.RemoveHandler(this.OnPlayspaceScale);
|
||||
GameEvents.OnAvatarSetup.RemoveListener(this.OnAvatarSetup);
|
||||
GameEvents.OnAvatarClear.RemoveListener(this.OnAvatarClear);
|
||||
GameEvents.OnAvatarReuse.RemoveListener(this.OnAvatarReuse);
|
||||
GameEvents.OnPlayspaceScale.RemoveListener(this.OnPlayspaceScale);
|
||||
}
|
||||
|
||||
void Update()
|
||||
|
|
|
@ -9,8 +9,8 @@ namespace ml_amt
|
|||
internal class SettingEvent<T>
|
||||
{
|
||||
event Action<T> m_action;
|
||||
public void AddHandler(Action<T> p_listener) => m_action += p_listener;
|
||||
public void RemoveHandler(Action<T> p_listener) => m_action -= p_listener;
|
||||
public void AddListener(Action<T> p_listener) => m_action += p_listener;
|
||||
public void RemoveListener(Action<T> p_listener) => m_action -= p_listener;
|
||||
public void Invoke(T p_value) => m_action?.Invoke(p_value);
|
||||
}
|
||||
|
||||
|
|
|
@ -9,8 +9,8 @@ namespace ml_asl
|
|||
internal class SettingEvent<T>
|
||||
{
|
||||
event Action<T> m_action;
|
||||
public void AddHandler(Action<T> p_listener) => m_action += p_listener;
|
||||
public void RemoveHandler(Action<T> p_listener) => m_action -= p_listener;
|
||||
public void AddListener(Action<T> p_listener) => m_action += p_listener;
|
||||
public void RemoveListener(Action<T> p_listener) => m_action -= p_listener;
|
||||
public void Invoke(T p_value) => m_action?.Invoke(p_value);
|
||||
}
|
||||
|
||||
|
|
|
@ -82,10 +82,10 @@ namespace ml_bft
|
|||
m_pose = new HumanPose();
|
||||
m_lastValues = new float[40];
|
||||
|
||||
GameEvents.OnAvatarSetup.AddHandler(this.OnAvatarSetup);
|
||||
GameEvents.OnAvatarClear.AddHandler(this.OnAvatarClear);
|
||||
GameEvents.OnAvatarReuse.AddHandler(this.OnAvatarReuse);
|
||||
GameEvents.OnIKSystemLateUpdate.AddHandler(this.OnIKSystemLateUpdate);
|
||||
GameEvents.OnAvatarSetup.AddListener(this.OnAvatarSetup);
|
||||
GameEvents.OnAvatarClear.AddListener(this.OnAvatarClear);
|
||||
GameEvents.OnAvatarReuse.AddListener(this.OnAvatarReuse);
|
||||
GameEvents.OnIKSystemLateUpdate.AddListener(this.OnIKSystemLateUpdate);
|
||||
}
|
||||
internal void Cleanup()
|
||||
{
|
||||
|
@ -96,10 +96,10 @@ namespace ml_bft
|
|||
m_rightFingerOffsets.Clear();
|
||||
m_ready = false;
|
||||
|
||||
GameEvents.OnAvatarSetup.RemoveHandler(this.OnAvatarSetup);
|
||||
GameEvents.OnAvatarClear.RemoveHandler(this.OnAvatarClear);
|
||||
GameEvents.OnAvatarReuse.RemoveHandler(this.OnAvatarReuse);
|
||||
GameEvents.OnIKSystemLateUpdate.RemoveHandler(this.OnIKSystemLateUpdate);
|
||||
GameEvents.OnAvatarSetup.RemoveListener(this.OnAvatarSetup);
|
||||
GameEvents.OnAvatarClear.RemoveListener(this.OnAvatarClear);
|
||||
GameEvents.OnAvatarReuse.RemoveListener(this.OnAvatarReuse);
|
||||
GameEvents.OnIKSystemLateUpdate.RemoveListener(this.OnIKSystemLateUpdate);
|
||||
}
|
||||
|
||||
internal void OnAvatarSetup()
|
||||
|
|
|
@ -12,15 +12,15 @@ namespace ml_bft
|
|||
internal class GameEvent
|
||||
{
|
||||
event Action m_action;
|
||||
public void AddHandler(Action p_listener) => m_action += p_listener;
|
||||
public void RemoveHandler(Action p_listener) => m_action -= p_listener;
|
||||
public void AddListener(Action p_listener) => m_action += p_listener;
|
||||
public void RemoveListener(Action p_listener) => m_action -= p_listener;
|
||||
public void Invoke() => m_action?.Invoke();
|
||||
}
|
||||
internal class GameEvent<T1, T2>
|
||||
{
|
||||
event Action<T1, T2> m_action;
|
||||
public void AddHandler(Action<T1, T2> p_listener) => m_action += p_listener;
|
||||
public void RemoveHandler(Action<T1, T2> p_listener) => m_action -= p_listener;
|
||||
public void AddListener(Action<T1, T2> p_listener) => m_action += p_listener;
|
||||
public void RemoveListener(Action<T1, T2> p_listener) => m_action -= p_listener;
|
||||
public void Invoke(T1 p_objA, T2 p_objB) => m_action?.Invoke(p_objA, p_objB);
|
||||
}
|
||||
|
||||
|
|
|
@ -18,7 +18,7 @@ namespace ml_bft
|
|||
m_localRotations = new List<Quaternion>();
|
||||
m_renderers = new List<Renderer>();
|
||||
|
||||
Settings.OnShowHandsChanged.AddHandler(this.OnShowHandsChanged);
|
||||
Settings.OnShowHandsChanged.AddListener(this.OnShowHandsChanged);
|
||||
}
|
||||
|
||||
public virtual void Cleanup()
|
||||
|
@ -31,7 +31,7 @@ namespace ml_bft
|
|||
m_localRotations.Clear();
|
||||
m_renderers.Clear();
|
||||
|
||||
Settings.OnShowHandsChanged.RemoveHandler(this.OnShowHandsChanged);
|
||||
Settings.OnShowHandsChanged.RemoveListener(this.OnShowHandsChanged);
|
||||
}
|
||||
|
||||
public virtual void Update()
|
||||
|
|
|
@ -78,7 +78,7 @@ namespace ml_bft
|
|||
base.OnShowHandsChanged(Settings.ShowHands);
|
||||
OnMotionRangeChanged(Settings.MotionRange);
|
||||
|
||||
Settings.OnMotionRangeChanged.AddHandler(this.OnMotionRangeChanged);
|
||||
Settings.OnMotionRangeChanged.AddListener(this.OnMotionRangeChanged);
|
||||
}
|
||||
|
||||
public override void Cleanup()
|
||||
|
@ -87,7 +87,7 @@ namespace ml_bft
|
|||
|
||||
m_skeletonAction = null;
|
||||
|
||||
Settings.OnMotionRangeChanged.RemoveHandler(this.OnMotionRangeChanged);
|
||||
Settings.OnMotionRangeChanged.RemoveListener(this.OnMotionRangeChanged);
|
||||
}
|
||||
|
||||
public override void Update()
|
||||
|
|
|
@ -28,9 +28,9 @@ namespace ml_bft
|
|||
VRModeSwitchEvents.OnInitializeXR.AddListener(this.OnSwitchToVR);
|
||||
VRModeSwitchEvents.OnDeinitializeXR.AddListener(this.OnSwitchToDesktop);
|
||||
|
||||
Settings.OnSkeletalInputChanged.AddHandler(this.OnSkeletalInputChanged);
|
||||
Settings.OnSkeletalInputChanged.AddListener(this.OnSkeletalInputChanged);
|
||||
|
||||
GameEvents.OnInputUpdate.AddHandler(this.OnInputUpdate);
|
||||
GameEvents.OnInputUpdate.AddListener(this.OnInputUpdate);
|
||||
}
|
||||
internal void Cleanup()
|
||||
{
|
||||
|
@ -39,9 +39,9 @@ namespace ml_bft
|
|||
|
||||
RemoveHandlers();
|
||||
|
||||
Settings.OnSkeletalInputChanged.RemoveHandler(this.OnSkeletalInputChanged);
|
||||
Settings.OnSkeletalInputChanged.RemoveListener(this.OnSkeletalInputChanged);
|
||||
|
||||
GameEvents.OnInputUpdate.RemoveHandler(this.OnInputUpdate);
|
||||
GameEvents.OnInputUpdate.RemoveListener(this.OnInputUpdate);
|
||||
}
|
||||
|
||||
void SetupHandlers()
|
||||
|
|
|
@ -9,8 +9,8 @@ namespace ml_bft
|
|||
internal class SettingEvent<T>
|
||||
{
|
||||
event Action<T> m_action;
|
||||
public void AddHandler(Action<T> p_listener) => m_action += p_listener;
|
||||
public void RemoveHandler(Action<T> p_listener) => m_action -= p_listener;
|
||||
public void AddListener(Action<T> p_listener) => m_action += p_listener;
|
||||
public void RemoveListener(Action<T> p_listener) => m_action -= p_listener;
|
||||
public void Invoke(T p_value) => m_action?.Invoke(p_value);
|
||||
}
|
||||
|
||||
|
|
|
@ -16,22 +16,22 @@ namespace ml_dht
|
|||
internal class GameEvent
|
||||
{
|
||||
event Action m_action;
|
||||
public void AddHandler(Action p_listener) => m_action += p_listener;
|
||||
public void RemoveHandler(Action p_listener) => m_action -= p_listener;
|
||||
public void AddListener(Action p_listener) => m_action += p_listener;
|
||||
public void RemoveListener(Action p_listener) => m_action -= p_listener;
|
||||
public void Invoke() => m_action?.Invoke();
|
||||
}
|
||||
internal class GameEvent<T1>
|
||||
{
|
||||
event Action<T1> m_action;
|
||||
public void AddHandler(Action<T1> p_listener) => m_action += p_listener;
|
||||
public void RemoveHandler(Action<T1> p_listener) => m_action -= p_listener;
|
||||
public void AddListener(Action<T1> p_listener) => m_action += p_listener;
|
||||
public void RemoveListener(Action<T1> p_listener) => m_action -= p_listener;
|
||||
public void Invoke(T1 p_obj) => m_action?.Invoke(p_obj);
|
||||
}
|
||||
internal class GameEvent<T1, T2>
|
||||
{
|
||||
event Action<T1, T2> m_action;
|
||||
public void AddHandler(Action<T1, T2> p_listener) => m_action += p_listener;
|
||||
public void RemoveHandler(Action<T1, T2> p_listener) => m_action -= p_listener;
|
||||
public void AddListener(Action<T1, T2> p_listener) => m_action += p_listener;
|
||||
public void RemoveListener(Action<T1, T2> p_listener) => m_action -= p_listener;
|
||||
public void Invoke(T1 p_objA, T2 p_objB) => m_action?.Invoke(p_objA, p_objB);
|
||||
}
|
||||
|
||||
|
|
|
@ -51,28 +51,28 @@ namespace ml_dht
|
|||
OnHeadTrackingChanged(Settings.HeadTracking);
|
||||
OnSmoothingChanged(Settings.Smoothing);
|
||||
|
||||
Settings.OnEnabledChanged.AddHandler(this.OnEnabledChanged);
|
||||
Settings.OnHeadTrackingChanged.AddHandler(this.OnHeadTrackingChanged);
|
||||
Settings.OnSmoothingChanged.AddHandler(this.OnSmoothingChanged);
|
||||
Settings.OnEnabledChanged.AddListener(this.OnEnabledChanged);
|
||||
Settings.OnHeadTrackingChanged.AddListener(this.OnHeadTrackingChanged);
|
||||
Settings.OnSmoothingChanged.AddListener(this.OnSmoothingChanged);
|
||||
|
||||
GameEvents.OnAvatarClear.AddHandler(this.OnAvatarClear);
|
||||
GameEvents.OnAvatarSetup.AddHandler(this.OnAvatarSetup);
|
||||
GameEvents.OnAvatarReuse.AddHandler(this.OnAvatarReuse);
|
||||
GameEvents.OnEyeControllerUpdate.AddHandler(this.OnEyeControllerUpdate);
|
||||
GameEvents.OnFaceTrackingUpdate.AddHandler(this.UpdateFaceTracking);
|
||||
GameEvents.OnAvatarClear.AddListener(this.OnAvatarClear);
|
||||
GameEvents.OnAvatarSetup.AddListener(this.OnAvatarSetup);
|
||||
GameEvents.OnAvatarReuse.AddListener(this.OnAvatarReuse);
|
||||
GameEvents.OnEyeControllerUpdate.AddListener(this.OnEyeControllerUpdate);
|
||||
GameEvents.OnFaceTrackingUpdate.AddListener(this.UpdateFaceTracking);
|
||||
}
|
||||
|
||||
void OnDestroy()
|
||||
{
|
||||
Settings.OnEnabledChanged.RemoveHandler(this.OnEnabledChanged);
|
||||
Settings.OnHeadTrackingChanged.RemoveHandler(this.OnHeadTrackingChanged);
|
||||
Settings.OnSmoothingChanged.RemoveHandler(this.OnSmoothingChanged);
|
||||
Settings.OnEnabledChanged.RemoveListener(this.OnEnabledChanged);
|
||||
Settings.OnHeadTrackingChanged.RemoveListener(this.OnHeadTrackingChanged);
|
||||
Settings.OnSmoothingChanged.RemoveListener(this.OnSmoothingChanged);
|
||||
|
||||
GameEvents.OnAvatarClear.RemoveHandler(this.OnAvatarClear);
|
||||
GameEvents.OnAvatarSetup.RemoveHandler(this.OnAvatarSetup);
|
||||
GameEvents.OnAvatarReuse.RemoveHandler(this.OnAvatarReuse);
|
||||
GameEvents.OnEyeControllerUpdate.RemoveHandler(this.OnEyeControllerUpdate);
|
||||
GameEvents.OnFaceTrackingUpdate.RemoveHandler(this.UpdateFaceTracking);
|
||||
GameEvents.OnAvatarClear.RemoveListener(this.OnAvatarClear);
|
||||
GameEvents.OnAvatarSetup.RemoveListener(this.OnAvatarSetup);
|
||||
GameEvents.OnAvatarReuse.RemoveListener(this.OnAvatarReuse);
|
||||
GameEvents.OnEyeControllerUpdate.RemoveListener(this.OnEyeControllerUpdate);
|
||||
GameEvents.OnFaceTrackingUpdate.RemoveListener(this.UpdateFaceTracking);
|
||||
}
|
||||
|
||||
void Update()
|
||||
|
|
|
@ -9,8 +9,8 @@ namespace ml_dht
|
|||
internal class SettingEvent<T>
|
||||
{
|
||||
event Action<T> m_action;
|
||||
public void AddHandler(Action<T> p_listener) => m_action += p_listener;
|
||||
public void RemoveHandler(Action<T> p_listener) => m_action -= p_listener;
|
||||
public void AddListener(Action<T> p_listener) => m_action += p_listener;
|
||||
public void RemoveListener(Action<T> p_listener) => m_action -= p_listener;
|
||||
public void Invoke(T p_value) => m_action?.Invoke(p_value);
|
||||
}
|
||||
|
||||
|
|
|
@ -11,15 +11,15 @@ namespace ml_lme
|
|||
internal class GameEvent
|
||||
{
|
||||
event Action m_action;
|
||||
public void AddHandler(Action p_listener) => m_action += p_listener;
|
||||
public void RemoveHandler(Action p_listener) => m_action -= p_listener;
|
||||
public void AddListener(Action p_listener) => m_action += p_listener;
|
||||
public void RemoveListener(Action p_listener) => m_action -= p_listener;
|
||||
public void Invoke() => m_action?.Invoke();
|
||||
}
|
||||
internal class GameEvent<T1>
|
||||
{
|
||||
event Action<T1> m_action;
|
||||
public void AddHandler(Action<T1> p_listener) => m_action += p_listener;
|
||||
public void RemoveHandler(Action<T1> p_listener) => m_action -= p_listener;
|
||||
public void AddListener(Action<T1> p_listener) => m_action += p_listener;
|
||||
public void RemoveListener(Action<T1> p_listener) => m_action -= p_listener;
|
||||
public void Invoke(T1 p_obj) => m_action?.Invoke(p_obj);
|
||||
}
|
||||
|
||||
|
|
|
@ -92,13 +92,13 @@ namespace ml_lme
|
|||
VRModeSwitchEvents.OnInitializeXR.AddListener(OnModeSwitch);
|
||||
VRModeSwitchEvents.OnDeinitializeXR.AddListener(OnModeSwitch);
|
||||
|
||||
Settings.OnEnabledChanged.AddHandler(this.OnEnableChanged);
|
||||
Settings.OnInteractionChanged.AddHandler(this.OnInteractionChanged);
|
||||
Settings.OnGesturesChanged.AddHandler(this.OnGesturesChanged);
|
||||
Settings.OnFingersOnlyChanged.AddHandler(this.OnFingersOnlyChanged);
|
||||
Settings.OnEnabledChanged.AddListener(this.OnEnableChanged);
|
||||
Settings.OnInteractionChanged.AddListener(this.OnInteractionChanged);
|
||||
Settings.OnGesturesChanged.AddListener(this.OnGesturesChanged);
|
||||
Settings.OnFingersOnlyChanged.AddListener(this.OnFingersOnlyChanged);
|
||||
|
||||
GameEvents.OnRayScale.AddHandler(this.OnRayScale);
|
||||
GameEvents.OnPickupGrab.AddHandler(this.OnPickupGrab);
|
||||
GameEvents.OnRayScale.AddListener(this.OnRayScale);
|
||||
GameEvents.OnPickupGrab.AddListener(this.OnPickupGrab);
|
||||
}
|
||||
|
||||
IEnumerator WaitForSettings()
|
||||
|
@ -156,13 +156,13 @@ namespace ml_lme
|
|||
VRModeSwitchEvents.OnInitializeXR.RemoveListener(OnModeSwitch);
|
||||
VRModeSwitchEvents.OnDeinitializeXR.RemoveListener(OnModeSwitch);
|
||||
|
||||
Settings.OnEnabledChanged.RemoveHandler(this.OnEnableChanged);
|
||||
Settings.OnInteractionChanged.RemoveHandler(this.OnInteractionChanged);
|
||||
Settings.OnGesturesChanged.RemoveHandler(this.OnGesturesChanged);
|
||||
Settings.OnFingersOnlyChanged.RemoveHandler(this.OnFingersOnlyChanged);
|
||||
Settings.OnEnabledChanged.RemoveListener(this.OnEnableChanged);
|
||||
Settings.OnInteractionChanged.RemoveListener(this.OnInteractionChanged);
|
||||
Settings.OnGesturesChanged.RemoveListener(this.OnGesturesChanged);
|
||||
Settings.OnFingersOnlyChanged.RemoveListener(this.OnFingersOnlyChanged);
|
||||
|
||||
GameEvents.OnRayScale.RemoveHandler(this.OnRayScale);
|
||||
GameEvents.OnPickupGrab.RemoveHandler(this.OnPickupGrab);
|
||||
GameEvents.OnRayScale.RemoveListener(this.OnRayScale);
|
||||
GameEvents.OnPickupGrab.RemoveListener(this.OnPickupGrab);
|
||||
}
|
||||
|
||||
public override void UpdateInput()
|
||||
|
|
|
@ -41,8 +41,8 @@ namespace ml_lme
|
|||
m_leapController.Connect += this.OnLeapServiceConnect;
|
||||
m_leapController.Disconnect += this.OnLeapServiceDisconnect;
|
||||
|
||||
Settings.OnEnabledChanged.AddHandler(this.OnEnableChanged);
|
||||
Settings.OnTrackingModeChanged.AddHandler(this.OnTrackingModeChanged);
|
||||
Settings.OnEnabledChanged.AddListener(this.OnEnableChanged);
|
||||
Settings.OnTrackingModeChanged.AddListener(this.OnTrackingModeChanged);
|
||||
|
||||
m_leapTracking = new GameObject("[LeapTrackingRoot]").AddComponent<LeapTracking>();
|
||||
m_leapTracking.transform.parent = this.transform;
|
||||
|
@ -84,8 +84,8 @@ namespace ml_lme
|
|||
}
|
||||
m_leapInput = null;
|
||||
|
||||
Settings.OnEnabledChanged.RemoveHandler(this.OnEnableChanged);
|
||||
Settings.OnTrackingModeChanged.RemoveHandler(this.OnTrackingModeChanged);
|
||||
Settings.OnEnabledChanged.RemoveListener(this.OnEnableChanged);
|
||||
Settings.OnTrackingModeChanged.RemoveListener(this.OnTrackingModeChanged);
|
||||
}
|
||||
|
||||
IEnumerator WaitForObjects()
|
||||
|
|
|
@ -139,13 +139,13 @@ namespace ml_lme
|
|||
OnFingersOnlyChanged(Settings.FingersOnly);
|
||||
OnTrackElbowsChanged(Settings.TrackElbows);
|
||||
|
||||
Settings.OnEnabledChanged.AddHandler(this.OnEnabledChanged);
|
||||
Settings.OnFingersOnlyChanged.AddHandler(this.OnFingersOnlyChanged);
|
||||
Settings.OnTrackElbowsChanged.AddHandler(this.OnTrackElbowsChanged);
|
||||
Settings.OnEnabledChanged.AddListener(this.OnEnabledChanged);
|
||||
Settings.OnFingersOnlyChanged.AddListener(this.OnFingersOnlyChanged);
|
||||
Settings.OnTrackElbowsChanged.AddListener(this.OnTrackElbowsChanged);
|
||||
|
||||
GameEvents.OnAvatarClear.AddHandler(this.OnAvatarClear);
|
||||
GameEvents.OnAvatarSetup.AddHandler(this.OnAvatarSetup);
|
||||
GameEvents.OnAvatarReuse.AddHandler(this.OnAvatarReuse);
|
||||
GameEvents.OnAvatarClear.AddListener(this.OnAvatarClear);
|
||||
GameEvents.OnAvatarSetup.AddListener(this.OnAvatarSetup);
|
||||
GameEvents.OnAvatarReuse.AddListener(this.OnAvatarReuse);
|
||||
}
|
||||
|
||||
void OnDestroy()
|
||||
|
@ -165,13 +165,13 @@ namespace ml_lme
|
|||
|
||||
m_vrIK = null;
|
||||
|
||||
Settings.OnEnabledChanged.RemoveHandler(this.OnEnabledChanged);
|
||||
Settings.OnFingersOnlyChanged.RemoveHandler(this.OnFingersOnlyChanged);
|
||||
Settings.OnTrackElbowsChanged.RemoveHandler(this.OnTrackElbowsChanged);
|
||||
Settings.OnEnabledChanged.RemoveListener(this.OnEnabledChanged);
|
||||
Settings.OnFingersOnlyChanged.RemoveListener(this.OnFingersOnlyChanged);
|
||||
Settings.OnTrackElbowsChanged.RemoveListener(this.OnTrackElbowsChanged);
|
||||
|
||||
GameEvents.OnAvatarClear.RemoveHandler(this.OnAvatarClear);
|
||||
GameEvents.OnAvatarSetup.RemoveHandler(this.OnAvatarSetup);
|
||||
GameEvents.OnAvatarReuse.RemoveHandler(this.OnAvatarReuse);
|
||||
GameEvents.OnAvatarClear.RemoveListener(this.OnAvatarClear);
|
||||
GameEvents.OnAvatarSetup.RemoveListener(this.OnAvatarSetup);
|
||||
GameEvents.OnAvatarReuse.RemoveListener(this.OnAvatarReuse);
|
||||
}
|
||||
|
||||
void Update()
|
||||
|
|
|
@ -76,17 +76,17 @@ namespace ml_lme
|
|||
VRModeSwitchEvents.OnInitializeXR.AddListener(this.OnAvatarSetup);
|
||||
VRModeSwitchEvents.OnDeinitializeXR.AddListener(this.OnAvatarSetup);
|
||||
|
||||
Settings.OnDesktopOffsetChanged.AddHandler(this.OnDesktopOffsetChanged);
|
||||
Settings.OnModelVisibilityChanged.AddHandler(this.OnModelVisibilityChanged);
|
||||
Settings.OnVisualHandsChanged.AddHandler(this.OnVisualHandsChanged);
|
||||
Settings.OnTrackingModeChanged.AddHandler(this.OnTrackingModeChanged);
|
||||
Settings.OnRootAngleChanged.AddHandler(this.OnRootAngleChanged);
|
||||
Settings.OnHeadAttachChanged.AddHandler(this.OnHeadAttachChanged);
|
||||
Settings.OnHeadOffsetChanged.AddHandler(this.OnHeadOffsetChanged);
|
||||
Settings.OnDesktopOffsetChanged.AddListener(this.OnDesktopOffsetChanged);
|
||||
Settings.OnModelVisibilityChanged.AddListener(this.OnModelVisibilityChanged);
|
||||
Settings.OnVisualHandsChanged.AddListener(this.OnVisualHandsChanged);
|
||||
Settings.OnTrackingModeChanged.AddListener(this.OnTrackingModeChanged);
|
||||
Settings.OnRootAngleChanged.AddListener(this.OnRootAngleChanged);
|
||||
Settings.OnHeadAttachChanged.AddListener(this.OnHeadAttachChanged);
|
||||
Settings.OnHeadOffsetChanged.AddListener(this.OnHeadOffsetChanged);
|
||||
|
||||
GameEvents.OnAvatarClear.AddHandler(this.OnAvatarClear);
|
||||
GameEvents.OnAvatarSetup.AddHandler(this.OnAvatarSetup);
|
||||
GameEvents.OnPlayspaceScale.AddHandler(this.OnPlayspaceScale);
|
||||
GameEvents.OnAvatarClear.AddListener(this.OnAvatarClear);
|
||||
GameEvents.OnAvatarSetup.AddListener(this.OnAvatarSetup);
|
||||
GameEvents.OnPlayspaceScale.AddListener(this.OnPlayspaceScale);
|
||||
}
|
||||
|
||||
IEnumerator WaitForLocalPlayer()
|
||||
|
@ -123,17 +123,17 @@ namespace ml_lme
|
|||
VRModeSwitchEvents.OnInitializeXR.RemoveListener(this.OnAvatarSetup);
|
||||
VRModeSwitchEvents.OnDeinitializeXR.RemoveListener(this.OnAvatarSetup);
|
||||
|
||||
Settings.OnDesktopOffsetChanged.RemoveHandler(this.OnDesktopOffsetChanged);
|
||||
Settings.OnModelVisibilityChanged.RemoveHandler(this.OnModelVisibilityChanged);
|
||||
Settings.OnVisualHandsChanged.RemoveHandler(this.OnVisualHandsChanged);
|
||||
Settings.OnTrackingModeChanged.RemoveHandler(this.OnTrackingModeChanged);
|
||||
Settings.OnRootAngleChanged.RemoveHandler(this.OnRootAngleChanged);
|
||||
Settings.OnHeadAttachChanged.RemoveHandler(this.OnHeadAttachChanged);
|
||||
Settings.OnHeadOffsetChanged.RemoveHandler(this.OnHeadOffsetChanged);
|
||||
Settings.OnDesktopOffsetChanged.RemoveListener(this.OnDesktopOffsetChanged);
|
||||
Settings.OnModelVisibilityChanged.RemoveListener(this.OnModelVisibilityChanged);
|
||||
Settings.OnVisualHandsChanged.RemoveListener(this.OnVisualHandsChanged);
|
||||
Settings.OnTrackingModeChanged.RemoveListener(this.OnTrackingModeChanged);
|
||||
Settings.OnRootAngleChanged.RemoveListener(this.OnRootAngleChanged);
|
||||
Settings.OnHeadAttachChanged.RemoveListener(this.OnHeadAttachChanged);
|
||||
Settings.OnHeadOffsetChanged.RemoveListener(this.OnHeadOffsetChanged);
|
||||
|
||||
GameEvents.OnAvatarClear.RemoveHandler(this.OnAvatarClear);
|
||||
GameEvents.OnAvatarSetup.RemoveHandler(this.OnAvatarSetup);
|
||||
GameEvents.OnPlayspaceScale.RemoveHandler(this.OnPlayspaceScale);
|
||||
GameEvents.OnAvatarClear.RemoveListener(this.OnAvatarClear);
|
||||
GameEvents.OnAvatarSetup.RemoveListener(this.OnAvatarSetup);
|
||||
GameEvents.OnPlayspaceScale.RemoveListener(this.OnPlayspaceScale);
|
||||
}
|
||||
|
||||
void Update()
|
||||
|
|
|
@ -10,8 +10,8 @@ namespace ml_lme
|
|||
internal class SettingEvent<T>
|
||||
{
|
||||
event Action<T> m_action;
|
||||
public void AddHandler(Action<T> p_listener) => m_action += p_listener;
|
||||
public void RemoveHandler(Action<T> p_listener) => m_action -= p_listener;
|
||||
public void AddListener(Action<T> p_listener) => m_action += p_listener;
|
||||
public void RemoveListener(Action<T> p_listener) => m_action -= p_listener;
|
||||
public void Invoke(T p_value) => m_action?.Invoke(p_value);
|
||||
}
|
||||
|
||||
|
|
|
@ -78,17 +78,17 @@ namespace ml_pam
|
|||
|
||||
m_enabled = Settings.Enabled;
|
||||
|
||||
Settings.OnEnabledChanged.AddHandler(this.OnEnabledChanged);
|
||||
Settings.OnGrabOffsetChanged.AddHandler(this.OnGrabOffsetChanged);
|
||||
Settings.OnLeadingHandChanged.AddHandler(this.OnLeadingHandChanged);
|
||||
Settings.OnHandsExtensionChanged.AddHandler(this.OnHandsExtensionChanged);
|
||||
Settings.OnEnabledChanged.AddListener(this.OnEnabledChanged);
|
||||
Settings.OnGrabOffsetChanged.AddListener(this.OnGrabOffsetChanged);
|
||||
Settings.OnLeadingHandChanged.AddListener(this.OnLeadingHandChanged);
|
||||
Settings.OnHandsExtensionChanged.AddListener(this.OnHandsExtensionChanged);
|
||||
|
||||
GameEvents.OnAvatarClear.AddHandler(this.OnAvatarClear);
|
||||
GameEvents.OnAvatarSetup.AddHandler(this.OnAvatarSetup);
|
||||
GameEvents.OnAvatarReuse.AddHandler(this.OnAvatarReuse);
|
||||
GameEvents.OnPlayspaceScale.AddHandler(this.OnPlayspaceScale);
|
||||
GameEvents.OnPickupGrab.AddHandler(this.OnPickupGrab);
|
||||
GameEvents.OnPickupDrop.AddHandler(this.OnPickupDrop);
|
||||
GameEvents.OnAvatarClear.AddListener(this.OnAvatarClear);
|
||||
GameEvents.OnAvatarSetup.AddListener(this.OnAvatarSetup);
|
||||
GameEvents.OnAvatarReuse.AddListener(this.OnAvatarReuse);
|
||||
GameEvents.OnPlayspaceScale.AddListener(this.OnPlayspaceScale);
|
||||
GameEvents.OnPickupGrab.AddListener(this.OnPickupGrab);
|
||||
GameEvents.OnPickupDrop.AddListener(this.OnPickupDrop);
|
||||
}
|
||||
|
||||
void OnDestroy()
|
||||
|
@ -108,17 +108,17 @@ namespace ml_pam
|
|||
m_pickup = null;
|
||||
m_vrIK = null;
|
||||
|
||||
Settings.OnEnabledChanged.RemoveHandler(this.OnEnabledChanged);
|
||||
Settings.OnGrabOffsetChanged.RemoveHandler(this.OnGrabOffsetChanged);
|
||||
Settings.OnLeadingHandChanged.RemoveHandler(this.OnLeadingHandChanged);
|
||||
Settings.OnHandsExtensionChanged.RemoveHandler(this.OnHandsExtensionChanged);
|
||||
Settings.OnEnabledChanged.RemoveListener(this.OnEnabledChanged);
|
||||
Settings.OnGrabOffsetChanged.RemoveListener(this.OnGrabOffsetChanged);
|
||||
Settings.OnLeadingHandChanged.RemoveListener(this.OnLeadingHandChanged);
|
||||
Settings.OnHandsExtensionChanged.RemoveListener(this.OnHandsExtensionChanged);
|
||||
|
||||
GameEvents.OnAvatarClear.RemoveHandler(this.OnAvatarClear);
|
||||
GameEvents.OnAvatarSetup.RemoveHandler(this.OnAvatarSetup);
|
||||
GameEvents.OnAvatarReuse.RemoveHandler(this.OnAvatarReuse);
|
||||
GameEvents.OnPlayspaceScale.RemoveHandler(this.OnPlayspaceScale);
|
||||
GameEvents.OnPickupGrab.RemoveHandler(this.OnPickupGrab);
|
||||
GameEvents.OnPickupDrop.RemoveHandler(this.OnPickupDrop);
|
||||
GameEvents.OnAvatarClear.RemoveListener(this.OnAvatarClear);
|
||||
GameEvents.OnAvatarSetup.RemoveListener(this.OnAvatarSetup);
|
||||
GameEvents.OnAvatarReuse.RemoveListener(this.OnAvatarReuse);
|
||||
GameEvents.OnPlayspaceScale.RemoveListener(this.OnPlayspaceScale);
|
||||
GameEvents.OnPickupGrab.RemoveListener(this.OnPickupGrab);
|
||||
GameEvents.OnPickupDrop.RemoveListener(this.OnPickupDrop);
|
||||
}
|
||||
|
||||
void Update()
|
||||
|
|
|
@ -12,22 +12,22 @@ namespace ml_pam
|
|||
internal class GameEvent
|
||||
{
|
||||
event Action m_action;
|
||||
public void AddHandler(Action p_listener) => m_action += p_listener;
|
||||
public void RemoveHandler(Action p_listener) => m_action -= p_listener;
|
||||
public void AddListener(Action p_listener) => m_action += p_listener;
|
||||
public void RemoveListener(Action p_listener) => m_action -= p_listener;
|
||||
public void Invoke() => m_action?.Invoke();
|
||||
}
|
||||
internal class GameEvent<T1>
|
||||
{
|
||||
event Action<T1> m_action;
|
||||
public void AddHandler(Action<T1> p_listener) => m_action += p_listener;
|
||||
public void RemoveHandler(Action<T1> p_listener) => m_action -= p_listener;
|
||||
public void AddListener(Action<T1> p_listener) => m_action += p_listener;
|
||||
public void RemoveListener(Action<T1> p_listener) => m_action -= p_listener;
|
||||
public void Invoke(T1 p_obj) => m_action?.Invoke(p_obj);
|
||||
}
|
||||
internal class GameEvent<T1, T2>
|
||||
{
|
||||
event Action<T1, T2> m_action;
|
||||
public void AddHandler(Action<T1, T2> p_listener) => m_action += p_listener;
|
||||
public void RemoveHandler(Action<T1, T2> p_listener) => m_action -= p_listener;
|
||||
public void AddListener(Action<T1, T2> p_listener) => m_action += p_listener;
|
||||
public void RemoveListener(Action<T1, T2> p_listener) => m_action -= p_listener;
|
||||
public void Invoke(T1 p_objA, T2 p_objB) => m_action?.Invoke(p_objA, p_objB);
|
||||
}
|
||||
|
||||
|
|
|
@ -9,8 +9,8 @@ namespace ml_pam
|
|||
internal class SettingEvent<T>
|
||||
{
|
||||
event Action<T> m_action;
|
||||
public void AddHandler(Action<T> p_listener) => m_action += p_listener;
|
||||
public void RemoveHandler(Action<T> p_listener) => m_action -= p_listener;
|
||||
public void AddListener(Action<T> p_listener) => m_action += p_listener;
|
||||
public void RemoveListener(Action<T> p_listener) => m_action -= p_listener;
|
||||
public void Invoke(T p_value) => m_action?.Invoke(p_value);
|
||||
}
|
||||
|
||||
|
|
|
@ -107,9 +107,9 @@ namespace ml_pin
|
|||
|
||||
bool ShouldNotifyInCurrentInstance()
|
||||
{
|
||||
bool l_isInPublic = (MetaPort.Instance.CurrentInstancePrivacy.Contains("Public") && Settings.NotifyInPublic);
|
||||
bool l_isInFriends = (MetaPort.Instance.CurrentInstancePrivacy.Contains("Friends") && Settings.NotifyInFriends);
|
||||
bool l_isInPrivate = (MetaPort.Instance.CurrentInstancePrivacy.Contains("invite") && Settings.NotifyInPrivate);
|
||||
bool l_isInPublic = ((MetaPort.Instance.CurrentInstancePrivacyType == MetaPort.InstancePrivacy.Public) && Settings.NotifyInPublic);
|
||||
bool l_isInFriends = (((MetaPort.Instance.CurrentInstancePrivacyType == MetaPort.InstancePrivacy.Friends) || (MetaPort.Instance.CurrentInstancePrivacyType == MetaPort.InstancePrivacy.FriendsOfFriends)) && Settings.NotifyInFriends);
|
||||
bool l_isInPrivate = (((MetaPort.Instance.CurrentInstancePrivacyType == MetaPort.InstancePrivacy.EveryoneCanInvite) || (MetaPort.Instance.CurrentInstancePrivacyType == MetaPort.InstancePrivacy.OwnerMustInvite)) && Settings.NotifyInPrivate);
|
||||
return (l_isInPublic || l_isInFriends || l_isInPrivate);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -9,8 +9,8 @@ namespace ml_pin
|
|||
internal class SettingEvent<T>
|
||||
{
|
||||
event Action<T> m_action;
|
||||
public void AddHandler(Action<T> p_listener) => m_action += p_listener;
|
||||
public void RemoveHandler(Action<T> p_listener) => m_action -= p_listener;
|
||||
public void AddListener(Action<T> p_listener) => m_action += p_listener;
|
||||
public void RemoveListener(Action<T> p_listener) => m_action -= p_listener;
|
||||
public void Invoke(T p_value) => m_action?.Invoke(p_value);
|
||||
}
|
||||
|
||||
|
|
|
@ -10,8 +10,8 @@ namespace ml_pmc
|
|||
internal class GameEvent
|
||||
{
|
||||
event Action m_action;
|
||||
public void AddHandler(Action p_listener) => m_action += p_listener;
|
||||
public void RemoveHandler(Action p_listener) => m_action -= p_listener;
|
||||
public void AddListener(Action p_listener) => m_action += p_listener;
|
||||
public void RemoveListener(Action p_listener) => m_action -= p_listener;
|
||||
public void Invoke() => m_action?.Invoke();
|
||||
}
|
||||
|
||||
|
|
|
@ -12,8 +12,8 @@ namespace ml_pmc
|
|||
internal class UiEvent<T>
|
||||
{
|
||||
event Action<T> m_action;
|
||||
public void AddHandler(Action<T> p_listener) => m_action += p_listener;
|
||||
public void RemoveHandler(Action<T> p_listener) => m_action -= p_listener;
|
||||
public void AddListener(Action<T> p_listener) => m_action += p_listener;
|
||||
public void RemoveListener(Action<T> p_listener) => m_action -= p_listener;
|
||||
public void Invoke(T p_value) => m_action?.Invoke(p_value);
|
||||
}
|
||||
|
||||
|
@ -72,7 +72,7 @@ namespace ml_pmc
|
|||
(ms_uiElements[(int)UiIndex.Reset] as Button).OnPress += Reset;
|
||||
|
||||
BTKUILib.QuickMenuAPI.OnPlayerSelected += (_, id) => ms_selectedPlayer = id;
|
||||
PoseCopycat.OnCopycatChanged.AddHandler(OnCopycatChanged);
|
||||
PoseCopycat.OnCopycatChanged.AddListener(OnCopycatChanged);
|
||||
}
|
||||
|
||||
static void OnCopySwitch() => OnTargetSelect.Invoke(ms_selectedPlayer);
|
||||
|
|
|
@ -15,8 +15,8 @@ namespace ml_pmc
|
|||
public class CopycatEvent<T1>
|
||||
{
|
||||
event System.Action<T1> m_action;
|
||||
public void AddHandler(System.Action<T1> p_listener) => m_action += p_listener;
|
||||
public void RemoveHandler(System.Action<T1> p_listener) => m_action -= p_listener;
|
||||
public void AddListener(System.Action<T1> p_listener) => m_action += p_listener;
|
||||
public void RemoveListener(System.Action<T1> p_listener) => m_action -= p_listener;
|
||||
public void Invoke(T1 p_value) => m_action?.Invoke(p_value);
|
||||
}
|
||||
|
||||
|
@ -51,12 +51,12 @@ namespace ml_pmc
|
|||
|
||||
void Start()
|
||||
{
|
||||
GameEvents.OnAvatarClear.AddHandler(this.OnAvatarClear);
|
||||
GameEvents.OnAvatarSetup.AddHandler(this.OnAvatarSetup);
|
||||
GameEvents.OnAvatarPreReuse.AddHandler(this.OnAvatarPreReuse);
|
||||
GameEvents.OnAvatarPostReuse.AddHandler(this.OnAvatarPostReuse);
|
||||
GameEvents.OnAvatarClear.AddListener(this.OnAvatarClear);
|
||||
GameEvents.OnAvatarSetup.AddListener(this.OnAvatarSetup);
|
||||
GameEvents.OnAvatarPreReuse.AddListener(this.OnAvatarPreReuse);
|
||||
GameEvents.OnAvatarPostReuse.AddListener(this.OnAvatarPostReuse);
|
||||
|
||||
ModUi.OnTargetSelect.AddHandler(this.OnTargetSelect);
|
||||
ModUi.OnTargetSelect.AddListener(this.OnTargetSelect);
|
||||
}
|
||||
void OnDestroy()
|
||||
{
|
||||
|
@ -74,12 +74,12 @@ namespace ml_pmc
|
|||
m_vrIk = null;
|
||||
m_lookAtIk = null;
|
||||
|
||||
GameEvents.OnAvatarClear.RemoveHandler(this.OnAvatarClear);
|
||||
GameEvents.OnAvatarSetup.RemoveHandler(this.OnAvatarSetup);
|
||||
GameEvents.OnAvatarPreReuse.RemoveHandler(this.OnAvatarPreReuse);
|
||||
GameEvents.OnAvatarPostReuse.RemoveHandler(this.OnAvatarPostReuse);
|
||||
GameEvents.OnAvatarClear.RemoveListener(this.OnAvatarClear);
|
||||
GameEvents.OnAvatarSetup.RemoveListener(this.OnAvatarSetup);
|
||||
GameEvents.OnAvatarPreReuse.RemoveListener(this.OnAvatarPreReuse);
|
||||
GameEvents.OnAvatarPostReuse.RemoveListener(this.OnAvatarPostReuse);
|
||||
|
||||
ModUi.OnTargetSelect.RemoveHandler(this.OnTargetSelect);
|
||||
ModUi.OnTargetSelect.RemoveListener(this.OnTargetSelect);
|
||||
}
|
||||
|
||||
// Unity events
|
||||
|
|
|
@ -8,8 +8,8 @@ namespace ml_pmc
|
|||
internal class SettingEvent<T>
|
||||
{
|
||||
event Action<T> m_action;
|
||||
public void AddHandler(Action<T> p_listener) => m_action += p_listener;
|
||||
public void RemoveHandler(Action<T> p_listener) => m_action -= p_listener;
|
||||
public void AddListener(Action<T> p_listener) => m_action += p_listener;
|
||||
public void RemoveListener(Action<T> p_listener) => m_action -= p_listener;
|
||||
public void Invoke(T p_value) => m_action?.Invoke(p_value);
|
||||
}
|
||||
|
||||
|
|
|
@ -20,15 +20,15 @@ namespace ml_prm
|
|||
internal class GameEvent
|
||||
{
|
||||
event Action m_action;
|
||||
public void AddHandler(Action p_listener) => m_action += p_listener;
|
||||
public void RemoveHandler(Action p_listener) => m_action -= p_listener;
|
||||
public void AddListener(Action p_listener) => m_action += p_listener;
|
||||
public void RemoveListener(Action p_listener) => m_action -= p_listener;
|
||||
public void Invoke() => m_action?.Invoke();
|
||||
}
|
||||
internal class GameEvent<T1>
|
||||
{
|
||||
event Action<T1> m_action;
|
||||
public void AddHandler(Action<T1> p_listener) => m_action += p_listener;
|
||||
public void RemoveHandler(Action<T1> p_listener) => m_action -= p_listener;
|
||||
public void AddListener(Action<T1> p_listener) => m_action += p_listener;
|
||||
public void RemoveListener(Action<T1> p_listener) => m_action -= p_listener;
|
||||
public void Invoke(T1 p_obj) => m_action?.Invoke(p_obj);
|
||||
}
|
||||
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
using ABI_RC.Core.Player;
|
||||
using ABI_RC.Core.Util.AssetFiltering;
|
||||
using ABI_RC.Systems.GameEventSystem;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Reflection;
|
||||
|
@ -17,8 +16,7 @@ namespace ml_prm
|
|||
ModUi.Init();
|
||||
GameEvents.Init(HarmonyInstance);
|
||||
WorldHandler.Init();
|
||||
|
||||
CVRGameEventSystem.Player.OnJoinEntity.AddListener(this.OnRemotePlayerCreated);
|
||||
RemoteGestureManager.Init();
|
||||
|
||||
MelonLoader.MelonCoroutines.Start(WaitForLocalPlayer());
|
||||
MelonLoader.MelonCoroutines.Start(WaitForWhitelist());
|
||||
|
@ -27,12 +25,11 @@ namespace ml_prm
|
|||
public override void OnDeinitializeMelon()
|
||||
{
|
||||
WorldHandler.DeInit();
|
||||
RemoteGestureManager.DeInit();
|
||||
|
||||
if(m_localController != null)
|
||||
UnityEngine.Object.Destroy(m_localController);
|
||||
m_localController = null;
|
||||
|
||||
CVRGameEventSystem.Player.OnJoinEntity.RemoveListener(this.OnRemotePlayerCreated);
|
||||
}
|
||||
|
||||
System.Collections.IEnumerator WaitForLocalPlayer()
|
||||
|
@ -55,11 +52,5 @@ namespace ml_prm
|
|||
}
|
||||
l_hashSet.Add(typeof(RagdollToggle));
|
||||
}
|
||||
|
||||
void OnRemotePlayerCreated(CVRPlayerEntity p_player)
|
||||
{
|
||||
if((p_player != null) && (p_player.PuppetMaster != null))
|
||||
p_player.PuppetMaster.gameObject.AddComponent<RemoteGestureHandler>();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -11,8 +11,8 @@ namespace ml_prm
|
|||
internal class UiEvent
|
||||
{
|
||||
event Action m_action;
|
||||
public void AddHandler(Action p_listener) => m_action += p_listener;
|
||||
public void RemoveHandler(Action p_listener) => m_action -= p_listener;
|
||||
public void AddListener(Action p_listener) => m_action += p_listener;
|
||||
public void RemoveListener(Action p_listener) => m_action -= p_listener;
|
||||
public void Invoke() => m_action?.Invoke();
|
||||
}
|
||||
|
||||
|
@ -87,7 +87,7 @@ namespace ml_prm
|
|||
ms_hotkeyToggle = ms_category.AddToggle("Use hotkey", "Switch ragdoll mode with 'R' key", Settings.Hotkey);
|
||||
ms_hotkeyToggle.ToggleTooltip = string.Format(c_ragdollKeyTooltip, Settings.HotkeyKey);
|
||||
ms_hotkeyToggle.OnValueUpdated += (state) => OnToggleUpdate(UiIndex.Hotkey, state);
|
||||
Settings.OnHotkeyKeyChanged.AddHandler(OnHotkeyKeyChanged);
|
||||
Settings.OnHotkeyKeyChanged.AddListener(OnHotkeyKeyChanged);
|
||||
|
||||
ms_gravityToggle = ms_category.AddToggle("Use gravity", "Apply gravity to ragdoll", Settings.Gravity);
|
||||
ms_gravityToggle.OnValueUpdated += (state) => OnToggleUpdate(UiIndex.Gravity, state);
|
||||
|
|
|
@ -81,30 +81,30 @@ namespace ml_prm
|
|||
m_puppetRoot.localPosition = Vector3.zero;
|
||||
m_puppetRoot.localRotation = Quaternion.identity;
|
||||
|
||||
Settings.OnMovementDragChanged.AddHandler(this.OnMovementDragChanged);
|
||||
Settings.OnAngularDragChanged.AddHandler(this.OnAngularDragChanged);
|
||||
Settings.OnGravityChanged.AddHandler(this.OnGravityChanged);
|
||||
Settings.OnSlipperinessChanged.AddHandler(this.OnPhysicsMaterialChanged);
|
||||
Settings.OnBouncinessChanged.AddHandler(this.OnPhysicsMaterialChanged);
|
||||
Settings.OnBuoyancyChanged.AddHandler(this.OnBuoyancyChanged);
|
||||
Settings.OnFallDamageChanged.AddHandler(this.OnFallDamageChanged);
|
||||
Settings.OnGestureGrabChanged.AddHandler(this.OnGestureGrabChanged);
|
||||
Settings.OnMovementDragChanged.AddListener(this.OnMovementDragChanged);
|
||||
Settings.OnAngularDragChanged.AddListener(this.OnAngularDragChanged);
|
||||
Settings.OnGravityChanged.AddListener(this.OnGravityChanged);
|
||||
Settings.OnSlipperinessChanged.AddListener(this.OnPhysicsMaterialChanged);
|
||||
Settings.OnBouncinessChanged.AddListener(this.OnPhysicsMaterialChanged);
|
||||
Settings.OnBuoyancyChanged.AddListener(this.OnBuoyancyChanged);
|
||||
Settings.OnFallDamageChanged.AddListener(this.OnFallDamageChanged);
|
||||
Settings.OnGestureGrabChanged.AddListener(this.OnGestureGrabChanged);
|
||||
|
||||
GameEvents.OnAvatarClear.AddHandler(this.OnAvatarClear);
|
||||
GameEvents.OnAvatarSetup.AddHandler(this.OnAvatarSetup);
|
||||
GameEvents.OnAvatarPreReuse.AddHandler(this.OnAvatarPreReuse);
|
||||
GameEvents.OnAvatarPostReuse.AddHandler(this.OnAvatarPostReuse);
|
||||
GameEvents.OnIKScaling.AddHandler(this.OnAvatarScaling);
|
||||
GameEvents.OnSeatPreSit.AddHandler(this.OnSeatPreSit);
|
||||
GameEvents.OnCalibrationStart.AddHandler(this.OnCalibrationStart);
|
||||
GameEvents.OnWorldPreSpawn.AddHandler(this.OnWorldPreSpawn);
|
||||
GameEvents.OnCombatPreDown.AddHandler(this.OnCombatPreDown);
|
||||
GameEvents.OnFlightChange.AddHandler(this.OnFlightChange);
|
||||
GameEvents.OnIKOffsetUpdate.AddHandler(this.OnIKOffsetUpdate);
|
||||
GameEvents.OnAvatarClear.AddListener(this.OnAvatarClear);
|
||||
GameEvents.OnAvatarSetup.AddListener(this.OnAvatarSetup);
|
||||
GameEvents.OnAvatarPreReuse.AddListener(this.OnAvatarPreReuse);
|
||||
GameEvents.OnAvatarPostReuse.AddListener(this.OnAvatarPostReuse);
|
||||
GameEvents.OnIKScaling.AddListener(this.OnAvatarScaling);
|
||||
GameEvents.OnSeatPreSit.AddListener(this.OnSeatPreSit);
|
||||
GameEvents.OnCalibrationStart.AddListener(this.OnCalibrationStart);
|
||||
GameEvents.OnWorldPreSpawn.AddListener(this.OnWorldPreSpawn);
|
||||
GameEvents.OnCombatPreDown.AddListener(this.OnCombatPreDown);
|
||||
GameEvents.OnFlightChange.AddListener(this.OnFlightChange);
|
||||
GameEvents.OnIKOffsetUpdate.AddListener(this.OnIKOffsetUpdate);
|
||||
BetterBetterCharacterController.OnTeleport.AddListener(this.OnPlayerTeleport);
|
||||
|
||||
ModUi.OnSwitchChanged.AddHandler(this.SwitchRagdoll);
|
||||
RemoteGestureHandler.OnGestureState.AddHandler(this.OnRemotePlayerGestureStateChanged);
|
||||
ModUi.OnSwitchChanged.AddListener(this.SwitchRagdoll);
|
||||
RemoteGestureHandler.OnGestureState.AddListener(this.OnRemotePlayerGestureStateChanged);
|
||||
}
|
||||
|
||||
void OnDestroy()
|
||||
|
@ -130,30 +130,30 @@ namespace ml_prm
|
|||
Object.Destroy(m_physicsMaterial);
|
||||
m_physicsMaterial = null;
|
||||
|
||||
Settings.OnMovementDragChanged.RemoveHandler(this.OnMovementDragChanged);
|
||||
Settings.OnAngularDragChanged.RemoveHandler(this.OnAngularDragChanged);
|
||||
Settings.OnGravityChanged.RemoveHandler(this.OnGravityChanged);
|
||||
Settings.OnSlipperinessChanged.RemoveHandler(this.OnPhysicsMaterialChanged);
|
||||
Settings.OnBouncinessChanged.RemoveHandler(this.OnPhysicsMaterialChanged);
|
||||
Settings.OnBuoyancyChanged.RemoveHandler(this.OnBuoyancyChanged);
|
||||
Settings.OnFallDamageChanged.RemoveHandler(this.OnFallDamageChanged);
|
||||
Settings.OnGestureGrabChanged.RemoveHandler(this.OnGestureGrabChanged);
|
||||
Settings.OnMovementDragChanged.RemoveListener(this.OnMovementDragChanged);
|
||||
Settings.OnAngularDragChanged.RemoveListener(this.OnAngularDragChanged);
|
||||
Settings.OnGravityChanged.RemoveListener(this.OnGravityChanged);
|
||||
Settings.OnSlipperinessChanged.RemoveListener(this.OnPhysicsMaterialChanged);
|
||||
Settings.OnBouncinessChanged.RemoveListener(this.OnPhysicsMaterialChanged);
|
||||
Settings.OnBuoyancyChanged.RemoveListener(this.OnBuoyancyChanged);
|
||||
Settings.OnFallDamageChanged.RemoveListener(this.OnFallDamageChanged);
|
||||
Settings.OnGestureGrabChanged.RemoveListener(this.OnGestureGrabChanged);
|
||||
|
||||
GameEvents.OnAvatarClear.RemoveHandler(this.OnAvatarClear);
|
||||
GameEvents.OnAvatarSetup.RemoveHandler(this.OnAvatarSetup);
|
||||
GameEvents.OnAvatarPreReuse.RemoveHandler(this.OnAvatarPreReuse);
|
||||
GameEvents.OnAvatarPostReuse.RemoveHandler(this.OnAvatarPostReuse);
|
||||
GameEvents.OnIKScaling.RemoveHandler(this.OnAvatarScaling);
|
||||
GameEvents.OnSeatPreSit.RemoveHandler(this.OnSeatPreSit);
|
||||
GameEvents.OnCalibrationStart.RemoveHandler(this.OnCalibrationStart);
|
||||
GameEvents.OnWorldPreSpawn.RemoveHandler(this.OnWorldPreSpawn);
|
||||
GameEvents.OnCombatPreDown.RemoveHandler(this.OnCombatPreDown);
|
||||
GameEvents.OnFlightChange.RemoveHandler(this.OnFlightChange);
|
||||
GameEvents.OnIKOffsetUpdate.RemoveHandler(this.OnIKOffsetUpdate);
|
||||
GameEvents.OnAvatarClear.RemoveListener(this.OnAvatarClear);
|
||||
GameEvents.OnAvatarSetup.RemoveListener(this.OnAvatarSetup);
|
||||
GameEvents.OnAvatarPreReuse.RemoveListener(this.OnAvatarPreReuse);
|
||||
GameEvents.OnAvatarPostReuse.RemoveListener(this.OnAvatarPostReuse);
|
||||
GameEvents.OnIKScaling.RemoveListener(this.OnAvatarScaling);
|
||||
GameEvents.OnSeatPreSit.RemoveListener(this.OnSeatPreSit);
|
||||
GameEvents.OnCalibrationStart.RemoveListener(this.OnCalibrationStart);
|
||||
GameEvents.OnWorldPreSpawn.RemoveListener(this.OnWorldPreSpawn);
|
||||
GameEvents.OnCombatPreDown.RemoveListener(this.OnCombatPreDown);
|
||||
GameEvents.OnFlightChange.RemoveListener(this.OnFlightChange);
|
||||
GameEvents.OnIKOffsetUpdate.RemoveListener(this.OnIKOffsetUpdate);
|
||||
BetterBetterCharacterController.OnTeleport.RemoveListener(this.OnPlayerTeleport);
|
||||
|
||||
ModUi.OnSwitchChanged.RemoveHandler(this.SwitchRagdoll);
|
||||
RemoteGestureHandler.OnGestureState.RemoveHandler(this.OnRemotePlayerGestureStateChanged);
|
||||
ModUi.OnSwitchChanged.RemoveListener(this.SwitchRagdoll);
|
||||
RemoteGestureHandler.OnGestureState.RemoveListener(this.OnRemotePlayerGestureStateChanged);
|
||||
}
|
||||
|
||||
void Update()
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
using ABI_RC.Core.Networking.IO.Social;
|
||||
using ABI_RC.Core.Player;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using UnityEngine;
|
||||
|
||||
namespace ml_prm
|
||||
|
@ -12,8 +10,8 @@ namespace ml_prm
|
|||
internal class GestureEvent<T1, T2, T3>
|
||||
{
|
||||
event Action<T1, T2, T3> m_action;
|
||||
public void AddHandler(Action<T1, T2, T3> p_listener) => m_action += p_listener;
|
||||
public void RemoveHandler(Action<T1, T2, T3> p_listener) => m_action -= p_listener;
|
||||
public void AddListener(Action<T1, T2, T3> p_listener) => m_action += p_listener;
|
||||
public void RemoveListener(Action<T1, T2, T3> p_listener) => m_action -= p_listener;
|
||||
public void Invoke(T1 p_objA, T2 p_objB, T3 p_objC) => m_action?.Invoke(p_objA, p_objB, p_objC);
|
||||
}
|
||||
|
||||
|
|
79
ml_prm/RemoteGestureManager.cs
Normal file
79
ml_prm/RemoteGestureManager.cs
Normal file
|
@ -0,0 +1,79 @@
|
|||
using ABI_RC.Core.Player;
|
||||
using ABI_RC.Systems.GameEventSystem;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace ml_prm
|
||||
{
|
||||
static class RemoteGestureManager
|
||||
{
|
||||
static readonly Dictionary<CVRPlayerEntity, RemoteGestureHandler> ms_remoteHandlers = new Dictionary<CVRPlayerEntity, RemoteGestureHandler>();
|
||||
|
||||
internal static void Init()
|
||||
{
|
||||
CVRGameEventSystem.Player.OnJoinEntity.AddListener(OnRemotePlayerCreated);
|
||||
CVRGameEventSystem.Player.OnLeaveEntity.AddListener(OnRemotePlayerDestroyed);
|
||||
Settings.OnGestureGrabChanged.AddListener(OnGestureGrabChanged);
|
||||
}
|
||||
|
||||
internal static void DeInit()
|
||||
{
|
||||
CVRGameEventSystem.Player.OnJoinEntity.RemoveListener(OnRemotePlayerCreated);
|
||||
CVRGameEventSystem.Player.OnLeaveEntity.RemoveListener(OnRemotePlayerDestroyed);
|
||||
Settings.OnGestureGrabChanged.RemoveListener(OnGestureGrabChanged);
|
||||
}
|
||||
|
||||
static void OnRemotePlayerCreated(CVRPlayerEntity p_player)
|
||||
{
|
||||
try
|
||||
{
|
||||
if(Settings.GestureGrab && (p_player != null) && (p_player.PuppetMaster != null))
|
||||
{
|
||||
RemoteGestureHandler l_handler = p_player.PuppetMaster.gameObject.AddComponent<RemoteGestureHandler>();
|
||||
ms_remoteHandlers.Add(p_player, l_handler);
|
||||
}
|
||||
}
|
||||
catch(Exception e)
|
||||
{
|
||||
MelonLoader.MelonLogger.Error(e);
|
||||
}
|
||||
}
|
||||
|
||||
static void OnRemotePlayerDestroyed(CVRPlayerEntity p_player)
|
||||
{
|
||||
try
|
||||
{
|
||||
if(p_player != null)
|
||||
ms_remoteHandlers.Remove(p_player);
|
||||
}
|
||||
catch(Exception e)
|
||||
{
|
||||
MelonLoader.MelonLogger.Error(e);
|
||||
}
|
||||
}
|
||||
|
||||
static void OnGestureGrabChanged(bool p_state)
|
||||
{
|
||||
if(p_state)
|
||||
{
|
||||
foreach(var l_player in CVRPlayerManager.Instance.NetworkPlayers)
|
||||
{
|
||||
if(!ms_remoteHandlers.ContainsKey(l_player) && (l_player.PuppetMaster != null))
|
||||
{
|
||||
RemoteGestureHandler l_handler = l_player.PuppetMaster.gameObject.AddComponent<RemoteGestureHandler>();
|
||||
ms_remoteHandlers.Add(l_player, l_handler);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
foreach(var l_pair in ms_remoteHandlers)
|
||||
{
|
||||
if(l_pair.Value != null)
|
||||
UnityEngine.Object.Destroy(l_pair.Value);
|
||||
}
|
||||
ms_remoteHandlers.Clear();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -9,8 +9,8 @@ namespace ml_prm
|
|||
internal class SettingEvent<T>
|
||||
{
|
||||
event Action<T> m_action;
|
||||
public void AddHandler(Action<T> p_listener) => m_action += p_listener;
|
||||
public void RemoveHandler(Action<T> p_listener) => m_action -= p_listener;
|
||||
public void AddListener(Action<T> p_listener) => m_action += p_listener;
|
||||
public void RemoveListener(Action<T> p_listener) => m_action -= p_listener;
|
||||
public void Invoke(T p_value) => m_action?.Invoke(p_value);
|
||||
}
|
||||
|
||||
|
|
|
@ -9,8 +9,8 @@ namespace ml_vei
|
|||
internal class SettingEvent<T>
|
||||
{
|
||||
event Action<T> m_action;
|
||||
public void AddHandler(Action<T> p_listener) => m_action += p_listener;
|
||||
public void RemoveHandler(Action<T> p_listener) => m_action -= p_listener;
|
||||
public void AddListener(Action<T> p_listener) => m_action += p_listener;
|
||||
public void RemoveListener(Action<T> p_listener) => m_action -= p_listener;
|
||||
public void Invoke(T p_value) => m_action?.Invoke(p_value);
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue