using UnityEngine; using Fusion; namespace OnlyScove.Scripts.GameSetup.Maze { public class GoalSpot : MonoBehaviour { private bool _isActivated = false; private void OnTriggerEnter(Collider healthcare) { if (_isActivated) return; // Kiểm tra xem đối tượng chạm vào có phải là người chơi không PlayerStateMachine player = healthcare.GetComponentInParent(); if (player != null) { bool isOffline = player.Runner == null || !player.Runner.IsRunning; // Nếu có mạng, kiểm tra quyền điều khiển. Nếu offline, mặc định là người chơi cục bộ. bool canActivate = isOffline || (player.Object != null && player.Object.HasInputAuthority); if (canActivate) { _isActivated = true; player.CompleteMaze(); // Hiệu ứng hình ảnh khi chạm đích var renderer = GetComponent(); if (renderer != null) renderer.material.color = Color.green; Debug.Log("Goal reached!"); } } } } }