56 lines
1.5 KiB
C#
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");
|
|
}
|
|
}
|
|
} |