From 26fbdba535c93aebd1c063c04bc6156068b8c5f7 Mon Sep 17 00:00:00 2001 From: Melbyj1125 <60886701+Melbyj1125@users.noreply.github.com> Date: Wed, 6 Apr 2022 13:42:28 -0500 Subject: [PATCH] look priority when grappling --- Assets/Scenes/Demos/MovementScene.unity | 9 +++++++++ .../DebugAerialState/dAerialStateManager.cs | 17 ++++++++++++++++- .../AerialState/AerialStateManager.cs | 16 ++++++++++++++-- 3 files changed, 39 insertions(+), 3 deletions(-) diff --git a/Assets/Scenes/Demos/MovementScene.unity b/Assets/Scenes/Demos/MovementScene.unity index f1c95bd..fd16b45 100644 --- a/Assets/Scenes/Demos/MovementScene.unity +++ b/Assets/Scenes/Demos/MovementScene.unity @@ -313,6 +313,11 @@ MeshFilter: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 181370900} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!20 &192552233 stripped +Camera: + m_CorrespondingSourceObject: {fileID: 916243637571042078, guid: 0ea305f96ab853340bb9f0ed320dac08, type: 3} + m_PrefabInstance: {fileID: 4756939987922741697} + m_PrefabAsset: {fileID: 0} --- !u!1 &228851343 GameObject: m_ObjectHideFlags: 0 @@ -3293,6 +3298,10 @@ PrefabInstance: m_Modification: m_TransformParent: {fileID: 0} m_Modifications: + - target: {fileID: 1707207228499037414, guid: 0ea305f96ab853340bb9f0ed320dac08, type: 3} + propertyPath: cam + value: + objectReference: {fileID: 192552233} - target: {fileID: 1707207228499037468, guid: 0ea305f96ab853340bb9f0ed320dac08, type: 3} propertyPath: hasGlider value: 0 diff --git a/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugAerialState/dAerialStateManager.cs b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugAerialState/dAerialStateManager.cs index b15546c..a18ac86 100644 --- a/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugAerialState/dAerialStateManager.cs +++ b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugAerialState/dAerialStateManager.cs @@ -27,6 +27,7 @@ public class dAerialStateManager : NetworkBehaviour ////Objects Sections GameObject parentObj; // Parent object + public Camera cam; //// ////Components Section @@ -479,17 +480,31 @@ public class dAerialStateManager : NetworkBehaviour return false; } + //Modify This So it Actually gets the nearest hook with a preference for the one they are looking at //Finds the nearest hook to the player int FindHookPoint() { float least = maxGrabDistance; int index = -1; + bool inSightLine; + bool hookInSight = false; for(int i = 0; i 0 && screenPoint.x > 0 && screenPoint.x < 1 && screenPoint.y > 0 && screenPoint.y < 1; + if (distance <= least) { - index = i; + if(inSightLine){ + index = i; + least = distance; + hookInSight = true; + } + else if(!hookInSight && !inSightLine){ + index = i; + } } } return index; diff --git a/Assets/Scripts/PlayerScripts/NetworkedStateMachines/AerialState/AerialStateManager.cs b/Assets/Scripts/PlayerScripts/NetworkedStateMachines/AerialState/AerialStateManager.cs index 3bf423e..c99d1b9 100644 --- a/Assets/Scripts/PlayerScripts/NetworkedStateMachines/AerialState/AerialStateManager.cs +++ b/Assets/Scripts/PlayerScripts/NetworkedStateMachines/AerialState/AerialStateManager.cs @@ -505,17 +505,29 @@ public class AerialStateManager : NetworkBehaviour return false; } - //Finds the nearest hook to the player int FindHookPoint() { float least = maxGrabDistance; int index = -1; + bool inSightLine; + bool hookInSight = false; for(int i = 0; i 0 && screenPoint.x > 0 && screenPoint.x < 1 && screenPoint.y > 0 && screenPoint.y < 1; + if (distance <= least) { - index = i; + if(inSightLine){ + index = i; + least = distance; + hookInSight = true; + } + else if(!hookInSight && !inSightLine){ + index = i; + } } } return index;