diff --git a/Assets/Scripts/Fishing/Data/States.meta b/Assets/Scripts/Fishing/Data/States.meta new file mode 100644 index 000000000..f88c7081d --- /dev/null +++ b/Assets/Scripts/Fishing/Data/States.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8a7d330458276bb4ca48095942cc62da +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Fishing/New/Data/Item.meta b/Assets/Scripts/Fishing/New/Data/Item.meta new file mode 100644 index 000000000..592ca8d3a --- /dev/null +++ b/Assets/Scripts/Fishing/New/Data/Item.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: c67e0c4e3e30462d88970a3c0b4569e8 +timeCreated: 1773123725 \ No newline at end of file diff --git a/Assets/Scripts/Fishing/New/Data/Item/PlayerItem.cs b/Assets/Scripts/Fishing/New/Data/Item/PlayerItem.cs new file mode 100644 index 000000000..14e2ad757 --- /dev/null +++ b/Assets/Scripts/Fishing/New/Data/Item/PlayerItem.cs @@ -0,0 +1,70 @@ +using System.Collections.Generic; +using Fantasy; +using Fantasy.Entitas; +using NBF.Utils; +using UnityEngine; + +namespace NBF +{ + /// + /// 玩家物品 + /// + public class PlayerItem : Entity + { + public Player Owner; + + /// + /// 配置id + /// + public int ConfigID; + + public List BindItems = new List(); + + #region Rod专属 + + /// + /// 线长度 + /// + public float LineLength = 1.5f; + + /// + /// 浮漂线长度 + /// + public float FloatLength = 0.5f; + + private float _tension; + + /// + /// 拉力 + /// + public float Tension + { + get => _tension; + private set + { + if (!Mathf.Approximately(_tension, value)) + { + _tension = value; + // OnTensionChanged?.Invoke(_tension); + } + } + } + + #endregion + + + public void Init(Player player, int configId, List bindItems) + { + Owner = player; + ConfigID = configId; + BindItems.Clear(); + BindItems.AddRange(bindItems); + // var itemType = bindInfo.Item.GetItemType(); + // if (itemType == ItemType.Rod) + // { + // var rod = AddComponent(); + // rod.Init(bindInfo); + // } + } + } +} \ No newline at end of file diff --git a/Assets/Scripts/Fishing/New/Data/PlayerItem.cs.meta b/Assets/Scripts/Fishing/New/Data/Item/PlayerItem.cs.meta similarity index 100% rename from Assets/Scripts/Fishing/New/Data/PlayerItem.cs.meta rename to Assets/Scripts/Fishing/New/Data/Item/PlayerItem.cs.meta diff --git a/Assets/Scripts/Fishing/New/Data/Player.cs b/Assets/Scripts/Fishing/New/Data/Player.cs index b363a4757..670e284fa 100644 --- a/Assets/Scripts/Fishing/New/Data/Player.cs +++ b/Assets/Scripts/Fishing/New/Data/Player.cs @@ -2,17 +2,24 @@ using System.Collections.Generic; using Fantasy; using Fantasy.Entitas; +using NBF.Utils; using UnityEngine; namespace NBF { public class Player : Entity { + // ========== 本地状态 ========== /// /// 是否本地玩家 /// public bool IsLocalPlayer; + /// + /// 是否切换物品中 + /// + public bool IsChangeItemIng; + public bool IsLureRod => false; public bool IsSelf => RoleModel.Instance.Id == Id; @@ -61,18 +68,20 @@ namespace NBF /// /// 当前手持物品 /// - public PlayerItem HandItem => Items[HandItemId]; + public PlayerItem HandItem => Items.GetValueOrDefault(HandItemId); #region 初始化 public void InitPlayer(MapUnitInfo unitInfo) { - AddComponent(); - AddComponent(); + PreviousState = PlayerState.None; + State = PlayerState.Idle; + AddComponent(); + AddComponent(); if (unitInfo.Id == RoleModel.Instance.Id) { //自己 - AddComponent(); + AddComponent(); } } @@ -80,29 +89,39 @@ namespace NBF #region 物品 - public void UnUseItem() + public void ReleaseItem(PlayerItem item) { - if (Items.TryGetValue(HandItemId, out var item)) + if (Items.ContainsValue(item)) { + Items.Remove(item.Id); item.Dispose(); } + } + public void UnUseItem() + { + var prevItem = HandItem; HandItemId = 0; - ItemChangeEvent(); + ItemChangeEvent(prevItem); } - public void UseItem(ItemBindInfo item) + public void UseItem(int configId, List bindItems) { - var playerItem = Create(Scene); - playerItem.Init(item); - ItemChangeEvent(); + var prevItem = HandItem; + var playerItemRod = Create(Scene); + playerItemRod.Init(this, configId, bindItems); + Items[playerItemRod.Id] = playerItemRod; + HandItemId = playerItemRod.Id; + ItemChangeEvent(prevItem); } - private void ItemChangeEvent() + private void ItemChangeEvent(PlayerItem prevItem) { - Scene.EventComponent.Publish(new PlayerStateChangeEvent + Scene.EventComponent.Publish(new PlayerItemChangeEvent { - Player = this + Player = this, + Item = HandItem, + PrevItem = prevItem }); } diff --git a/Assets/Scripts/Fishing/New/Data/PlayerItem.cs b/Assets/Scripts/Fishing/New/Data/PlayerItem.cs deleted file mode 100644 index c22f05901..000000000 --- a/Assets/Scripts/Fishing/New/Data/PlayerItem.cs +++ /dev/null @@ -1,25 +0,0 @@ -using System.Collections.Generic; -using Fantasy; -using Fantasy.Entitas; - -namespace NBF -{ - public class PlayerItem : Entity - { - /// - /// 配置id - /// - public int ConfigID; - - /// - /// 绑定的子物体 - /// - public List BindItems = new List(); - - public void Init(ItemBindInfo bindInfo) - { - ConfigID = bindInfo.Item; - BindItems.AddRange(bindInfo.BindItems); - } - } -} \ No newline at end of file diff --git a/Assets/Scripts/Fishing/Data/StateEnterParams.cs b/Assets/Scripts/Fishing/New/Data/StateEnterParams.cs similarity index 100% rename from Assets/Scripts/Fishing/Data/StateEnterParams.cs rename to Assets/Scripts/Fishing/New/Data/StateEnterParams.cs diff --git a/Assets/Scripts/Fishing/Data/StateEnterParams.cs.meta b/Assets/Scripts/Fishing/New/Data/StateEnterParams.cs.meta similarity index 100% rename from Assets/Scripts/Fishing/Data/StateEnterParams.cs.meta rename to Assets/Scripts/Fishing/New/Data/StateEnterParams.cs.meta diff --git a/Assets/Scripts/Fishing/New/Event.meta b/Assets/Scripts/Fishing/New/Event.meta index e6b701519..3101b7dd1 100644 --- a/Assets/Scripts/Fishing/New/Event.meta +++ b/Assets/Scripts/Fishing/New/Event.meta @@ -1,3 +1,3 @@ fileFormatVersion: 2 -guid: 172aa8a5a1444ccbad1647479739c232 -timeCreated: 1773060255 \ No newline at end of file +guid: a348fcaa64274862baa542a3dc1ffc62 +timeCreated: 1773117606 \ No newline at end of file diff --git a/Assets/Scripts/Fishing/New/Data/PlayerEvent.cs b/Assets/Scripts/Fishing/New/Event/PlayerEvent.cs similarity index 50% rename from Assets/Scripts/Fishing/New/Data/PlayerEvent.cs rename to Assets/Scripts/Fishing/New/Event/PlayerEvent.cs index 6b47a6bbd..aebdfa281 100644 --- a/Assets/Scripts/Fishing/New/Data/PlayerEvent.cs +++ b/Assets/Scripts/Fishing/New/Event/PlayerEvent.cs @@ -1,12 +1,15 @@ -namespace NBF +namespace NBF { public struct PlayerStateChangeEvent { public Player Player; } - public struct PlayerItemChangeEvent + + public struct PlayerItemChangeEvent { public Player Player; + public PlayerItem Item; + public PlayerItem PrevItem; } -} \ No newline at end of file +} \ No newline at end of file diff --git a/Assets/Scripts/Fishing/New/Data/PlayerEvent.cs.meta b/Assets/Scripts/Fishing/New/Event/PlayerEvent.cs.meta similarity index 100% rename from Assets/Scripts/Fishing/New/Data/PlayerEvent.cs.meta rename to Assets/Scripts/Fishing/New/Event/PlayerEvent.cs.meta diff --git a/Assets/Scripts/Fishing/New/View/Handle/OnPlayerStateChangeEvent.cs b/Assets/Scripts/Fishing/New/View/Handle/OnPlayerStateChangeEvent.cs deleted file mode 100644 index a7c2ea535..000000000 --- a/Assets/Scripts/Fishing/New/View/Handle/OnPlayerStateChangeEvent.cs +++ /dev/null @@ -1,13 +0,0 @@ -using Fantasy.Event; - -namespace NBF.Handle -{ - public class OnPlayerStateChangeEvent : EventSystem - { - protected override void Handler(PlayerStateChangeEvent self) - { - var view = self.Player.GetOrAddComponent(); - view.ShowItem(); - } - } -} \ No newline at end of file diff --git a/Assets/Scripts/Fishing/New/View/Player.meta b/Assets/Scripts/Fishing/New/View/Player.meta new file mode 100644 index 000000000..9efe397e2 --- /dev/null +++ b/Assets/Scripts/Fishing/New/View/Player.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: b7a71b6539c547fcaab2b89279530aef +timeCreated: 1773116602 \ No newline at end of file diff --git a/Assets/Scripts/Fishing/New/View/Handle.meta b/Assets/Scripts/Fishing/New/View/Player/Handle.meta similarity index 100% rename from Assets/Scripts/Fishing/New/View/Handle.meta rename to Assets/Scripts/Fishing/New/View/Player/Handle.meta diff --git a/Assets/Scripts/Fishing/New/View/Player/Handle/OnPlayerStateChangeEvent.cs b/Assets/Scripts/Fishing/New/View/Player/Handle/OnPlayerStateChangeEvent.cs new file mode 100644 index 000000000..1c645b22e --- /dev/null +++ b/Assets/Scripts/Fishing/New/View/Player/Handle/OnPlayerStateChangeEvent.cs @@ -0,0 +1,13 @@ +using Fantasy.Event; + +namespace NBF.Handle +{ + public class OnPlayerStateChangeEvent : EventSystem + { + protected override void Handler(PlayerItemChangeEvent self) + { + var view = self.Player.GetOrAddComponent(); + view.ChangeItem(self).Coroutine(); + } + } +} \ No newline at end of file diff --git a/Assets/Scripts/Fishing/New/View/Handle/OnPlayerStateChangeEvent.cs.meta b/Assets/Scripts/Fishing/New/View/Player/Handle/OnPlayerStateChangeEvent.cs.meta similarity index 100% rename from Assets/Scripts/Fishing/New/View/Handle/OnPlayerStateChangeEvent.cs.meta rename to Assets/Scripts/Fishing/New/View/Player/Handle/OnPlayerStateChangeEvent.cs.meta diff --git a/Assets/Scripts/Fishing/New/View/Player/Item.meta b/Assets/Scripts/Fishing/New/View/Player/Item.meta new file mode 100644 index 000000000..ed8604c7f --- /dev/null +++ b/Assets/Scripts/Fishing/New/View/Player/Item.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 1f9c361f2958454abb43724693a2157a +timeCreated: 1773116527 \ No newline at end of file diff --git a/Assets/Scripts/Fishing/New/View/Player/Item/PlayerItemView.cs b/Assets/Scripts/Fishing/New/View/Player/Item/PlayerItemView.cs new file mode 100644 index 000000000..5b951ba87 --- /dev/null +++ b/Assets/Scripts/Fishing/New/View/Player/Item/PlayerItemView.cs @@ -0,0 +1,28 @@ +using Fantasy.Async; +using Fantasy.Entitas; +using UnityEngine; + +namespace NBF +{ + /// + /// 玩家物品视图组件 + /// + public class PlayerItemView : Entity + { + public PlayerItem Item { get; protected set; } + + /// + /// 竿子 + /// + public FRod Rod { get; private set; } + + public async FTask InitShow(PlayerItem item) + { + Item = item; + var itemConfig = Game.Tables.TbItem.Get(Item.ConfigID); + Rod = itemConfig.InstantiateAndComponent(SceneSettings.Instance.GearNode, Vector3.zero, + Quaternion.identity); + await Rod.InitRod(Item); + } + } +} \ No newline at end of file diff --git a/Assets/Scripts/Fishing/New/View/Player/Item/PlayerItemView.cs.meta b/Assets/Scripts/Fishing/New/View/Player/Item/PlayerItemView.cs.meta new file mode 100644 index 000000000..66c0d151c --- /dev/null +++ b/Assets/Scripts/Fishing/New/View/Player/Item/PlayerItemView.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 98838cf2cf934b8aaaf97f4d58544055 +timeCreated: 1773116536 \ No newline at end of file diff --git a/Assets/Scripts/Fishing/New/View/Mono.meta b/Assets/Scripts/Fishing/New/View/Player/Mono.meta similarity index 100% rename from Assets/Scripts/Fishing/New/View/Mono.meta rename to Assets/Scripts/Fishing/New/View/Player/Mono.meta diff --git a/Assets/Scripts/Fishing/New/View/Mono/PlayerAnimator.cs b/Assets/Scripts/Fishing/New/View/Player/Mono/PlayerAnimator.cs similarity index 90% rename from Assets/Scripts/Fishing/New/View/Mono/PlayerAnimator.cs rename to Assets/Scripts/Fishing/New/View/Player/Mono/PlayerAnimator.cs index 291852ee2..9ce8bd254 100644 --- a/Assets/Scripts/Fishing/New/View/Mono/PlayerAnimator.cs +++ b/Assets/Scripts/Fishing/New/View/Player/Mono/PlayerAnimator.cs @@ -1,6 +1,7 @@ using System; using KINEMATION.MagicBlend.Runtime; using NBC; +using NBF.Utils; using UnityEngine; namespace NBF @@ -83,35 +84,23 @@ namespace NBF _Animator.keepAnimatorStateOnDisable = true; _IK = GetComponent(); _isInit = true; - // Player.OnFishingSetEquiped += OnFishingSetEquiped_OnRaised; - // Player.OnFishingSetUnequip += OnFishingSetUnequip; } + - - private void OnDestroy() - { - // Player.OnFishingSetEquiped -= OnFishingSetEquiped_OnRaised; - // Player.OnFishingSetUnequip -= OnFishingSetUnequip; - } - - - private void OnFishingSetUnequip() + public void OnUnUseItem() { _isRodLayerEnabled = false; } - private void OnFishingSetEquiped_OnRaised(FHandItem item) + public void OnUseItem(PlayerItemView item) { - if (item is FRod rod) + var itemType = item.Item.ConfigID.GetItemType(); + if (itemType == ItemType.Rod) { _isRodLayerEnabled = true; - // var reel = Player.Rod.Reel; // _IK.SetBipedLeftHandIK(enabled: false, reel.FingersIKAnchor); } - else - { - } } diff --git a/Assets/Scripts/Fishing/New/View/Mono/PlayerAnimator.cs.meta b/Assets/Scripts/Fishing/New/View/Player/Mono/PlayerAnimator.cs.meta similarity index 100% rename from Assets/Scripts/Fishing/New/View/Mono/PlayerAnimator.cs.meta rename to Assets/Scripts/Fishing/New/View/Player/Mono/PlayerAnimator.cs.meta diff --git a/Assets/Scripts/Fishing/New/View/Mono/PlayerArm.cs b/Assets/Scripts/Fishing/New/View/Player/Mono/PlayerArm.cs similarity index 100% rename from Assets/Scripts/Fishing/New/View/Mono/PlayerArm.cs rename to Assets/Scripts/Fishing/New/View/Player/Mono/PlayerArm.cs diff --git a/Assets/Scripts/Fishing/New/View/Mono/PlayerArm.cs.meta b/Assets/Scripts/Fishing/New/View/Player/Mono/PlayerArm.cs.meta similarity index 100% rename from Assets/Scripts/Fishing/New/View/Mono/PlayerArm.cs.meta rename to Assets/Scripts/Fishing/New/View/Player/Mono/PlayerArm.cs.meta diff --git a/Assets/Scripts/Fishing/New/View/Mono/PlayerChest.cs b/Assets/Scripts/Fishing/New/View/Player/Mono/PlayerChest.cs similarity index 100% rename from Assets/Scripts/Fishing/New/View/Mono/PlayerChest.cs rename to Assets/Scripts/Fishing/New/View/Player/Mono/PlayerChest.cs diff --git a/Assets/Scripts/Fishing/New/View/Mono/PlayerChest.cs.meta b/Assets/Scripts/Fishing/New/View/Player/Mono/PlayerChest.cs.meta similarity index 100% rename from Assets/Scripts/Fishing/New/View/Mono/PlayerChest.cs.meta rename to Assets/Scripts/Fishing/New/View/Player/Mono/PlayerChest.cs.meta diff --git a/Assets/Scripts/Fishing/New/View/Mono/PlayerIK.cs b/Assets/Scripts/Fishing/New/View/Player/Mono/PlayerIK.cs similarity index 100% rename from Assets/Scripts/Fishing/New/View/Mono/PlayerIK.cs rename to Assets/Scripts/Fishing/New/View/Player/Mono/PlayerIK.cs diff --git a/Assets/Scripts/Fishing/New/View/Mono/PlayerIK.cs.meta b/Assets/Scripts/Fishing/New/View/Player/Mono/PlayerIK.cs.meta similarity index 100% rename from Assets/Scripts/Fishing/New/View/Mono/PlayerIK.cs.meta rename to Assets/Scripts/Fishing/New/View/Player/Mono/PlayerIK.cs.meta diff --git a/Assets/Scripts/Fishing/New/View/Mono/PlayerMonoBehaviour.cs b/Assets/Scripts/Fishing/New/View/Player/Mono/PlayerMonoBehaviour.cs similarity index 100% rename from Assets/Scripts/Fishing/New/View/Mono/PlayerMonoBehaviour.cs rename to Assets/Scripts/Fishing/New/View/Player/Mono/PlayerMonoBehaviour.cs diff --git a/Assets/Scripts/Fishing/New/View/Mono/PlayerMonoBehaviour.cs.meta b/Assets/Scripts/Fishing/New/View/Player/Mono/PlayerMonoBehaviour.cs.meta similarity index 100% rename from Assets/Scripts/Fishing/New/View/Mono/PlayerMonoBehaviour.cs.meta rename to Assets/Scripts/Fishing/New/View/Player/Mono/PlayerMonoBehaviour.cs.meta diff --git a/Assets/Scripts/Fishing/New/View/Mono/PlayerUnityComponent.cs b/Assets/Scripts/Fishing/New/View/Player/Mono/PlayerUnityComponent.cs similarity index 100% rename from Assets/Scripts/Fishing/New/View/Mono/PlayerUnityComponent.cs rename to Assets/Scripts/Fishing/New/View/Player/Mono/PlayerUnityComponent.cs diff --git a/Assets/Scripts/Fishing/New/View/Mono/PlayerUnityComponent.cs.meta b/Assets/Scripts/Fishing/New/View/Player/Mono/PlayerUnityComponent.cs.meta similarity index 100% rename from Assets/Scripts/Fishing/New/View/Mono/PlayerUnityComponent.cs.meta rename to Assets/Scripts/Fishing/New/View/Player/Mono/PlayerUnityComponent.cs.meta diff --git a/Assets/Scripts/Fishing/New/View/PlayerInputComponent.cs b/Assets/Scripts/Fishing/New/View/Player/PlayerInput.cs similarity index 86% rename from Assets/Scripts/Fishing/New/View/PlayerInputComponent.cs rename to Assets/Scripts/Fishing/New/View/Player/PlayerInput.cs index e5c0277f5..aaf6d63c1 100644 --- a/Assets/Scripts/Fishing/New/View/PlayerInputComponent.cs +++ b/Assets/Scripts/Fishing/New/View/Player/PlayerInput.cs @@ -1,4 +1,6 @@ -using Fantasy; +using System.Collections.Generic; +using System.Linq; +using Fantasy; using Fantasy.Entitas; using Fantasy.Entitas.Interface; using UnityEngine; @@ -7,34 +9,34 @@ using Log = NBC.Log; namespace NBF { - public class PlayerInputComponent : Entity + public class PlayerInput : Entity { public Player Player { get; private set; } - public PlayerViewComponent View { get; private set; } + public PlayerView View { get; private set; } #region 生命周期 - public class PlayerViewAwakeSystem : AwakeSystem + public class PlayerViewAwakeSystem : AwakeSystem { - protected override void Awake(PlayerInputComponent self) + protected override void Awake(PlayerInput self) { self.Player = self.GetParent(); - self.View = self.Player.GetComponent(); + self.View = self.Player.GetComponent(); self.AddInputEvent(); } } - public class PlayerViewUpdateSystem : UpdateSystem + public class PlayerViewUpdateSystem : UpdateSystem { - protected override void Update(PlayerInputComponent self) + protected override void Update(PlayerInput self) { self.UpdateMove(); } } - public class PlayerViewDestroySystem : DestroySystem + public class PlayerViewDestroySystem : DestroySystem { - protected override void Destroy(PlayerInputComponent self) + protected override void Destroy(PlayerInput self) { self.RemoveInputEvent(); } @@ -90,15 +92,9 @@ namespace NBF var item = RoleModel.Instance.GetSlotItem(index - 1); if (item != null) { - var itemBindInfo = ItemBindInfo.Create(); - itemBindInfo.Item = item.ConfigId; - var binds = RoleModel.Instance.GetBindItems(item.Id); - foreach (var itemInfo in binds) - { - itemBindInfo.BindItems.Add(itemInfo.ConfigId); - } - - Player.UseItem(itemBindInfo); + List children = RoleModel.Instance.GetBindItems(item.Id); + List bindItems = children.Select(itemInfo => itemInfo.ConfigId).ToList(); + Player.UseItem(item.ConfigId, bindItems); } } } diff --git a/Assets/Scripts/Fishing/New/View/PlayerInputComponent.cs.meta b/Assets/Scripts/Fishing/New/View/Player/PlayerInput.cs.meta similarity index 100% rename from Assets/Scripts/Fishing/New/View/PlayerInputComponent.cs.meta rename to Assets/Scripts/Fishing/New/View/Player/PlayerInput.cs.meta diff --git a/Assets/Scripts/Fishing/New/View/PlayerStateViewComponent.cs b/Assets/Scripts/Fishing/New/View/Player/PlayerStateView.cs similarity index 85% rename from Assets/Scripts/Fishing/New/View/PlayerStateViewComponent.cs rename to Assets/Scripts/Fishing/New/View/Player/PlayerStateView.cs index dd50e0216..eb0bd363c 100644 --- a/Assets/Scripts/Fishing/New/View/PlayerStateViewComponent.cs +++ b/Assets/Scripts/Fishing/New/View/Player/PlayerStateView.cs @@ -8,7 +8,7 @@ namespace NBF /// /// 状态显示层组件 /// - public class PlayerStateViewComponent : Entity + public class PlayerStateView : Entity { private readonly Dictionary _stageViews = new Dictionary(); @@ -28,6 +28,8 @@ namespace NBF { playerStageView.Init(_player); } + + OnStageChange(); } public void Update() @@ -43,21 +45,21 @@ namespace NBF } _currentStateView = _stageViews.GetValueOrDefault(_player.State); - _currentStateView.Enter(_player.StateParams, _player.PreviousState); + _currentStateView?.Enter(_player.StateParams, _player.PreviousState); } } - public class PlayerStateViewComponentAwakeSystem : AwakeSystem + public class PlayerStateViewComponentAwakeSystem : AwakeSystem { - protected override void Awake(PlayerStateViewComponent self) + protected override void Awake(PlayerStateView self) { self.Awake(); } } - public class PlayerStateViewComponentUpdateSystem : UpdateSystem + public class PlayerStateViewComponentUpdateSystem : UpdateSystem { - protected override void Update(PlayerStateViewComponent self) + protected override void Update(PlayerStateView self) { self.Update(); } @@ -67,7 +69,7 @@ namespace NBF { protected override void Handler(PlayerStateChangeEvent self) { - var stateView = self.Player.GetComponent(); + var stateView = self.Player.GetComponent(); if (stateView != null) { stateView.OnStageChange(); diff --git a/Assets/Scripts/Fishing/New/View/PlayerStateViewComponent.cs.meta b/Assets/Scripts/Fishing/New/View/Player/PlayerStateView.cs.meta similarity index 100% rename from Assets/Scripts/Fishing/New/View/PlayerStateViewComponent.cs.meta rename to Assets/Scripts/Fishing/New/View/Player/PlayerStateView.cs.meta diff --git a/Assets/Scripts/Fishing/New/View/Player/PlayerView.cs b/Assets/Scripts/Fishing/New/View/Player/PlayerView.cs new file mode 100644 index 000000000..33e188c0d --- /dev/null +++ b/Assets/Scripts/Fishing/New/View/Player/PlayerView.cs @@ -0,0 +1,150 @@ +using Fantasy.Async; +using Fantasy.Entitas; +using Fantasy.Entitas.Interface; +using NBF.Fishing2; +using NBF.Utils; +using UnityEngine; + +namespace NBF +{ + public class PlayerView : Entity + { + public Player Player { get; private set; } + + public PlayerUnityComponent Unity { get; private set; } + + #region 生命周期 + + public void Awake() + { + Player = GetParent(); + var gameObject = PrefabsHelper.CreatePlayer(SceneSettings.Instance.Node); + Unity = gameObject.GetComponent(); + Unity.Player = Player; + CreatePlayerModel(); + if (Player.IsSelf) + { + CameraManager.Instance.SetFppLook(Unity); + } + + Unity.transform.localPosition = new Vector3(484, 1, 422); + } + + public void Update() + { + } + + public void LateUpdate() + { + Player.EyeAngle = GameUtils.GetVerticalAngle(Unity.transform, Unity.FppLook); + } + + public void Destroy() + { + } + + #endregion + + #region 模型创建 + + private void CreatePlayerModel() + { + var modelObject = PrefabsHelper.CreatePlayer(Unity.Root, "Human_Male"); + modelObject.transform.localPosition = new Vector3(0, 1, 0); + Unity.ModelAsset = modelObject.GetComponent(); + Unity.ModelAsset.SetPlayer(Unity.FppLook); + } + + #endregion + + #region 物品切换 + + public async FTask ChangeItem(PlayerItemChangeEvent playerStateChangeEvent) + { + var prevItem = playerStateChangeEvent.PrevItem; + var currItem = playerStateChangeEvent.Item; + if (Player.IsChangeItemIng) return; + Player.IsChangeItemIng = true; + 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(); + await itemView.InitShow(handItem); + Unity.ModelAsset.PlayerAnimator.OnUseItem(itemView); + } + } + + Player.IsChangeItemIng = false; + } + + #region 使用物品 + + public async FTask UnUseItem(PlayerItem item) + { + if (item == null) return; + if (Player.IsChangeItemIng) return; + Player.IsChangeItemIng = true; + await UnUseItemConfirm(item); + Player.IsChangeItemIng = false; + } + + private async FTask UnUseItemConfirm(PlayerItem item) + { + if (item != null) + { + Unity.ModelAsset.PlayerAnimator.OnUnUseItem(); + await FTask.Wait(Scene, 100); + } + + Player.ReleaseItem(item); + await FTask.Wait(Scene, 450); + } + + #endregion + + #endregion + } + + public class PlayerViewAwakeSystem : AwakeSystem + { + protected override void Awake(PlayerView self) + { + self.Awake(); + } + } + + public class PlayerViewDestroySystem : DestroySystem + { + protected override void Destroy(PlayerView self) + { + self.Destroy(); + } + } + + public class PlayerViewUpdateSystem : UpdateSystem + { + protected override void Update(PlayerView self) + { + self.Update(); + } + } + + public class PlayerViewLateUpdateSystem : LateUpdateSystem + { + protected override void LateUpdate(PlayerView self) + { + self.LateUpdate(); + } + } +} \ No newline at end of file diff --git a/Assets/Scripts/Fishing/New/View/PlayerViewComponent.cs.meta b/Assets/Scripts/Fishing/New/View/Player/PlayerView.cs.meta similarity index 100% rename from Assets/Scripts/Fishing/New/View/PlayerViewComponent.cs.meta rename to Assets/Scripts/Fishing/New/View/Player/PlayerView.cs.meta diff --git a/Assets/Scripts/Fishing/New/View/States.meta b/Assets/Scripts/Fishing/New/View/Player/States.meta similarity index 100% rename from Assets/Scripts/Fishing/New/View/States.meta rename to Assets/Scripts/Fishing/New/View/Player/States.meta diff --git a/Assets/Scripts/Fishing/New/View/States/PlayerStageViewBase.cs b/Assets/Scripts/Fishing/New/View/Player/States/PlayerStageViewBase.cs similarity index 85% rename from Assets/Scripts/Fishing/New/View/States/PlayerStageViewBase.cs rename to Assets/Scripts/Fishing/New/View/Player/States/PlayerStageViewBase.cs index 00ee7fcbe..03b0b0f22 100644 --- a/Assets/Scripts/Fishing/New/View/States/PlayerStageViewBase.cs +++ b/Assets/Scripts/Fishing/New/View/Player/States/PlayerStageViewBase.cs @@ -1,11 +1,12 @@ -using UnityEngine; +using NBC; +using UnityEngine; namespace NBF { public abstract class PlayerStageViewBase { public Player Player { get; private set; } - public PlayerViewComponent PlayerView { get; private set; } + public PlayerView PlayerView { get; private set; } protected float EnterTime { get; set; } protected PlayerState PreviousState { get; private set; } @@ -14,7 +15,7 @@ namespace NBF public void Init(Player player) { Player = player; - PlayerView = player.GetComponent(); + PlayerView = player.GetComponent(); } /// @@ -30,6 +31,7 @@ namespace NBF public void Enter(StateEnterParams par = null, PlayerState prevState = PlayerState.None) { + Log.Info($"进入状态={GetType()}"); Params = par; PreviousState = prevState; EnterTime = Time.time; diff --git a/Assets/Scripts/Fishing/New/View/States/PlayerStageViewBase.cs.meta b/Assets/Scripts/Fishing/New/View/Player/States/PlayerStageViewBase.cs.meta similarity index 100% rename from Assets/Scripts/Fishing/New/View/States/PlayerStageViewBase.cs.meta rename to Assets/Scripts/Fishing/New/View/Player/States/PlayerStageViewBase.cs.meta diff --git a/Assets/Scripts/Fishing/New/View/States/PlayerStageViewFight.cs b/Assets/Scripts/Fishing/New/View/Player/States/PlayerStageViewFight.cs similarity index 100% rename from Assets/Scripts/Fishing/New/View/States/PlayerStageViewFight.cs rename to Assets/Scripts/Fishing/New/View/Player/States/PlayerStageViewFight.cs diff --git a/Assets/Scripts/Fishing/New/View/States/PlayerStageViewFight.cs.meta b/Assets/Scripts/Fishing/New/View/Player/States/PlayerStageViewFight.cs.meta similarity index 100% rename from Assets/Scripts/Fishing/New/View/States/PlayerStageViewFight.cs.meta rename to Assets/Scripts/Fishing/New/View/Player/States/PlayerStageViewFight.cs.meta diff --git a/Assets/Scripts/Fishing/New/View/States/PlayerStageViewFishing.cs b/Assets/Scripts/Fishing/New/View/Player/States/PlayerStageViewFishing.cs similarity index 100% rename from Assets/Scripts/Fishing/New/View/States/PlayerStageViewFishing.cs rename to Assets/Scripts/Fishing/New/View/Player/States/PlayerStageViewFishing.cs diff --git a/Assets/Scripts/Fishing/New/View/States/PlayerStageViewFishing.cs.meta b/Assets/Scripts/Fishing/New/View/Player/States/PlayerStageViewFishing.cs.meta similarity index 100% rename from Assets/Scripts/Fishing/New/View/States/PlayerStageViewFishing.cs.meta rename to Assets/Scripts/Fishing/New/View/Player/States/PlayerStageViewFishing.cs.meta diff --git a/Assets/Scripts/Fishing/New/View/States/PlayerStageViewIdle.cs b/Assets/Scripts/Fishing/New/View/Player/States/PlayerStageViewIdle.cs similarity index 100% rename from Assets/Scripts/Fishing/New/View/States/PlayerStageViewIdle.cs rename to Assets/Scripts/Fishing/New/View/Player/States/PlayerStageViewIdle.cs diff --git a/Assets/Scripts/Fishing/New/View/States/PlayerStageViewIdle.cs.meta b/Assets/Scripts/Fishing/New/View/Player/States/PlayerStageViewIdle.cs.meta similarity index 100% rename from Assets/Scripts/Fishing/New/View/States/PlayerStageViewIdle.cs.meta rename to Assets/Scripts/Fishing/New/View/Player/States/PlayerStageViewIdle.cs.meta diff --git a/Assets/Scripts/Fishing/New/View/States/PlayerStageViewPrepare.cs b/Assets/Scripts/Fishing/New/View/Player/States/PlayerStageViewPrepare.cs similarity index 100% rename from Assets/Scripts/Fishing/New/View/States/PlayerStageViewPrepare.cs rename to Assets/Scripts/Fishing/New/View/Player/States/PlayerStageViewPrepare.cs diff --git a/Assets/Scripts/Fishing/New/View/States/PlayerStageViewPrepare.cs.meta b/Assets/Scripts/Fishing/New/View/Player/States/PlayerStageViewPrepare.cs.meta similarity index 100% rename from Assets/Scripts/Fishing/New/View/States/PlayerStageViewPrepare.cs.meta rename to Assets/Scripts/Fishing/New/View/Player/States/PlayerStageViewPrepare.cs.meta diff --git a/Assets/Scripts/Fishing/New/View/States/PlayerStageViewThrow.cs b/Assets/Scripts/Fishing/New/View/Player/States/PlayerStageViewThrow.cs similarity index 100% rename from Assets/Scripts/Fishing/New/View/States/PlayerStageViewThrow.cs rename to Assets/Scripts/Fishing/New/View/Player/States/PlayerStageViewThrow.cs diff --git a/Assets/Scripts/Fishing/New/View/States/PlayerStageViewThrow.cs.meta b/Assets/Scripts/Fishing/New/View/Player/States/PlayerStageViewThrow.cs.meta similarity index 100% rename from Assets/Scripts/Fishing/New/View/States/PlayerStageViewThrow.cs.meta rename to Assets/Scripts/Fishing/New/View/Player/States/PlayerStageViewThrow.cs.meta diff --git a/Assets/Scripts/Fishing/New/View/Tackle.meta b/Assets/Scripts/Fishing/New/View/Player/Tackle.meta similarity index 100% rename from Assets/Scripts/Fishing/New/View/Tackle.meta rename to Assets/Scripts/Fishing/New/View/Player/Tackle.meta diff --git a/Assets/Scripts/Fishing/New/View/Tackle/FBait.cs b/Assets/Scripts/Fishing/New/View/Player/Tackle/FBait.cs similarity index 100% rename from Assets/Scripts/Fishing/New/View/Tackle/FBait.cs rename to Assets/Scripts/Fishing/New/View/Player/Tackle/FBait.cs diff --git a/Assets/Scripts/Fishing/New/View/Tackle/FBait.cs.meta b/Assets/Scripts/Fishing/New/View/Player/Tackle/FBait.cs.meta similarity index 100% rename from Assets/Scripts/Fishing/New/View/Tackle/FBait.cs.meta rename to Assets/Scripts/Fishing/New/View/Player/Tackle/FBait.cs.meta diff --git a/Assets/Scripts/Fishing/New/View/Tackle/FBobber.cs b/Assets/Scripts/Fishing/New/View/Player/Tackle/FBobber.cs similarity index 100% rename from Assets/Scripts/Fishing/New/View/Tackle/FBobber.cs rename to Assets/Scripts/Fishing/New/View/Player/Tackle/FBobber.cs diff --git a/Assets/Scripts/Fishing/New/View/Tackle/FBobber.cs.meta b/Assets/Scripts/Fishing/New/View/Player/Tackle/FBobber.cs.meta similarity index 100% rename from Assets/Scripts/Fishing/New/View/Tackle/FBobber.cs.meta rename to Assets/Scripts/Fishing/New/View/Player/Tackle/FBobber.cs.meta diff --git a/Assets/Scripts/Fishing/New/View/Tackle/FFish.cs b/Assets/Scripts/Fishing/New/View/Player/Tackle/FFish.cs similarity index 100% rename from Assets/Scripts/Fishing/New/View/Tackle/FFish.cs rename to Assets/Scripts/Fishing/New/View/Player/Tackle/FFish.cs diff --git a/Assets/Scripts/Fishing/New/View/Tackle/FFish.cs.meta b/Assets/Scripts/Fishing/New/View/Player/Tackle/FFish.cs.meta similarity index 100% rename from Assets/Scripts/Fishing/New/View/Tackle/FFish.cs.meta rename to Assets/Scripts/Fishing/New/View/Player/Tackle/FFish.cs.meta diff --git a/Assets/Scripts/Fishing/New/View/Tackle/FGearBase.cs b/Assets/Scripts/Fishing/New/View/Player/Tackle/FGearBase.cs similarity index 100% rename from Assets/Scripts/Fishing/New/View/Tackle/FGearBase.cs rename to Assets/Scripts/Fishing/New/View/Player/Tackle/FGearBase.cs diff --git a/Assets/Scripts/Fishing/New/View/Tackle/FGearBase.cs.meta b/Assets/Scripts/Fishing/New/View/Player/Tackle/FGearBase.cs.meta similarity index 100% rename from Assets/Scripts/Fishing/New/View/Tackle/FGearBase.cs.meta rename to Assets/Scripts/Fishing/New/View/Player/Tackle/FGearBase.cs.meta diff --git a/Assets/Scripts/Fishing/New/View/Player/Tackle/FHandItem.cs b/Assets/Scripts/Fishing/New/View/Player/Tackle/FHandItem.cs new file mode 100644 index 000000000..0e8a5a1ad --- /dev/null +++ b/Assets/Scripts/Fishing/New/View/Player/Tackle/FHandItem.cs @@ -0,0 +1,9 @@ +using UnityEngine; + +namespace NBF +{ + public abstract class FHandItem : MonoBehaviour + { + public abstract int ConfigId { get; } + } +} \ No newline at end of file diff --git a/Assets/Scripts/Fishing/New/View/Tackle/FHandItem.cs.meta b/Assets/Scripts/Fishing/New/View/Player/Tackle/FHandItem.cs.meta similarity index 100% rename from Assets/Scripts/Fishing/New/View/Tackle/FHandItem.cs.meta rename to Assets/Scripts/Fishing/New/View/Player/Tackle/FHandItem.cs.meta diff --git a/Assets/Scripts/Fishing/New/View/Tackle/FHook.cs b/Assets/Scripts/Fishing/New/View/Player/Tackle/FHook.cs similarity index 100% rename from Assets/Scripts/Fishing/New/View/Tackle/FHook.cs rename to Assets/Scripts/Fishing/New/View/Player/Tackle/FHook.cs diff --git a/Assets/Scripts/Fishing/New/View/Tackle/FHook.cs.meta b/Assets/Scripts/Fishing/New/View/Player/Tackle/FHook.cs.meta similarity index 100% rename from Assets/Scripts/Fishing/New/View/Tackle/FHook.cs.meta rename to Assets/Scripts/Fishing/New/View/Player/Tackle/FHook.cs.meta diff --git a/Assets/Scripts/Fishing/New/View/Tackle/FLine.cs b/Assets/Scripts/Fishing/New/View/Player/Tackle/FLine.cs similarity index 100% rename from Assets/Scripts/Fishing/New/View/Tackle/FLine.cs rename to Assets/Scripts/Fishing/New/View/Player/Tackle/FLine.cs diff --git a/Assets/Scripts/Fishing/New/View/Tackle/FLine.cs.meta b/Assets/Scripts/Fishing/New/View/Player/Tackle/FLine.cs.meta similarity index 100% rename from Assets/Scripts/Fishing/New/View/Tackle/FLine.cs.meta rename to Assets/Scripts/Fishing/New/View/Player/Tackle/FLine.cs.meta diff --git a/Assets/Scripts/Fishing/New/View/Tackle/FLineHandler.cs b/Assets/Scripts/Fishing/New/View/Player/Tackle/FLineHandler.cs similarity index 100% rename from Assets/Scripts/Fishing/New/View/Tackle/FLineHandler.cs rename to Assets/Scripts/Fishing/New/View/Player/Tackle/FLineHandler.cs diff --git a/Assets/Scripts/Fishing/New/View/Tackle/FLineHandler.cs.meta b/Assets/Scripts/Fishing/New/View/Player/Tackle/FLineHandler.cs.meta similarity index 100% rename from Assets/Scripts/Fishing/New/View/Tackle/FLineHandler.cs.meta rename to Assets/Scripts/Fishing/New/View/Player/Tackle/FLineHandler.cs.meta diff --git a/Assets/Scripts/Fishing/New/View/Tackle/FLure.cs b/Assets/Scripts/Fishing/New/View/Player/Tackle/FLure.cs similarity index 100% rename from Assets/Scripts/Fishing/New/View/Tackle/FLure.cs rename to Assets/Scripts/Fishing/New/View/Player/Tackle/FLure.cs diff --git a/Assets/Scripts/Fishing/New/View/Tackle/FLure.cs.meta b/Assets/Scripts/Fishing/New/View/Player/Tackle/FLure.cs.meta similarity index 100% rename from Assets/Scripts/Fishing/New/View/Tackle/FLure.cs.meta rename to Assets/Scripts/Fishing/New/View/Player/Tackle/FLure.cs.meta diff --git a/Assets/Scripts/Fishing/New/View/Tackle/FReel.cs b/Assets/Scripts/Fishing/New/View/Player/Tackle/FReel.cs similarity index 100% rename from Assets/Scripts/Fishing/New/View/Tackle/FReel.cs rename to Assets/Scripts/Fishing/New/View/Player/Tackle/FReel.cs diff --git a/Assets/Scripts/Fishing/New/View/Tackle/FReel.cs.meta b/Assets/Scripts/Fishing/New/View/Player/Tackle/FReel.cs.meta similarity index 100% rename from Assets/Scripts/Fishing/New/View/Tackle/FReel.cs.meta rename to Assets/Scripts/Fishing/New/View/Player/Tackle/FReel.cs.meta diff --git a/Assets/Scripts/Fishing/New/View/Tackle/FRod.cs b/Assets/Scripts/Fishing/New/View/Player/Tackle/FRod.cs similarity index 94% rename from Assets/Scripts/Fishing/New/View/Tackle/FRod.cs rename to Assets/Scripts/Fishing/New/View/Player/Tackle/FRod.cs index 269ecd2b4..2295455dd 100644 --- a/Assets/Scripts/Fishing/New/View/Tackle/FRod.cs +++ b/Assets/Scripts/Fishing/New/View/Player/Tackle/FRod.cs @@ -2,6 +2,7 @@ using System.Collections; using System.Collections.Generic; using Fantasy; +using Fantasy.Async; using NBC.Asset; using NBF.Utils; using UnityEngine; @@ -13,6 +14,10 @@ namespace NBF { private float _tension; + public PlayerItem PlayerItem; + + public override int ConfigId => PlayerItem?.ConfigID ?? 0; + /// /// 可用的 /// @@ -122,12 +127,11 @@ namespace NBF yield return 1; } - public IEnumerator InitRod(Player player, ItemBindInfo itemBindInfo) + public async FTask InitRod(PlayerItem playerItem) { - ConfigId = itemBindInfo.Item; - // Player = player; + PlayerItem = playerItem; - var playerView = player.GetComponent(); + var playerView = playerItem.Owner.GetComponent(); var playerViewUnity = playerView.Unity; @@ -135,7 +139,8 @@ namespace NBF transform.localRotation = Quaternion.identity; transform.localScale = Vector3.one; SceneSettings.Instance.GearNode.position = playerViewUnity.transform.position; - yield return 1; + await FTask.WaitFrame(playerView.Scene); //等待1帧 + var obj = new GameObject($"rod_{ConfigId}"); obj.transform.SetParent(SceneSettings.Instance.GearNode); // obj.transform.SetParent(player.transform); @@ -149,11 +154,10 @@ namespace NBF // List children = RoleModel.Instance.GetBindItems(itemInfo.Id); - CreateFishingHandler(); - yield return 1; //等待1帧 + await FTask.WaitFrame(playerView.Scene); //等待1帧 // children.Sort(); - foreach (var childConfigId in itemBindInfo.BindItems) + foreach (var childConfigId in playerItem.BindItems) { var itemType = childConfigId.GetItemType(); var config = Game.Tables.TbItem.Get(childConfigId); @@ -199,7 +203,7 @@ namespace NBF } } - yield return 1; + await FTask.WaitFrame(playerView.Scene); //等待1帧 if (Reel) { Reel.reelingDrag = 0.699f; @@ -234,7 +238,7 @@ namespace NBF Weight.Init(this); } - yield return 1; //等待1帧 + await FTask.WaitFrame(playerView.Scene); //等待1帧 transform.SetParent(playerViewUnity.ModelAsset.RodRoot); transform.localPosition = Vector3.zero; @@ -284,11 +288,6 @@ namespace NBF Line = obj.GetComponent(); Line.transform.position = Asset.lineConnector.position; Line.Init(this); - - // var obiSolver = solver.GetComponent(); - // obiSolver.parameters.ambientWind = Vector3.zero; - // obiSolver.wind. - // obiSolver.simulateWhenInvisible } } diff --git a/Assets/Scripts/Fishing/New/View/Tackle/FRod.cs.meta b/Assets/Scripts/Fishing/New/View/Player/Tackle/FRod.cs.meta similarity index 100% rename from Assets/Scripts/Fishing/New/View/Tackle/FRod.cs.meta rename to Assets/Scripts/Fishing/New/View/Player/Tackle/FRod.cs.meta diff --git a/Assets/Scripts/Fishing/New/View/Tackle/FWeight.cs b/Assets/Scripts/Fishing/New/View/Player/Tackle/FWeight.cs similarity index 100% rename from Assets/Scripts/Fishing/New/View/Tackle/FWeight.cs rename to Assets/Scripts/Fishing/New/View/Player/Tackle/FWeight.cs diff --git a/Assets/Scripts/Fishing/New/View/Tackle/FWeight.cs.meta b/Assets/Scripts/Fishing/New/View/Player/Tackle/FWeight.cs.meta similarity index 100% rename from Assets/Scripts/Fishing/New/View/Tackle/FWeight.cs.meta rename to Assets/Scripts/Fishing/New/View/Player/Tackle/FWeight.cs.meta diff --git a/Assets/Scripts/Fishing/New/View/PlayerItemViewComponent.cs b/Assets/Scripts/Fishing/New/View/PlayerItemViewComponent.cs deleted file mode 100644 index 332a0ea07..000000000 --- a/Assets/Scripts/Fishing/New/View/PlayerItemViewComponent.cs +++ /dev/null @@ -1,67 +0,0 @@ -using System.Collections; -using Fantasy.Entitas; - -namespace NBF -{ - public class PlayerItemViewComponent : Entity - { - public void ShowItem() - { - // Game.Instance.StartCoroutine() - } - - #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; - // } - // - // public IEnumerator UnUseItem() - // { - // if (Data.ChangeItem) yield break; - // Data.ChangeItem = true; - // yield return UnUseItemConfirm(); - // Data.ChangeItem = false; - // } - // - // 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 - } -} \ No newline at end of file diff --git a/Assets/Scripts/Fishing/New/View/PlayerItemViewComponent.cs.meta b/Assets/Scripts/Fishing/New/View/PlayerItemViewComponent.cs.meta deleted file mode 100644 index 0ad1990c2..000000000 --- a/Assets/Scripts/Fishing/New/View/PlayerItemViewComponent.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: cf5f405feb8f431ea52d8f33b3cb2e29 -timeCreated: 1773069665 \ No newline at end of file diff --git a/Assets/Scripts/Fishing/New/View/PlayerViewComponent.cs b/Assets/Scripts/Fishing/New/View/PlayerViewComponent.cs deleted file mode 100644 index 519cec874..000000000 --- a/Assets/Scripts/Fishing/New/View/PlayerViewComponent.cs +++ /dev/null @@ -1,90 +0,0 @@ -using Fantasy.Entitas; -using Fantasy.Entitas.Interface; -using NBF.Fishing2; -using UnityEngine; - -namespace NBF -{ - public class PlayerViewComponent : Entity - { - public Player Player { get; private set; } - - public PlayerUnityComponent Unity { get; private set; } - - #region 生命周期 - - public void Awake() - { - Player = GetParent(); - var gameObject = PrefabsHelper.CreatePlayer(SceneSettings.Instance.Node); - Unity = gameObject.GetComponent(); - Unity.Player = Player; - CreatePlayerModel(); - if (Player.IsSelf) - { - CameraManager.Instance.SetFppLook(Unity); - } - - Unity.transform.localPosition = new Vector3(484, 1, 422); - } - - public void Update() - { - } - - public void LateUpdate() - { - Player.EyeAngle = GameUtils.GetVerticalAngle(Unity.transform, Unity.FppLook); - } - - public void Destroy() - { - } - - #endregion - - #region 模型创建 - - private void CreatePlayerModel() - { - var modelObject = PrefabsHelper.CreatePlayer(Unity.Root, "Human_Male"); - modelObject.transform.localPosition = new Vector3(0, 1, 0); - Unity.ModelAsset = modelObject.GetComponent(); - Unity.ModelAsset.SetPlayer(Unity.FppLook); - } - - #endregion - } - - public class PlayerViewAwakeSystem : AwakeSystem - { - protected override void Awake(PlayerViewComponent self) - { - self.Awake(); - } - } - - public class PlayerViewDestroySystem : DestroySystem - { - protected override void Destroy(PlayerViewComponent self) - { - self.Destroy(); - } - } - - public class PlayerViewUpdateSystem : UpdateSystem - { - protected override void Update(PlayerViewComponent self) - { - self.Update(); - } - } - - public class PlayerViewLateUpdateSystem : LateUpdateSystem - { - protected override void LateUpdate(PlayerViewComponent self) - { - self.LateUpdate(); - } - } -} \ No newline at end of file diff --git a/Assets/Scripts/Fishing/New/View/Tackle/FHandItem.cs b/Assets/Scripts/Fishing/New/View/Tackle/FHandItem.cs deleted file mode 100644 index 1b6920cb7..000000000 --- a/Assets/Scripts/Fishing/New/View/Tackle/FHandItem.cs +++ /dev/null @@ -1,9 +0,0 @@ -using UnityEngine; - -namespace NBF -{ - public class FHandItem : MonoBehaviour - { - public int ConfigId; - } -} \ No newline at end of file diff --git a/Assets/Scripts/Generate/NetworkProtocol/OuterMessage.cs b/Assets/Scripts/Generate/NetworkProtocol/OuterMessage.cs index 0a5f6b2d5..0bfd71deb 100644 --- a/Assets/Scripts/Generate/NetworkProtocol/OuterMessage.cs +++ b/Assets/Scripts/Generate/NetworkProtocol/OuterMessage.cs @@ -4922,9 +4922,9 @@ namespace Fantasy MessageObjectPool.Return(this); } [ProtoMember(1)] - public int Item { get; set; } + public long Item { get; set; } [ProtoMember(2)] - public List BindItems { get; set; } = new List(); + public List BindItems { get; set; } = new List(); } /// /// 物品信息 diff --git a/Fishing2.sln.DotSettings.user b/Fishing2.sln.DotSettings.user index 23b14b55d..5fb5cf62d 100644 --- a/Fishing2.sln.DotSettings.user +++ b/Fishing2.sln.DotSettings.user @@ -34,6 +34,7 @@ ForceIncluded ForceIncluded ForceIncluded + ForceIncluded ForceIncluded ForceIncluded ForceIncluded diff --git a/RenderTextureDebug.png b/RenderTextureDebug.png index 662b99fa2..1ed3cbaf1 100644 Binary files a/RenderTextureDebug.png and b/RenderTextureDebug.png differ