CapersProject/Assets/02.Scripts/Character/Player/Tycoon/TycoonInput.cs
Nam Tae Gun c2f8f02328 버그 및 로직 수정
+ GameManager CurrentCombatPlayer 버그 및 로직 수정
+ 타이탄 슬라임 스프라이트 변경
+ Tycoon action 추가
+ JumpSlam 스프라이트 형식으로 변경
+ Npc 레이어 추가
2024-06-08 02:31:08 +09:00

93 lines
2.7 KiB
C#

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
// Tycoon
public void OnMove(InputAction.CallbackContext context)
{
var movementInput = context.ReadValue<Vector2>();
OnMoveInputReceived?.Invoke(movementInput);
}
public void OnInteraction(InputAction.CallbackContext context)
{
if (context.performed)
{
// 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;
TycoonUiManager.Instance.RestaurantUpgradeUi.Close();
}
}
public void OnCancel(InputAction.CallbackContext context)
{
if (context.performed)
{
CombatUiManager.Instance.CloseLastPopup();
}
}
#endregion
}
}