1
0
forked from cgvr/DeltaVR

professor walks away after having been saved

This commit is contained in:
2026-03-07 13:46:26 +02:00
parent b583b00303
commit 68fe5357d2
6 changed files with 72 additions and 5 deletions

View File

@@ -1,3 +1,4 @@
using DG.Tweening;
using System;
using System.Threading.Tasks;
using UnityEngine;
@@ -13,6 +14,8 @@ public class ShapeDetectionNPC : NPCController
public ShapeScanner shapeScanner;
public Transform questMarkerPoint;
public float radioAmount = 1f;
public Transform[] movementPath;
public float moveSpeedPerSecond = 2f;
// states:
@@ -22,6 +25,8 @@ public class ShapeDetectionNPC : NPCController
// 3 - player spoke into the radio
// 4 - player pressed enter on keyboard
// 5 - player inserted picture into printer
// 6 - shape scanner completed
// 7 - moving away
private int state;
private float lastPlayerApproachTime;
@@ -128,6 +133,29 @@ public class ShapeDetectionNPC : NPCController
private void OnShapeScannerCompleted()
{
state = 6;
questMarker.MoveTo(questMarkerPoint);
}
private void MoveToNextPoint(int pointIndex)
{
Transform nextPoint = movementPath[pointIndex];
float moveDuration = (nextPoint.position - transform.position).magnitude / moveSpeedPerSecond;
transform.DOMove(nextPoint.position, moveDuration).SetEase(Ease.Linear).OnComplete(() =>
{
if (pointIndex < movementPath.Length - 1)
{
MoveToNextPoint(pointIndex + 1);
}
});
}
public void OnPlayerEnteredRoom()
{
if (state == 6)
{
questMarker.gameObject.SetActive(false);
MoveToNextPoint(0);
}
}
}