refactor
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
using UnityEngine;
|
||||
|
||||
public class SelectedVisual : MonoBehaviour
|
||||
{
|
||||
[SerializeField]
|
||||
private BaseInteractableObject _selectedObject;
|
||||
[SerializeField]
|
||||
private GameObject[] visualGameObjectArray;
|
||||
|
||||
|
||||
private void Start()
|
||||
{
|
||||
MouseInputManager.OnSelectedObjectChanged += Mouse_OnSelectedObjectChanged;
|
||||
print($"{_selectedObject.name} is subscribed to OnSelectedObjectChanged");
|
||||
}
|
||||
|
||||
private void OnDestroy()
|
||||
{
|
||||
MouseInputManager.OnSelectedObjectChanged -= Mouse_OnSelectedObjectChanged;
|
||||
print($"{_selectedObject.name} is Unsubscribed to OnSelectedObjectChanged");
|
||||
}
|
||||
|
||||
private void Mouse_OnSelectedObjectChanged(object sender, OnSelectedObjectChangedEventArgs e)
|
||||
{
|
||||
if (e.SelectedObject == _selectedObject)
|
||||
{
|
||||
Show();
|
||||
}
|
||||
else
|
||||
{
|
||||
Hide();
|
||||
}
|
||||
}
|
||||
|
||||
private void Show()
|
||||
{
|
||||
foreach (var visualGameObject in visualGameObjectArray)
|
||||
visualGameObject.SetActive(true);
|
||||
}
|
||||
private void Hide()
|
||||
{
|
||||
foreach (var visualGameObject in visualGameObjectArray)
|
||||
visualGameObject.SetActive(false);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user