using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class DiceRoller : MonoBehaviour
{
    [SerializeField] private int diceTestValue = 0;

    private InputManager inputManager;
    
    private void OnMouseDown()
    {
        inputManager = inputManager == null ? InterfaceManager.Instance?.GetInterfaceInstance<InputManager>() : inputManager;
        if (!inputManager.GameplayManager.CanRollDice) return;

        OnDiceRolled();
    }

    private void Update()
    {
        inputManager = inputManager == null ? InterfaceManager.Instance?.GetInterfaceInstance<InputManager>() : inputManager;
        if (!inputManager.GameplayManager.CanRollDice) return;

        if (Input.GetKeyDown(KeyCode.Space))
            OnDiceRolled();
    }

    private void OnDiceRolled()
    {
        int currentRolledVal = diceTestValue != 0 ? diceTestValue : Random.Range(1, Ludo_3D_Constants.Max_Dice_Rolls + 1);
        inputManager.SetDiceRollValue(currentRolledVal);
    }
}
