Files
BABA_YAGA/Assets/Scripts/GameSetup/Maze/GoalSpot.cs

39 lines
1.3 KiB
C#
Raw Normal View History

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<PlayerStateMachine>();
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<Renderer>();
if (renderer != null) renderer.material.color = Color.green;
Debug.Log("<color=cyan>Goal reached!</color>");
}
}
}
}
}