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..f2cddc2a0
--- /dev/null
+++ b/Assets/Scripts/Fishing/New/Data/Item/PlayerItem.cs
@@ -0,0 +1,33 @@
+using System.Collections.Generic;
+using Fantasy;
+using Fantasy.Entitas;
+using NBF.Utils;
+
+namespace NBF
+{
+ ///
+ /// 玩家物品
+ ///
+ public abstract class PlayerItem : Entity
+ {
+ public Player Owner;
+
+ ///
+ /// 配置id
+ ///
+ public int ConfigID;
+
+
+ public virtual void Init(Player player, ItemInfo bindInfo)
+ {
+ Owner = player;
+ ConfigID = bindInfo.ConfigId;
+ // 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/Item/PlayerItemRod.cs b/Assets/Scripts/Fishing/New/Data/Item/PlayerItemRod.cs
new file mode 100644
index 000000000..6bb33c0c7
--- /dev/null
+++ b/Assets/Scripts/Fishing/New/Data/Item/PlayerItemRod.cs
@@ -0,0 +1,15 @@
+using System.Collections.Generic;
+using Fantasy;
+using Fantasy.Entitas;
+
+namespace NBF
+{
+ public class PlayerItemRod : PlayerItem
+ {
+ public override void Init(Player player, ItemInfo bindInfo)
+ {
+ //var binds = RoleModel.Instance.GetBindItems(item.Id);
+ base.Init(player, bindInfo);
+ }
+ }
+}
\ No newline at end of file
diff --git a/Assets/Scripts/Fishing/New/Data/Item/PlayerItemRod.cs.meta b/Assets/Scripts/Fishing/New/Data/Item/PlayerItemRod.cs.meta
new file mode 100644
index 000000000..05a2ff96b
--- /dev/null
+++ b/Assets/Scripts/Fishing/New/Data/Item/PlayerItemRod.cs.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 9e0846296bef4505868010bfe1eee1e3
+timeCreated: 1773124278
\ No newline at end of file
diff --git a/Assets/Scripts/Fishing/New/Data/Player.cs b/Assets/Scripts/Fishing/New/Data/Player.cs
index b363a4757..f1824cbba 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,18 @@ namespace NBF
///
/// 当前手持物品
///
- public PlayerItem HandItem => Items[HandItemId];
+ public PlayerItem HandItem => Items.GetValueOrDefault(HandItemId);
#region 初始化
public void InitPlayer(MapUnitInfo unitInfo)
{
- AddComponent();
- AddComponent();
+ AddComponent();
+ AddComponent();
if (unitInfo.Id == RoleModel.Instance.Id)
{
//自己
- AddComponent();
+ AddComponent();
}
}
@@ -80,29 +87,44 @@ 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(ItemInfo item)
{
- var playerItem = Create(Scene);
- playerItem.Init(item);
- ItemChangeEvent();
- }
-
- private void ItemChangeEvent()
- {
- Scene.EventComponent.Publish(new PlayerStateChangeEvent
+ var prevItem = HandItem;
+ var itemType = item.ConfigId.GetItemType();
+ if (itemType == ItemType.Rod)
{
- Player = this
+ var playerItemRod = Create(Scene);
+ playerItemRod.Init(this, item);
+ Items[playerItemRod.Id] = playerItemRod;
+ HandItemId = playerItemRod.Id;
+ }
+
+ ItemChangeEvent(prevItem);
+ }
+
+ private void ItemChangeEvent(PlayerItem prevItem)
+ {
+ Scene.EventComponent.Publish(new PlayerItemChangeEvent
+ {
+ 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/PlayerItemRodView.cs b/Assets/Scripts/Fishing/New/View/Player/Item/PlayerItemRodView.cs
new file mode 100644
index 000000000..2504634e6
--- /dev/null
+++ b/Assets/Scripts/Fishing/New/View/Player/Item/PlayerItemRodView.cs
@@ -0,0 +1,20 @@
+using Fantasy.Async;
+using UnityEngine;
+
+namespace NBF
+{
+ public class PlayerItemRodView : PlayerItemView
+ {
+ public RodAsset RodAsset;
+
+ public override async FTask InitShow(PlayerItem item)
+ {
+ Item = item;
+ var itemConfig = Game.Tables.TbItem.Get(Item.ConfigID);
+ RodAsset = 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/PlayerItemRodView.cs.meta b/Assets/Scripts/Fishing/New/View/Player/Item/PlayerItemRodView.cs.meta
new file mode 100644
index 000000000..331fb3a0c
--- /dev/null
+++ b/Assets/Scripts/Fishing/New/View/Player/Item/PlayerItemRodView.cs.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 77390e0ed53847f3b190ffc0d9f1319a
+timeCreated: 1773124629
\ 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..918da1040
--- /dev/null
+++ b/Assets/Scripts/Fishing/New/View/Player/Item/PlayerItemView.cs
@@ -0,0 +1,27 @@
+using Fantasy.Async;
+using Fantasy.Entitas;
+using UnityEngine;
+
+namespace NBF
+{
+ ///
+ /// 玩家物品视图组件
+ ///
+ public abstract class PlayerItemView : Entity
+ {
+ public PlayerItem Item { get; protected set; }
+
+
+ public abstract FTask InitShow(PlayerItem item);
+
+ // public async FTask InitShow()
+ // {
+ // // Item = GetParent();
+ // 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 87%
rename from Assets/Scripts/Fishing/New/View/PlayerInputComponent.cs
rename to Assets/Scripts/Fishing/New/View/Player/PlayerInput.cs
index e5c0277f5..55b08f399 100644
--- a/Assets/Scripts/Fishing/New/View/PlayerInputComponent.cs
+++ b/Assets/Scripts/Fishing/New/View/Player/PlayerInput.cs
@@ -7,34 +7,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 +90,7 @@ 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);
+ Player.UseItem(item);
}
}
}
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 88%
rename from Assets/Scripts/Fishing/New/View/PlayerStateViewComponent.cs
rename to Assets/Scripts/Fishing/New/View/Player/PlayerStateView.cs
index dd50e0216..07766e2f7 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();
@@ -47,17 +47,17 @@ namespace NBF
}
}
- 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 +67,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..78bcc8f11
--- /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 90%
rename from Assets/Scripts/Fishing/New/View/States/PlayerStageViewBase.cs
rename to Assets/Scripts/Fishing/New/View/Player/States/PlayerStageViewBase.cs
index 00ee7fcbe..b6ac4b850 100644
--- a/Assets/Scripts/Fishing/New/View/States/PlayerStageViewBase.cs
+++ b/Assets/Scripts/Fishing/New/View/Player/States/PlayerStageViewBase.cs
@@ -5,7 +5,7 @@ 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 +14,7 @@ namespace NBF
public void Init(Player player)
{
Player = player;
- PlayerView = player.GetComponent();
+ PlayerView = player.GetComponent();
}
///
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/Tackle/FHandItem.cs b/Assets/Scripts/Fishing/New/View/Player/Tackle/FHandItem.cs
similarity index 100%
rename from Assets/Scripts/Fishing/New/View/Tackle/FHandItem.cs
rename to Assets/Scripts/Fishing/New/View/Player/Tackle/FHandItem.cs
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 57%
rename from Assets/Scripts/Fishing/New/View/Tackle/FRod.cs
rename to Assets/Scripts/Fishing/New/View/Player/Tackle/FRod.cs
index 269ecd2b4..996d86404 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,7 @@ namespace NBF
{
private float _tension;
+
///
/// 可用的
///
@@ -122,125 +124,125 @@ namespace NBF
yield return 1;
}
- public IEnumerator InitRod(Player player, ItemBindInfo itemBindInfo)
+ public async FTask InitRod(PlayerItem playerItem)
{
- ConfigId = itemBindInfo.Item;
- // Player = player;
-
- var playerView = player.GetComponent();
-
- var playerViewUnity = playerView.Unity;
-
- transform.localPosition = Vector3.zero;
- transform.localRotation = Quaternion.identity;
- transform.localScale = Vector3.one;
- SceneSettings.Instance.GearNode.position = playerViewUnity.transform.position;
- yield return 1;
- var obj = new GameObject($"rod_{ConfigId}");
- obj.transform.SetParent(SceneSettings.Instance.GearNode);
- // obj.transform.SetParent(player.transform);
- // obj.transform.localPosition = Vector3.zero;
- obj.transform.position = playerViewUnity.transform.position;
- obj.transform.rotation = playerViewUnity.transform.rotation;
- obj.transform.localScale = Vector3.one;
- GearRoot = obj.transform;
-
- var parent = GearRoot;
-
- // List children = RoleModel.Instance.GetBindItems(itemInfo.Id);
-
-
- CreateFishingHandler();
- yield return 1; //等待1帧
- // children.Sort();
- foreach (var childConfigId in itemBindInfo.BindItems)
- {
- var itemType = childConfigId.GetItemType();
- var config = Game.Tables.TbItem.Get(childConfigId);
- if (itemType == ItemType.Reel)
- {
- Reel = config.InstantiateAndComponent(Asset.ReelConnector, Vector3.zero,
- Quaternion.identity);
- Reel.SetItemConfigId(childConfigId);
- }
- else if (itemType == ItemType.Bobber)
- {
- Bobber = config.InstantiateAndComponent(parent, Vector3.zero,
- Quaternion.identity);
- Bobber.SetItemConfigId(childConfigId);
- }
- else if (itemType == ItemType.Hook)
- {
- Hook = config.InstantiateAndComponent(parent, Vector3.zero,
- Quaternion.identity);
- Hook.SetItemConfigId(childConfigId);
- }
- else if (itemType == ItemType.Bait)
- {
- Bait = config.InstantiateAndComponent(parent, Vector3.zero,
- Quaternion.identity);
- Bait.SetItemConfigId(childConfigId);
- }
- else if (itemType == ItemType.Lure)
- {
- Lure = config.InstantiateAndComponent(parent, Vector3.zero,
- Quaternion.identity);
- Lure.SetItemConfigId(childConfigId);
- }
- else if (itemType == ItemType.Weight)
- {
- Weight = config.InstantiateAndComponent(parent, Vector3.zero,
- Quaternion.identity);
- Weight.SetItemConfigId(childConfigId);
- }
- else if (itemType == ItemType.Line)
- {
- // lineItemInfo = child;
- }
- }
-
- yield return 1;
- if (Reel)
- {
- Reel.reelingDrag = 0.699f;
- Reel.transform.SetParent(Asset.ReelConnector);
- Reel.transform.localPosition = Vector3.zero;
- Reel.transform.localEulerAngles = Vector3.zero;
- Reel.Init(this);
- }
-
- if (Bobber)
- {
- Bobber.Init(this);
- }
-
- if (Hook)
- {
- Hook.Init(this);
- }
-
- if (Bait)
- {
- Bait.Init(this);
- }
-
- if (Lure)
- {
- Lure.Init(this);
- }
-
- if (Weight)
- {
- Weight.Init(this);
- }
-
- yield return 1; //等待1帧
-
- transform.SetParent(playerViewUnity.ModelAsset.RodRoot);
- transform.localPosition = Vector3.zero;
- transform.rotation = playerViewUnity.ModelAsset.RodRoot.rotation;
-
- Usable = true;
+ // ConfigId = itemBindInfo.Item;
+ // // Player = player;
+ //
+ // var playerView = player.GetComponent();
+ //
+ // var playerViewUnity = playerView.Unity;
+ //
+ // transform.localPosition = Vector3.zero;
+ // transform.localRotation = Quaternion.identity;
+ // transform.localScale = Vector3.one;
+ // SceneSettings.Instance.GearNode.position = playerViewUnity.transform.position;
+ // yield return 1;
+ // var obj = new GameObject($"rod_{ConfigId}");
+ // obj.transform.SetParent(SceneSettings.Instance.GearNode);
+ // // obj.transform.SetParent(player.transform);
+ // // obj.transform.localPosition = Vector3.zero;
+ // obj.transform.position = playerViewUnity.transform.position;
+ // obj.transform.rotation = playerViewUnity.transform.rotation;
+ // obj.transform.localScale = Vector3.one;
+ // GearRoot = obj.transform;
+ //
+ // var parent = GearRoot;
+ //
+ // // List children = RoleModel.Instance.GetBindItems(itemInfo.Id);
+ //
+ //
+ // CreateFishingHandler();
+ // yield return 1; //等待1帧
+ // // children.Sort();
+ // foreach (var childConfigId in itemBindInfo.BindItems)
+ // {
+ // var itemType = childConfigId.GetItemType();
+ // var config = Game.Tables.TbItem.Get(childConfigId);
+ // if (itemType == ItemType.Reel)
+ // {
+ // Reel = config.InstantiateAndComponent(Asset.ReelConnector, Vector3.zero,
+ // Quaternion.identity);
+ // Reel.SetItemConfigId(childConfigId);
+ // }
+ // else if (itemType == ItemType.Bobber)
+ // {
+ // Bobber = config.InstantiateAndComponent(parent, Vector3.zero,
+ // Quaternion.identity);
+ // Bobber.SetItemConfigId(childConfigId);
+ // }
+ // else if (itemType == ItemType.Hook)
+ // {
+ // Hook = config.InstantiateAndComponent(parent, Vector3.zero,
+ // Quaternion.identity);
+ // Hook.SetItemConfigId(childConfigId);
+ // }
+ // else if (itemType == ItemType.Bait)
+ // {
+ // Bait = config.InstantiateAndComponent(parent, Vector3.zero,
+ // Quaternion.identity);
+ // Bait.SetItemConfigId(childConfigId);
+ // }
+ // else if (itemType == ItemType.Lure)
+ // {
+ // Lure = config.InstantiateAndComponent(parent, Vector3.zero,
+ // Quaternion.identity);
+ // Lure.SetItemConfigId(childConfigId);
+ // }
+ // else if (itemType == ItemType.Weight)
+ // {
+ // Weight = config.InstantiateAndComponent(parent, Vector3.zero,
+ // Quaternion.identity);
+ // Weight.SetItemConfigId(childConfigId);
+ // }
+ // else if (itemType == ItemType.Line)
+ // {
+ // // lineItemInfo = child;
+ // }
+ // }
+ //
+ // yield return 1;
+ // if (Reel)
+ // {
+ // Reel.reelingDrag = 0.699f;
+ // Reel.transform.SetParent(Asset.ReelConnector);
+ // Reel.transform.localPosition = Vector3.zero;
+ // Reel.transform.localEulerAngles = Vector3.zero;
+ // Reel.Init(this);
+ // }
+ //
+ // if (Bobber)
+ // {
+ // Bobber.Init(this);
+ // }
+ //
+ // if (Hook)
+ // {
+ // Hook.Init(this);
+ // }
+ //
+ // if (Bait)
+ // {
+ // Bait.Init(this);
+ // }
+ //
+ // if (Lure)
+ // {
+ // Lure.Init(this);
+ // }
+ //
+ // if (Weight)
+ // {
+ // Weight.Init(this);
+ // }
+ //
+ // yield return 1; //等待1帧
+ //
+ // transform.SetParent(playerViewUnity.ModelAsset.RodRoot);
+ // transform.localPosition = Vector3.zero;
+ // transform.rotation = playerViewUnity.ModelAsset.RodRoot.rotation;
+ //
+ // Usable = true;
}
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/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