Skip to content

Commit ef8a03b

Browse files
committed
phantom press fix
1 parent 42c99ec commit ef8a03b

1 file changed

Lines changed: 9 additions & 2 deletions

File tree

Basis/Packages/com.basis.framework/UI/BasisUIRaycastProcess.cs

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,13 @@ public class BasisUIRaycastProcess
1616
public BasisDeviceManagement BasisDeviceManagement;
1717
public List<BasisInput> Inputs;
1818
public bool HasEvent = false;
19+
public const float TriggerReleaseThreshold = 0.5f;
20+
21+
private static bool IsTriggerDown(BasisInput input, bool wasDown)
22+
{
23+
float trigger = input.CurrentInputState.Trigger;
24+
return wasDown ? trigger >= TriggerReleaseThreshold : trigger >= 1f;
25+
}
1926

2027
public void Initialize()
2128
{
@@ -83,7 +90,7 @@ public void Simulate()
8390

8491
bool hasActiveUITarget = input.BasisUIRaycast.WasCorrectLayer && input.BasisUIRaycast.HadRaycastUITarget;
8592

86-
bool isDownThisFrame = input.CurrentInputState.Trigger == 1;
93+
bool isDownThisFrame = IsTriggerDown(input, eventData.WasLastDown);
8794

8895
// Track down-transition for deselection later
8996
if (input.BasisUIRaycast.WasCorrectLayer)
@@ -184,7 +191,7 @@ public void SimulateOnCanvas(RaycastResult raycastResult, BasisRaycastUIHitData
184191
// Always keep latest raycast, so movement / scroll / hover use up-to-date info
185192
currentEventData.pointerCurrentRaycast = raycastResult;
186193

187-
bool IsDownThisFrame = BaseInput.CurrentInputState.Trigger == 1;
194+
bool IsDownThisFrame = IsTriggerDown(BaseInput, currentEventData.WasLastDown);
188195

189196
Shader.SetGlobalVector(CursorPos, hit.worldHitPosition);
190197

0 commit comments

Comments
 (0)