gameplay所有基本功能都装了,加入了全局警告。加入飘字等各种东西。

This commit is contained in:
FloatGaming
2026-02-21 00:20:03 +08:00
parent 9f7c1c57b7
commit 14fb281d6f
254 changed files with 102927 additions and 9427 deletions
@@ -1,4 +1,4 @@
using System.Collections;
using System.Collections;
using UnityEngine;
public class NoteController : MonoBehaviour
@@ -8,6 +8,7 @@ public class NoteController : MonoBehaviour
private bool isInJudgeZone = false; // Documentation text normalized.
private ParticleSystem hitEffect;
private Note linkedNote;
private bool useAbsolutePositioning = false;
// For absolute position tracking instead of relative translate
private Vector3 spawnPosition;
@@ -23,7 +24,7 @@ public class NoteController : MonoBehaviour
private void Update()
{
if (isMoving && activationTime >= 0f)
if (isMoving && useAbsolutePositioning)
{
// Use absolute positioning based on elapsed time since activation
float elapsedSinceActivation = Time.time - activationTime;
@@ -63,11 +64,22 @@ public class NoteController : MonoBehaviour
spawnPosition = initialSpawnPos;
activationTime = hitTime - travelTime;
baseSpawnYOffset = initialYOffset;
useAbsolutePositioning = true;
transform.position = GetExpectedPosition(Time.time);
if (JudgeManager.IsDebugEnabled)
Debug.Log($"[NoteController] Configured: spawnPos={spawnPosition}, activationTime={activationTime:F3}, initialYOffset={initialYOffset:F4}");
}
public Vector3 GetExpectedPosition(float time)
{
float elapsedSinceActivation = time - activationTime;
float travelDistance = speed * Mathf.Max(0f, elapsedSinceActivation);
Vector3 newPos = spawnPosition;
newPos.y -= (baseSpawnYOffset + travelDistance);
return newPos;
}
public void ResetState()
{
speed = 0f;
@@ -76,6 +88,7 @@ public class NoteController : MonoBehaviour
activationTime = -1f;
baseSpawnYOffset = 0f;
spawnPosition = transform.position;
useAbsolutePositioning = false;
if (hitEffect != null)
{