Squashed commit of the following:
commit428243f4a6Author: AsanoRema <asanorema2036@gmail.com> Date: Sat Aug 29 13:43:13 2026 +0300 Squashed commit of the following: commit68e78fa464Author: AsanoRema <asanorema2036@gmail.com> Date: Sat Aug 29 13:41:49 2026 +0300 Updated .gitignore commit9f87122a34Author: AsanoRema <asanorema2036@gmail.com> Date: Sat Aug 29 13:34:57 2026 +0300 Added Dohya commitf6a7547e84Author: AsanoRema <asanorema2036@gmail.com> Date: Fri Aug 21 17:59:13 2026 +0300 Fixed commitb98901c366Author: AsanoRema <asanorema2036@gmail.com> Date: Tue Aug 18 17:37:22 2026 +0300 Added new particle Package commitbb2f4a3b16Author: AsanoRema <asanorema2036@gmail.com> Date: Tue Aug 18 17:17:48 2026 +0300 Map mehanic ready to multiplayer commitc01ff800f6Author: AsanoRema <asanorema2036@gmail.com> Date: Tue Aug 18 16:16:19 2026 +0300 Squashed commit of the following: commit173bbb165cAuthor: henjkey <henjkey@gmail.com> Date: Fri Aug 14 18:51:23 2026 +0500 Mappp commitd559ab338aAuthor: henjkey <henjkey@gmail.com> Date: Thu Aug 13 18:42:41 2026 +0500 Map Controller Coordinates Target System Crosshair System Radar System
This commit is contained in:
@@ -22,7 +22,7 @@ public sealed class PlayerInteractionController : NetworkBehaviour, IPlayerSyste
|
||||
|
||||
private void Update()
|
||||
{
|
||||
if (!isInitialized || !IsOwner || Keyboard.current == null)
|
||||
if (!isInitialized || !IsOwner)
|
||||
return;
|
||||
|
||||
if (PlayerInteractionSessionRegistry.TryGetControlledSession(
|
||||
@@ -31,7 +31,9 @@ public sealed class PlayerInteractionController : NetworkBehaviour, IPlayerSyste
|
||||
{
|
||||
focusedInteractable = null;
|
||||
|
||||
if (!Keyboard.current.eKey.isPressed && !activeSessionReleaseRequested)
|
||||
bool isHoldingControl = Mouse.current != null &&
|
||||
Mouse.current.leftButton.isPressed;
|
||||
if (!isHoldingControl && !activeSessionReleaseRequested)
|
||||
{
|
||||
activeSessionReleaseRequested = true;
|
||||
activeSession.RequestRelease();
|
||||
@@ -44,9 +46,14 @@ public sealed class PlayerInteractionController : NetworkBehaviour, IPlayerSyste
|
||||
activeSessionReleaseRequested = false;
|
||||
focusedInteractable = FindFocusedInteractable();
|
||||
|
||||
if (Keyboard.current.eKey.wasPressedThisFrame &&
|
||||
focusedInteractable != null &&
|
||||
focusedInteractable.IsInteractionAvailable)
|
||||
if (focusedInteractable == null || !focusedInteractable.IsInteractionAvailable)
|
||||
return;
|
||||
|
||||
bool startsHoldSession = focusedInteractable is IPlayerInteractionSession &&
|
||||
Mouse.current != null && Mouse.current.leftButton.wasPressedThisFrame;
|
||||
bool performsRegularInteraction = focusedInteractable is not IPlayerInteractionSession &&
|
||||
Keyboard.current != null && Keyboard.current.eKey.wasPressedThisFrame;
|
||||
if (startsHoldSession || performsRegularInteraction)
|
||||
{
|
||||
focusedInteractable.RequestInteraction();
|
||||
}
|
||||
@@ -73,6 +80,9 @@ public sealed class PlayerInteractionController : NetworkBehaviour, IPlayerSyste
|
||||
for (int hitIndex = 0; hitIndex < hitCount; hitIndex++)
|
||||
{
|
||||
RaycastHit hit = interactionHits[hitIndex];
|
||||
if (hit.collider != null && hit.collider.transform.IsChildOf(transform))
|
||||
continue;
|
||||
|
||||
IInteractable interactable = FindInteractable(hit.collider);
|
||||
if (interactable == null)
|
||||
{
|
||||
@@ -128,8 +138,11 @@ public sealed class PlayerInteractionController : NetworkBehaviour, IPlayerSyste
|
||||
if (focusedInteractable == null)
|
||||
return;
|
||||
|
||||
string inputPrompt = focusedInteractable is IPlayerInteractionSession
|
||||
? "[Hold LMB] "
|
||||
: "[E] ";
|
||||
string prompt = focusedInteractable.IsInteractionAvailable
|
||||
? "[E] " + focusedInteractable.InteractionPrompt
|
||||
? inputPrompt + focusedInteractable.InteractionPrompt
|
||||
: "In use";
|
||||
DrawPrompt(prompt);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user