Files
Cielonos/Assets/Scripts/MainGame/Characters/Player/PlayerOperationSubcontroller.cs
SoulliesOfficial 0902ca8a9e Bezi回来了
2026-04-28 15:46:32 -04:00

126 lines
4.9 KiB
C#

using System;
using UnityEngine;
namespace Cielonos.MainGame.Characters
{
public partial class PlayerOperationSubcontroller : SubcontrollerBase<Player>
{
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<Vector3, float> OnDash;
public event Action<float> OnDodge;
public event Action OnLockonTarget;
public event Action<float> OnSelectLockonTarget;
public event Action OnWalkPress;
public event Action OnWalkRelease;
public event Action OnMainWeaponPrimaryPress;
public event Action OnMainWeaponPrimaryRelease;
public event Action OnMainWeaponSecondaryPress;
public event Action OnMainWeaponSecondaryRelease;
public event Action OnMainWeaponSpecialAPress;
public event Action OnMainWeaponSpecialARelease;
public event Action OnMainWeaponSpecialBPress;
public event Action OnMainWeaponSpecialBRelease;
public event Action OnMainWeaponSpecialCPress;
public event Action OnMainWeaponSpecialCRelease;
public event Action<int> OnSwitchMainWeapon;
public event Action OnOpenMainWeaponRoulette;
public event Action OnCloseMainWeaponRoulette;
public event Action OnFastSwitchMainWeapon;
public event Action OnReload;
public event Action OnUseConsumableItem;
public event Action OnSupportEquipment0Press;
public event Action OnSupportEquipment0Release;
public event Action OnSupportEquipment1Press;
public event Action OnSupportEquipment1Release;
public event Action OnSupportEquipment2Press;
public event Action OnSupportEquipment2Release;
public event Action OnSupportEquipment3Press;
public event Action OnSupportEquipment3Release;
}
public partial class PlayerOperationSubcontroller
{
public void Interact() => OnInteract?.Invoke();
public void Dash(Vector3 direction, float length = -1) => OnDash?.Invoke(direction, length);
public void Dodge(float length = -1) => OnDodge?.Invoke(length);
public void LockonTarget() => OnLockonTarget?.Invoke();
public void SelectLockonTarget(float direction) => OnSelectLockonTarget?.Invoke(direction);
public void WalkPress() => OnWalkPress?.Invoke();
public void WalkRelease() => OnWalkRelease?.Invoke();
public void MainWeaponPrimaryPress() => OnMainWeaponPrimaryPress?.Invoke();
public void MainWeaponPrimaryRelease() => OnMainWeaponPrimaryRelease?.Invoke();
public void MainWeaponSecondaryPress() => OnMainWeaponSecondaryPress?.Invoke();
public void MainWeaponSecondaryRelease() => OnMainWeaponSecondaryRelease?.Invoke();
public void MainWeaponSpecialAPress() => OnMainWeaponSpecialAPress?.Invoke();
public void MainWeaponSpecialARelease() => OnMainWeaponSpecialARelease?.Invoke();
public void MainWeaponSpecialBPress() => OnMainWeaponSpecialBPress?.Invoke();
public void MainWeaponSpecialBRelease() => OnMainWeaponSpecialBRelease?.Invoke();
public void MainWeaponSpecialCPress() => OnMainWeaponSpecialCPress?.Invoke();
public void MainWeaponSpecialCRelease() => OnMainWeaponSpecialCRelease?.Invoke();
public void SwitchMainWeapon(int 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 SupportEquipment0Press() => OnSupportEquipment0Press?.Invoke();
public void SupportEquipment0Release() => OnSupportEquipment0Release?.Invoke();
public void SupportEquipment1Press() => OnSupportEquipment1Press?.Invoke();
public void SupportEquipment1Release() => OnSupportEquipment1Release?.Invoke();
public void SupportEquipment2Press() => OnSupportEquipment2Press?.Invoke();
public void SupportEquipment2Release() => OnSupportEquipment2Release?.Invoke();
public void SupportEquipment3Press() => OnSupportEquipment3Press?.Invoke();
public void SupportEquipment3Release() => OnSupportEquipment3Release?.Invoke();
}
}