116 lines
2.4 KiB
C#
116 lines
2.4 KiB
C#
using System;
|
|
using UnityEngine;
|
|
|
|
namespace NBF
|
|
{
|
|
// [Serializable]
|
|
// public enum PlayerState
|
|
// {
|
|
// idle = 0,
|
|
// move = 1,
|
|
// prepare = 2,
|
|
// casting = 3,
|
|
// fishing = 4,
|
|
// baitFlies = 5,
|
|
// fight = 6,
|
|
// fishView = 7,
|
|
// collectFish = 8,
|
|
// throwFish = 9,
|
|
// vehicle = 10,
|
|
// swiming = 11,
|
|
// flyModeDebug = 12,
|
|
// vehicleFishing = 13,
|
|
// preciseCastIdle = 14,
|
|
// preciseCastThrow = 15
|
|
// }
|
|
|
|
[Serializable]
|
|
public enum PlayerState : uint
|
|
{
|
|
None = 0,
|
|
|
|
/// <summary>
|
|
/// 闲置等待中
|
|
/// </summary>
|
|
Idle = 1,
|
|
|
|
/// <summary>
|
|
/// 准备抛竿
|
|
/// </summary>
|
|
Prepare = 2,
|
|
|
|
/// <summary>
|
|
/// 抛竿中
|
|
/// </summary>
|
|
Throw = 3,
|
|
|
|
/// <summary>
|
|
/// 钓鱼中
|
|
/// </summary>
|
|
Fishing = 4,
|
|
|
|
/// <summary>
|
|
/// 溜鱼中
|
|
/// </summary>
|
|
Fight = 5
|
|
}
|
|
|
|
public class FPlayerData : MonoService<FPlayerData>
|
|
{
|
|
private PlayerState _previousPlayerState = PlayerState.Idle;
|
|
private PlayerState _playerState;
|
|
|
|
public bool ChangeItem;
|
|
public bool Run;
|
|
public bool IsGrounded;
|
|
public float Speed;
|
|
public float RotationSpeed;
|
|
public float ReelSpeed;
|
|
public float LineTension;
|
|
|
|
/// <summary>
|
|
/// 是否路亚竿
|
|
/// </summary>
|
|
public bool IsLureRod;
|
|
|
|
public Vector2 MoveInput;
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public float EyeAngle;
|
|
|
|
|
|
public PlayerState PreviousState => _previousPlayerState;
|
|
|
|
public PlayerState State
|
|
{
|
|
get => _playerState;
|
|
set
|
|
{
|
|
_previousPlayerState = _playerState;
|
|
_playerState = value;
|
|
NextState = value;
|
|
OnStateChange?.Invoke(_playerState);
|
|
}
|
|
}
|
|
|
|
[SerializeField] private PlayerState NextState;
|
|
|
|
public event Action<PlayerState> OnStateChange;
|
|
|
|
|
|
private void Start()
|
|
{
|
|
NextState = State;
|
|
}
|
|
|
|
private void Update()
|
|
{
|
|
if (NextState != State)
|
|
{
|
|
State = NextState;
|
|
}
|
|
}
|
|
}
|
|
} |