Adding basket blocking feature

This commit is contained in:
hz
2026-02-01 15:41:21 -06:00
parent 2d38838efd
commit cb176962a9
3 changed files with 286 additions and 19 deletions
+24
View File
@@ -18,6 +18,7 @@ public class PlayerPickupController : MonoBehaviour
[SerializeField] private float throwUpwardForce = 0f;
[SerializeField] private float throwTriggerThreshold = 0.6f;
[SerializeField] private float dropClearance = 0.2f;
[SerializeField] private float holdToSpawnTime = 3f;
[Header("Setup")]
public Transform holdPoint; // Empty GameObject above head
@@ -33,6 +34,9 @@ public class PlayerPickupController : MonoBehaviour
private PlayerStressController playerStressController;
private bool isChargingThrow;
private float throwChargeStartTime;
private float holdStartTime;
private bool spawnedDuringHold;
private float nextHoldSpawnTime;
private void OnEnable()
{
@@ -113,6 +117,21 @@ public class PlayerPickupController : MonoBehaviour
return;
}
if (Time.time >= nextHoldSpawnTime)
{
if (heldObject == null)
{
return;
}
if (!TrickController.TrySpawnFromPrefabAt(heldObject.transform.position))
{
TrickController.TrySpawnAt(heldObject.transform.position);
}
spawnedDuringHold = true;
nextHoldSpawnTime = Time.time + holdToSpawnTime;
}
var gamepad = GetGamepad();
if (gamepad == null)
{
@@ -159,6 +178,9 @@ public class PlayerPickupController : MonoBehaviour
}
heldObject = col.gameObject;
holdStartTime = Time.time;
spawnedDuringHold = false;
nextHoldSpawnTime = holdStartTime + holdToSpawnTime;
// Parent the object to the HoldPoint and reset its local position
heldObject.transform.SetParent(holdPoint);
@@ -260,6 +282,8 @@ public class PlayerPickupController : MonoBehaviour
heldObject = null;
heldBody = null;
isChargingThrow = false;
spawnedDuringHold = false;
nextHoldSpawnTime = 0f;
}
private Gamepad GetGamepad()