// using System; // using System.Collections; // using System.Collections.Generic; // using ECM2; // using ECM2.Examples.FirstPerson; // using Fantasy; // using NBC; // using NBF.Fishing2; // using NBF.Utils; // using UnityEngine; // using UnityEngine.InputSystem; // using Object = UnityEngine.Object; // // namespace NBF // { // public partial class FPlayer : MonoService // { // public Transform Root; // public Transform Eye; // public Transform FppLook; // public Transform IK; // public PlayerModelAsset ModelAsset; // public CharacterMovement Character; // public FirstPersonCharacter FirstPerson; // public GameObject ModelGameObject { get; set; } // // // // public FPlayerData Data { get; private set; } // // public readonly List Tackles = new List(); // public FRod Rod { get; private set; } // public Fsm Fsm { get; private set; } // // public event Action OnFishingSetEquiped; // public event Action OnFishingSetUnequip; // // protected override void OnAwake() // { // Character = gameObject.GetComponent(); // FirstPerson = gameObject.GetComponent(); // // Data = PlayerDataManager.Instance.Self; // transform.localPosition = new Vector3(484, 1, 422); // // Data.NeedChangeRightArmAngle = true; // } // // private void Start() // { // InitFsm(); // CreatePlayerModel(); // } // // // private void LateUpdate() // { // Fsm?.Update(); // } // // #region 状态机 // // private void InitFsm() // { // Fsm = new Fsm("Player", this, true); // Fsm.RegisterState(); // Fsm.RegisterState(); // Fsm.RegisterState(); // Fsm.RegisterState(); // Fsm.RegisterState(); // Fsm.Start(); // } // // #endregion // // #region 角色模型 // // private void CreatePlayerModel() // { // var modelObject = PrefabsHelper.CreatePlayer(Root, "Human_Male"); // modelObject.transform.localPosition = Vector3.zero; // ModelGameObject = modelObject; // ModelAsset = modelObject.GetComponent(); // ModelAsset.SetPlayer(this); // } // // #endregion // // #region 使用物品 // // public IEnumerator UseItem(ItemInfo item) // { // // if (Data.ChangeItem) yield break; // // Data.ChangeItem = true; // // var itemType = item?.ConfigId.GetItemType(); // // if (itemType == ItemType.Rod) // // { // // //判断旧的是否要收回 // // yield return UnUseItemConfirm(); // // // // Data.IsLureRod = true; // // var rodType = (ItemSubType)item.Config.Type; // // if (rodType == ItemSubType.RodTele) // // { // // Data.IsLureRod = false; // // } // // // // Rod = // // item.Config.InstantiateAndComponent(SceneSettings.Instance.GearNode, Vector3.zero, // // Quaternion.identity); // // yield return Rod.InitRod(this, item); // // Tackles.Add(Rod); // // OnFishingSetEquiped?.Invoke(Rod); // // } // // // // Data.ChangeItem = false; // yield return null; // } // // public IEnumerator UnUseItem() // { // // if (Data.ChangeItem) yield break; // // Data.ChangeItem = true; // // yield return UnUseItemConfirm(); // // Data.ChangeItem = false; // yield return null; // } // // private IEnumerator UnUseItemConfirm() // { // if (Rod != null) // { // OnFishingSetUnequip?.Invoke(); // yield return Rod.Destroy(); // yield return new WaitForSeconds(0.35f); // Destroy(Rod.gameObject); // Tackles.Remove(Rod); // Rod = null; // yield return new WaitForSeconds(0.15f); // } // } // // #endregion // } // }