去掉复杂结构,一切从简
This commit is contained in:
137
Assets/Scripts/Fishing/Player/Player.cs
Normal file
137
Assets/Scripts/Fishing/Player/Player.cs
Normal file
@@ -0,0 +1,137 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using ECM2;
|
||||
using ECM2.Examples.FirstPerson;
|
||||
using Fantasy.Async;
|
||||
using UnityEngine;
|
||||
|
||||
namespace NBF
|
||||
{
|
||||
public class Player : MonoBehaviour
|
||||
{
|
||||
[Header("角色参数")] public float EyeAngle;
|
||||
public bool IsGrounded;
|
||||
public float Speed;
|
||||
public float RotationSpeed;
|
||||
public Vector2 MoveInput;
|
||||
public bool Run;
|
||||
|
||||
[Header("角色节点")] public Transform Root;
|
||||
public Transform Eye;
|
||||
public Transform FppLook;
|
||||
public Transform IK;
|
||||
|
||||
[Header("角色控制")] public PlayerModelAsset ModelAsset;
|
||||
public CharacterMovement Character;
|
||||
public FirstPersonCharacter FirstPerson;
|
||||
|
||||
|
||||
[Header("视角相关")] public float MouseSensitivity = 0.1f;
|
||||
[Space(15f)] public bool invertLook = true;
|
||||
|
||||
public float minPitch = -60f;
|
||||
|
||||
public float maxPitch = 60f;
|
||||
|
||||
public bool IsLureRod => false;
|
||||
|
||||
public bool IsSelf;
|
||||
|
||||
#region 生命周期
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
}
|
||||
|
||||
private void Start()
|
||||
{
|
||||
CreatePlayerModel();
|
||||
if (IsSelf)
|
||||
{
|
||||
gameObject.AddComponent<PlayerInput>();
|
||||
}
|
||||
}
|
||||
|
||||
private void Update()
|
||||
{
|
||||
}
|
||||
|
||||
private void FixedUpdate()
|
||||
{
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 手持物品
|
||||
|
||||
private FHandItem HandItem;
|
||||
private bool IsChangeItemIng;
|
||||
|
||||
public async FTask UseItem(int configId, List<int> bindItems)
|
||||
{
|
||||
if (IsChangeItemIng) return;
|
||||
IsChangeItemIng = true;
|
||||
|
||||
if (HandItem != null)
|
||||
{
|
||||
await UnUseItem();
|
||||
}
|
||||
|
||||
// ModelAsset.PlayerAnimator.OnUseItem(itemView);
|
||||
|
||||
// if (currItem == null)
|
||||
// {
|
||||
// //收起物品
|
||||
// await UnUseItem(prevItem);
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// // 先收起旧的物品
|
||||
// await UnUseItemConfirm(prevItem);
|
||||
// var handItem = Player.HandItem;
|
||||
// //拿起新物品
|
||||
// var itemType = handItem.ConfigID.GetItemType();
|
||||
// if (itemType == ItemType.Rod)
|
||||
// {
|
||||
// var itemView = handItem.GetOrAddComponent<PlayerItemView>();
|
||||
// await itemView.InitShow(handItem);
|
||||
// Unity.ModelAsset.PlayerAnimator.OnUseItem(itemView);
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// var stateView = Player.GetComponent<PlayerStateView>();
|
||||
// if (stateView != null && stateView.CurrentStateView is PlayerStageViewIdle playerStageViewIdle)
|
||||
// {
|
||||
// playerStageViewIdle.TakeLine();
|
||||
// }
|
||||
|
||||
IsChangeItemIng = false;
|
||||
}
|
||||
|
||||
public async FTask UnUseItem()
|
||||
{
|
||||
if (HandItem != null)
|
||||
{
|
||||
ModelAsset.PlayerAnimator.OnUnUseItem();
|
||||
await FTask.Wait(Game.Main, 100);
|
||||
}
|
||||
|
||||
Destroy(HandItem.gameObject);
|
||||
HandItem = null;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 模型创建
|
||||
|
||||
private void CreatePlayerModel()
|
||||
{
|
||||
var modelObject = PrefabsHelper.CreatePlayer(Root, "Human_Male");
|
||||
modelObject.transform.localPosition = Vector3.zero;
|
||||
ModelAsset = modelObject.GetComponent<PlayerModelAsset>();
|
||||
ModelAsset.SetPlayer(FppLook);
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user