Files
Cielonos/Assets/Scripts/MainGame/Characters/Player/PlayerOperationSubcontroller.cs
SoulliesOfficial ef7b479712 initial
2025-11-25 08:19:33 -05:00

126 lines
4.7 KiB
C#

using System;
using UnityEngine;
namespace Cielonos.MainGame.Characters
{
public partial class PlayerOperationSubcontroller : SubcontrollerBase<Player>, IPlayerSubcontroller
{
public Player player => owner;
public bool isOverridingMainWeaponPress;
public override void Initialize()
{
base.Initialize();
isOverridingMainWeaponPress = false;
}
}
public partial class PlayerOperationSubcontroller
{
public event Action OnInteract;
public event Action OnDash;
public event Action OnDodge;
public event Action OnLockOnTarget;
public event Action OnWalkPress;
public event Action OnWalkRelease;
public event Action OnMainWeaponPrimaryPress;
public event Action OnMainWeaponPrimaryHold;
public event Action OnMainWeaponPrimaryRelease;
public event Action OnMainWeaponSecondaryPress;
public event Action OnMainWeaponSecondaryHold;
public event Action OnMainWeaponSecondaryRelease;
public event Action OnMainWeaponTertiaryPress;
public event Action OnMainWeaponTertiaryHold;
public event Action OnMainWeaponTertiaryRelease;
public event Action OnMainWeaponQuaternaryPress;
public event Action OnMainWeaponQuaternaryHold;
public event Action OnMainWeaponQuaternaryRelease;
public event Action OnMainWeaponQuinaryPress;
public event Action OnMainWeaponQuinaryHold;
public event Action OnMainWeaponQuinaryRelease;
public event Action<float> OnSwitchMainWeapon;
public event Action OnOpenMainWeaponRoulette;
public event Action OnCloseMainWeaponRoulette;
public event Action OnFastSwitchMainWeapon;
public event Action OnReload;
public event Action OnUseConsumableItem;
public event Action OnUseSupportEquipment0Press;
public event Action OnUseSupportEquipment1Press;
public event Action OnUseSupportEquipment2Press;
public event Action OnUseSupportEquipment3Press;
}
public partial class PlayerOperationSubcontroller
{
public void Interact() => OnInteract?.Invoke();
public void Dash() => OnDash?.Invoke();
public void Dodge() => OnDodge?.Invoke();
public void LockOnTarget() => OnLockOnTarget?.Invoke();
public void WalkPress() => OnWalkPress?.Invoke();
public void WalkRelease() => OnWalkRelease?.Invoke();
public void MainWeaponPrimaryPress() => OnMainWeaponPrimaryPress?.Invoke();
public void MainWeaponPrimaryHold() => OnMainWeaponPrimaryHold?.Invoke();
public void MainWeaponPrimaryRelease() => OnMainWeaponPrimaryRelease?.Invoke();
public void MainWeaponSecondaryPress() => OnMainWeaponSecondaryPress?.Invoke();
public void MainWeaponSecondaryHold() => OnMainWeaponSecondaryHold?.Invoke();
public void MainWeaponSecondaryRelease() => OnMainWeaponSecondaryRelease?.Invoke();
public void MainWeaponTertiaryPress() => OnMainWeaponTertiaryPress?.Invoke();
public void MainWeaponTertiaryHold() => OnMainWeaponTertiaryHold?.Invoke();
public void MainWeaponTertiaryRelease() => OnMainWeaponTertiaryRelease?.Invoke();
public void MainWeaponQuaternaryPress() => OnMainWeaponQuaternaryPress?.Invoke();
public void MainWeaponQuaternaryHold() => OnMainWeaponQuaternaryHold?.Invoke();
public void MainWeaponQuaternaryRelease() => OnMainWeaponQuaternaryRelease?.Invoke();
public void MainWeaponQuinaryPress() => OnMainWeaponQuinaryPress?.Invoke();
public void MainWeaponQuinaryHold() => OnMainWeaponQuinaryHold?.Invoke();
public void MainWeaponQuinaryRelease() => OnMainWeaponQuinaryRelease?.Invoke();
public void SwitchMainWeapon(float direction) => OnSwitchMainWeapon?.Invoke(direction);
public void OpenMainWeaponRoulette() => OnOpenMainWeaponRoulette?.Invoke();
public void CloseMainWeaponRoulette() => OnCloseMainWeaponRoulette?.Invoke();
public void FastSwitchMainWeapon() => OnFastSwitchMainWeapon?.Invoke();
public void Reload() => OnReload?.Invoke();
public void UseConsumableItem() => OnUseConsumableItem?.Invoke();
public void UseSupportEquipment0() => OnUseSupportEquipment0Press?.Invoke();
public void UseSupportEquipment1() => OnUseSupportEquipment1Press?.Invoke();
public void UseSupportEquipment2() => OnUseSupportEquipment2Press?.Invoke();
public void UseSupportEquipment3() => OnUseSupportEquipment3Press?.Invoke();
}
}