2024-06-06 11:07:07 +00:00
|
|
|
using System;
|
|
|
|
using System.Collections;
|
|
|
|
using BlueWater.Uis;
|
|
|
|
using UnityEngine;
|
|
|
|
using UnityEngine.InputSystem;
|
|
|
|
|
|
|
|
namespace BlueWater.Players.Tycoons
|
|
|
|
{
|
|
|
|
public class TycoonInput : MonoBehaviour
|
|
|
|
{
|
|
|
|
// variables
|
|
|
|
#region variables
|
|
|
|
|
|
|
|
// Components
|
|
|
|
private PlayerInput _playerInput;
|
|
|
|
|
|
|
|
// Events
|
|
|
|
public event Action<Vector2> OnMoveInputReceived;
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
// Initialize methods
|
|
|
|
#region Initialize methods
|
|
|
|
|
|
|
|
public void InitializeComponents(PlayerInput playerInput)
|
|
|
|
{
|
|
|
|
_playerInput = playerInput;
|
|
|
|
_playerInput.enabled = true;
|
|
|
|
PlayerInputKeyManager.Instance.SetCurrentPlayerInput(_playerInput);
|
|
|
|
PlayerInputKeyManager.Instance.SwitchCurrentActionMap(InputActionMaps.Tycoon);
|
|
|
|
|
|
|
|
StartCoroutine(nameof(PlayerInputCoroutine));
|
|
|
|
}
|
|
|
|
|
|
|
|
private IEnumerator PlayerInputCoroutine()
|
|
|
|
{
|
|
|
|
yield return new WaitForSeconds(0.5f);
|
|
|
|
|
|
|
|
PlayerInputKeyManager.Instance.DisableAllActionMaps();
|
|
|
|
PlayerInputKeyManager.Instance.EnableCurrentPlayerInput();
|
|
|
|
PlayerInputKeyManager.Instance.SwitchCurrentActionMap(InputActionMaps.Tycoon);
|
|
|
|
}
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
// Player input methods
|
|
|
|
#region Player input methods
|
|
|
|
|
2024-06-07 17:31:08 +00:00
|
|
|
// Tycoon
|
2024-06-06 11:07:07 +00:00
|
|
|
public void OnMove(InputAction.CallbackContext context)
|
|
|
|
{
|
|
|
|
var movementInput = context.ReadValue<Vector2>();
|
|
|
|
OnMoveInputReceived?.Invoke(movementInput);
|
|
|
|
}
|
|
|
|
|
|
|
|
public void OnInteraction(InputAction.CallbackContext context)
|
|
|
|
{
|
|
|
|
if (context.performed)
|
|
|
|
{
|
2024-06-07 17:31:08 +00:00
|
|
|
// TODO : 상호작용 추가
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
public void OnOpenRestaurantUpgrade(InputAction.CallbackContext context)
|
|
|
|
{
|
|
|
|
if (context.performed)
|
|
|
|
{
|
|
|
|
TycoonUiManager.Instance.RestaurantUpgradeUi.Open(TycoonUiManager.Instance.PopupUiList);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// TycoonUi
|
|
|
|
public void OnCloseRestaurantUpgrade(InputAction.CallbackContext context)
|
|
|
|
{
|
|
|
|
if (context.performed)
|
|
|
|
{
|
|
|
|
if (!TycoonUiManager.Instance.RestaurantUpgradeUi.gameObject.activeSelf) return;
|
2024-06-06 11:07:07 +00:00
|
|
|
|
2024-06-07 17:31:08 +00:00
|
|
|
TycoonUiManager.Instance.RestaurantUpgradeUi.Close();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
public void OnCancel(InputAction.CallbackContext context)
|
|
|
|
{
|
|
|
|
if (context.performed)
|
|
|
|
{
|
|
|
|
CombatUiManager.Instance.CloseLastPopup();
|
2024-06-06 11:07:07 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
}
|
|
|
|
}
|