102 lines
2.7 KiB
C#
102 lines
2.7 KiB
C#
using NBC;
|
|
using UnityEngine;
|
|
|
|
namespace NBF
|
|
{
|
|
/// <summary>
|
|
/// 钓鱼中
|
|
/// </summary>
|
|
public class PlayerStateFishing : PlayerStateBase
|
|
{
|
|
public override uint StateId => (uint)PlayerState.Fishing;
|
|
|
|
protected override void onEnter()
|
|
{
|
|
Debug.LogError("enter PlayerStateFishing");
|
|
_owner.ModelAsset.PlayerAnimator.BaitThrown = true;
|
|
}
|
|
|
|
protected override void onExit()
|
|
{
|
|
_owner.ModelAsset.PlayerAnimator.BaitThrown = false;
|
|
}
|
|
|
|
protected override uint onUpdate()
|
|
{
|
|
var ret = States.None;
|
|
var isUpRod = false;
|
|
var isSubLine = false;
|
|
|
|
if (InputManager.IsOp1)
|
|
{
|
|
if (!Player.Data.IsLureRod)
|
|
{
|
|
//抬杆
|
|
isUpRod = true;
|
|
}
|
|
else
|
|
{
|
|
//收线
|
|
isSubLine = true;
|
|
}
|
|
}
|
|
|
|
if (InputManager.IsOp2)
|
|
{
|
|
if (Player.Data.IsLureRod)
|
|
{
|
|
//抬杆
|
|
isUpRod = true;
|
|
}
|
|
}
|
|
|
|
//Player.ModelAsset.PlayerAnimator.FishingUp = 0;
|
|
|
|
if (isUpRod || Player.ModelAsset.PlayerAnimator.FishingUp > 0)
|
|
{
|
|
var upForce = 1;
|
|
var addNum = upForce * Time.deltaTime;
|
|
if (!isUpRod)
|
|
{
|
|
addNum *= -1;
|
|
}
|
|
else
|
|
{
|
|
addNum *= 0.5f;
|
|
}
|
|
|
|
// Debug.Log($"addNum={addNum}");
|
|
Player.ModelAsset.PlayerAnimator.FishingUp += addNum;
|
|
Debug.LogError($"ishingFinal={Player.ModelAsset.PlayerAnimator.FishingUp}");
|
|
if (Player.ModelAsset.PlayerAnimator.FishingUp >= 1)
|
|
{
|
|
Player.ModelAsset.PlayerAnimator.FishingUp = 1;
|
|
}
|
|
else if (Player.ModelAsset.PlayerAnimator.FishingUp < 0)
|
|
{
|
|
Player.ModelAsset.PlayerAnimator.FishingUp = 0;
|
|
}
|
|
|
|
if (Player.ModelAsset.PlayerAnimator.FishingUp >= 0.8f)
|
|
{
|
|
ret = CheckTackFish();
|
|
}
|
|
}
|
|
else
|
|
{
|
|
Player.ModelAsset.PlayerAnimator.FishingUp = 0;
|
|
}
|
|
|
|
return ret;
|
|
}
|
|
|
|
#region 检查上鱼或者返回待机
|
|
|
|
private uint CheckTackFish()
|
|
{
|
|
return (uint)PlayerState.Idle;
|
|
}
|
|
|
|
#endregion
|
|
}
|
|
} |