myGaze/Assets/myScripts/EyeInteractableUnlock.cs
2025-11-03 22:28:23 +01:00

56 lines
1.5 KiB
C#

using UnityEngine;
[RequireComponent(typeof(Collider))]
[RequireComponent(typeof(Rigidbody))]
public class EyeInteractableUnlock : MonoBehaviour
{
public bool IsHovered { get; private set; }
[Header("Materials")]
[SerializeField] private Material defaultMaterial; // حالت عادی
[SerializeField] private Material greenMaterial; // وقتی کامل شد
private MeshRenderer meshRenderer;
private EyeUnlockSequence unlockSequence;
void Start()
{
meshRenderer = GetComponent<MeshRenderer>();
unlockSequence = GetComponent<EyeUnlockSequence>();
// شروع با default material
SetDefaultMaterial();
}
public void OnStartLooking()
{
IsHovered = true;
Debug.Log("Looking at: " + gameObject.name);
}
public void OnStopLooking()
{
IsHovered = false;
Debug.Log("Stop looking at: " + gameObject.name);
}
// وقتی sequence کامل شد - سبز کن
public void SetGreenMaterial()
{
if (meshRenderer != null && greenMaterial != null)
{
meshRenderer.material = greenMaterial;
Debug.Log($"✅ {gameObject.name} is now GREEN!");
}
}
// برگردون به حالت عادی
public void SetDefaultMaterial()
{
if (meshRenderer != null && defaultMaterial != null)
{
meshRenderer.material = defaultMaterial;
Debug.Log($"⚪ {gameObject.name} is now DEFAULT");
}
}
}