static void DrawSpawnPoints() { if (!Debugging.Enabled || spawn_scores.Count == 0) { return; } Vector3 shipPos = GameManager.m_player_ship.c_transform_position; Vector3 forward = GameManager.m_player_ship.c_camera_transform.forward; Quaternion shipQuat = GameManager.m_player_ship.c_transform.localRotation; var max = spawn_scores.Select(s => s.Value).Max(); foreach (var score in spawn_scores) { Vector3 spawnPos = score.Key.position; Vector3 vector; vector.x = spawnPos.x - shipPos.x; vector.y = spawnPos.y - shipPos.y; vector.z = spawnPos.z - shipPos.z; float dist = Mathf.Max(0.1f, vector.magnitude); int quad_index = UIManager.m_quad_index; Vector2 offset = Vector2.zero; Color color = UIManager.m_col_red; // offset.y = -80f / dist; offset.y = 2f; UIManager.DrawStringAlignCenter($"Spawn", offset, 1f, color, -1f); WorldText.PreviousQuadsTransformText(spawnPos, shipQuat, dist, quad_index); } }
static void DrawSegmentNums() { if (!Debugging.Enabled) { return; } Vector3 shipPos = GameManager.m_player_ship.c_transform_position; Quaternion shipQuat = GameManager.m_player_ship.c_transform.localRotation; for (int i = 0; i < GameManager.m_level_data.Segments.Length; i++) { var seg = GameManager.m_level_data.Segments[i]; Vector3 segCenter = seg.Center; Vector3 vector; vector.x = segCenter.x - shipPos.x; vector.y = segCenter.y - shipPos.y; vector.z = segCenter.z - shipPos.z; float dist = Mathf.Max(0.1f, vector.magnitude); vector.x /= dist; vector.y /= dist; vector.z /= dist; if ((bool)_UIManager_VisibilityRaycast_Method.Invoke(null, new object[] { shipPos, vector, dist })) { int quad_index = UIManager.m_quad_index; Vector2 offset = Vector2.zero; offset.y = 2f; UIManager.DrawStringAlignCenter($"{i}", offset, 1f, UIManager.m_col_white2, -1f); WorldText.PreviousQuadsTransformText(segCenter, shipQuat, dist, quad_index); } } }