First commit for private source control. Older commits available on Github.
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
using BriarQueen.Framework.Coordinators.Events;
|
||||
using BriarQueen.Framework.Events.Input;
|
||||
using BriarQueen.Framework.Managers.Interaction;
|
||||
using Cysharp.Threading.Tasks;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
using VContainer;
|
||||
|
||||
namespace BriarQueen.Game.Items.Environment.General.Book
|
||||
{
|
||||
public class BookInterface : MonoBehaviour
|
||||
{
|
||||
[SerializeField]
|
||||
private CanvasGroup _canvasGroup;
|
||||
|
||||
[SerializeField]
|
||||
private GraphicRaycaster _graphicRaycaster;
|
||||
|
||||
private BookTrigger _bookTrigger;
|
||||
private EventCoordinator _eventCoordinator;
|
||||
private InteractManager _interactManager;
|
||||
|
||||
internal CanvasGroup CanvasGroup => _canvasGroup;
|
||||
|
||||
private void Start()
|
||||
{
|
||||
_interactManager.SetExclusiveRaycaster(_graphicRaycaster);
|
||||
}
|
||||
|
||||
private void OnDestroy()
|
||||
{
|
||||
_eventCoordinator.Unsubscribe<OnRightClickEvent>(OnRightClickPressed);
|
||||
_interactManager.ClearExclusiveRaycaster();
|
||||
}
|
||||
|
||||
[Inject]
|
||||
public void Construct(EventCoordinator eventCoordinator, InteractManager interactManager)
|
||||
{
|
||||
_eventCoordinator = eventCoordinator;
|
||||
_interactManager = interactManager;
|
||||
}
|
||||
|
||||
public void Initialise(BookTrigger trigger)
|
||||
{
|
||||
_bookTrigger = trigger;
|
||||
|
||||
_eventCoordinator.Subscribe<OnRightClickEvent>(OnRightClickPressed);
|
||||
}
|
||||
|
||||
private void OnRightClickPressed(OnRightClickEvent e)
|
||||
{
|
||||
_bookTrigger.CloseBookInterface().Forget();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user