首次提交
This commit is contained in:
135
Assets/Scripts/Fishing~/Player/States/PlayerFishing.cs
Normal file
135
Assets/Scripts/Fishing~/Player/States/PlayerFishing.cs
Normal file
@@ -0,0 +1,135 @@
|
||||
using UnityEngine;
|
||||
|
||||
namespace NBF
|
||||
{
|
||||
public class PlayerFishing : PlayerStateBase
|
||||
{
|
||||
public override uint StateId => States.Player.Fishing;
|
||||
|
||||
|
||||
protected override void onExit()
|
||||
{
|
||||
_owner.PlayerAnimatorCtrl.PodsakAction = false;
|
||||
}
|
||||
|
||||
protected override void onEnter()
|
||||
{
|
||||
Debug.Log("进入钓鱼中");
|
||||
|
||||
if (_owner.PlayerAnimatorCtrl.ThrowMode == ThrowModeEnum.Spin)
|
||||
{
|
||||
_owner.PlayerAnimatorCtrl.PodsakAction = true;
|
||||
_owner.PlayerAnimatorCtrl.Telestick = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
_owner.PlayerAnimatorCtrl.PodsakAction = false;
|
||||
_owner.PlayerAnimatorCtrl.Telestick = true;
|
||||
}
|
||||
}
|
||||
|
||||
protected override uint onUpdate()
|
||||
{
|
||||
var ret = States.None;
|
||||
var isUpRod = false;
|
||||
var isSubLine = false;
|
||||
|
||||
if (Input.GetKeyDown(KeyCode.P))
|
||||
{
|
||||
return States.Player.Idle;
|
||||
}
|
||||
|
||||
if (InputManager.IsOp1)
|
||||
{
|
||||
if (_owner.PlayerAnimatorCtrl.ThrowMode == ThrowModeEnum.Float)
|
||||
{
|
||||
//抬杆
|
||||
isUpRod = true;
|
||||
}
|
||||
else if (_owner.PlayerAnimatorCtrl.ThrowMode == ThrowModeEnum.Spin)
|
||||
{
|
||||
//收线
|
||||
isSubLine = true;
|
||||
}
|
||||
}
|
||||
|
||||
if (InputManager.IsOp2)
|
||||
{
|
||||
if (_owner.PlayerAnimatorCtrl.ThrowMode == ThrowModeEnum.Spin)
|
||||
{
|
||||
//抬杆
|
||||
isUpRod = true;
|
||||
}
|
||||
}
|
||||
|
||||
if (isUpRod || _owner.PlayerAnimatorCtrl.FishingFinal > 0)
|
||||
{
|
||||
var upForce = 1;
|
||||
var addNum = upForce * Time.deltaTime;
|
||||
if (!isUpRod)
|
||||
{
|
||||
addNum *= -1;
|
||||
}
|
||||
else
|
||||
{
|
||||
addNum *= 0.5f;
|
||||
}
|
||||
|
||||
// Debug.Log($"addNum={addNum}");
|
||||
_owner.PlayerAnimatorCtrl.FishingFinal += addNum;
|
||||
Debug.LogError($"ishingFinal={_owner.PlayerAnimatorCtrl.FishingFinal}");
|
||||
if (_owner.PlayerAnimatorCtrl.FishingFinal >= 1)
|
||||
{
|
||||
_owner.PlayerAnimatorCtrl.FishingFinal = 1;
|
||||
}
|
||||
else if (_owner.PlayerAnimatorCtrl.FishingFinal < 0)
|
||||
{
|
||||
_owner.PlayerAnimatorCtrl.FishingFinal = 0;
|
||||
}
|
||||
|
||||
if (_owner.PlayerAnimatorCtrl.FishingFinal >= 0.8f)
|
||||
{
|
||||
ret = CheckTackFish();
|
||||
}
|
||||
|
||||
_owner.PlayerAnimatorCtrl.PullUpRod = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
_owner.PlayerAnimatorCtrl.PullUpRod = false;
|
||||
}
|
||||
|
||||
if (isSubLine)
|
||||
{
|
||||
var subLineSpeed = 2;
|
||||
var addNum = subLineSpeed * Time.deltaTime;
|
||||
if (_owner.Data.lineLength > 0.4f)
|
||||
{
|
||||
_owner.Data.lineLength -= addNum;
|
||||
}
|
||||
|
||||
_owner.Data.reelSpeed = 1;
|
||||
if (_owner.Data.lineLength <= 0.4f)
|
||||
{
|
||||
_owner.Data.lineLength = 0.4f;
|
||||
ret = CheckTackFish();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
_owner.Data.reelSpeed = 0;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
#region 检查上鱼或者返回待机
|
||||
|
||||
private uint CheckTackFish()
|
||||
{
|
||||
return States.Player.Idle;
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user