From 0218597f66eb99cf1ebf13d57623107ed433b49a Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期一, 01 九月 2025 16:06:52 +0800
Subject: [PATCH] 50 【主界面】核心主体 - 优化掉落
---
Main/System/Equip/EquipModel.cs | 7 ++
Main/System/Main/AutoFightModel.cs | 6 --
Main/Core/NetworkPackage/DTCFile/ServerPack/H01_System/DTC0102_tagCDBPlayer.cs | 2
Main/Core/NetworkPackage/DTCFile/ServerPack/HB4_FightDefine/DTCB405_tagMCAddExp.cs | 16 ++--
Main/System/Equip/ItemsOnFloor.cs | 7 +-
Main/System/Main/HomeWin.cs | 19 ------
Main/System/Equip/FloorItemCell.cs | 16 +----
Main/Core/NetworkPackage/ServerPack/HB4_FightDefine/HB405_tagMCAddExp.cs | 36 ++++++------
Main/System/Battle/BattleField/StoryBattleField.cs | 13 ++++
9 files changed, 54 insertions(+), 68 deletions(-)
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/H01_System/DTC0102_tagCDBPlayer.cs b/Main/Core/NetworkPackage/DTCFile/ServerPack/H01_System/DTC0102_tagCDBPlayer.cs
index a87c36f..557ea5d 100644
--- a/Main/Core/NetworkPackage/DTCFile/ServerPack/H01_System/DTC0102_tagCDBPlayer.cs
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/H01_System/DTC0102_tagCDBPlayer.cs
@@ -8,7 +8,7 @@
public static event Action beforePlayerDataInitializeEvent;
public static event Action afterPlayerDataInitializeEvent;
public static event Action switchAccountEvent;
- public static bool isAfterPlayerDataInitialize = false; //鍙互鐢ㄦ潵鍒ゆ柇鏄惁鍒囧彿锛屽鐭殏鐨勬柇绾块噸杩�
+ public static bool isAfterPlayerDataInitialize = false; //鍙尯鍒嗘柇绾块噸杩炶繕鏄畬鍏ㄩ噸鐧�; 鍒囧埌鐧诲綍鍦烘櫙浼氶噸缃负false锛屾晠鍙垽鏂柇绾块噸杩�
public static uint playerIdBuf = 0;
public override void Done(GameNetPackBasic vNetPack)
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/HB4_FightDefine/DTCB405_tagMCAddExp.cs b/Main/Core/NetworkPackage/DTCFile/ServerPack/HB4_FightDefine/DTCB405_tagMCAddExp.cs
index 8a5e276..37e6694 100644
--- a/Main/Core/NetworkPackage/DTCFile/ServerPack/HB4_FightDefine/DTCB405_tagMCAddExp.cs
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/HB4_FightDefine/DTCB405_tagMCAddExp.cs
@@ -1,11 +1,11 @@
using UnityEngine;
using System.Collections;
-//B4 05 鑾峰緱缁忛獙 #tagMCAddExp
-
-public class DTCB405_tagMCAddExp : DtcBasic {
- public override void Done(GameNetPackBasic vNetPack) {
- base.Done(vNetPack);
- HB405_tagMCAddExp vNetData = vNetPack as HB405_tagMCAddExp;
- }
-}
+//B4 05 鑾峰緱缁忛獙 #tagMCAddExp
+
+public class DTCB405_tagMCAddExp : DtcBasic {
+ public override void Done(GameNetPackBasic vNetPack) {
+ base.Done(vNetPack);
+ HB405_tagMCAddExp vNetData = vNetPack as HB405_tagMCAddExp;
+ }
+}
diff --git a/Main/Core/NetworkPackage/ServerPack/HB4_FightDefine/HB405_tagMCAddExp.cs b/Main/Core/NetworkPackage/ServerPack/HB4_FightDefine/HB405_tagMCAddExp.cs
index f6928c1..0cfae38 100644
--- a/Main/Core/NetworkPackage/ServerPack/HB4_FightDefine/HB405_tagMCAddExp.cs
+++ b/Main/Core/NetworkPackage/ServerPack/HB4_FightDefine/HB405_tagMCAddExp.cs
@@ -1,21 +1,21 @@
using UnityEngine;
using System.Collections;
-//B4 05 鑾峰緱缁忛獙 #tagMCAddExp
-
-public class HB405_tagMCAddExp : GameNetPackBasic {
- public uint ExpPoint; // 鍗曚綅浜跨偣
- public uint Exp; // 鍗曚綅鐐�
- public byte Source; //缁忛獙鑾峰彇鏉ユ簮
-
- public HB405_tagMCAddExp () {
- _cmd = (ushort)0xB405;
- }
-
- public override void ReadFromBytes (byte[] vBytes) {
- TransBytes (out ExpPoint, vBytes, NetDataType.DWORD);
- TransBytes (out Exp, vBytes, NetDataType.DWORD);
- TransBytes (out Source, vBytes, NetDataType.BYTE);
- }
-
-}
+//B4 05 鑾峰緱缁忛獙 #tagMCAddExp
+
+public class HB405_tagMCAddExp : GameNetPackBasic {
+ public uint ExpPoint; // 鍗曚綅浜跨偣
+ public uint Exp; // 鍗曚綅鐐�
+ public byte Source; //缁忛獙鑾峰彇鏉ユ簮
+
+ public HB405_tagMCAddExp () {
+ _cmd = (ushort)0xB405;
+ }
+
+ public override void ReadFromBytes (byte[] vBytes) {
+ TransBytes (out ExpPoint, vBytes, NetDataType.DWORD);
+ TransBytes (out Exp, vBytes, NetDataType.DWORD);
+ TransBytes (out Source, vBytes, NetDataType.BYTE);
+ }
+
+}
diff --git a/Main/System/Battle/BattleField/StoryBattleField.cs b/Main/System/Battle/BattleField/StoryBattleField.cs
index fac13d6..bf0e810 100644
--- a/Main/System/Battle/BattleField/StoryBattleField.cs
+++ b/Main/System/Battle/BattleField/StoryBattleField.cs
@@ -194,6 +194,19 @@
BattleDebug.LogError("HandModeOperationAgent DoNext 2");
+ //鍐嶆鏌ヤ竴娆℃湁娌¤澶囨湭澶勭悊
+ if (PackManager.Instance.GetSinglePack(PackType.DropItem).GetItems().Count > 0)
+ {
+ //鏋勫缓鎵�鏈夌墿鍝�
+ List<int> dropList = new List<int>();
+ foreach (var item in PackManager.Instance.GetSinglePack(PackType.DropItem).GetItems())
+ {
+ dropList.Add(item.gridIndex);
+ }
+ EquipModel.Instance.NotifyItemDrop(dropList, null);
+ return;
+ }
+
// 妫�鏌ヤ竴涓嬮敜瀛愮殑娑堣��
if (!ItemLogicUtility.CheckCurrencyCount(41, PlayerDatas.Instance.baseData.UseHarmerCount, 2))
{
diff --git a/Main/System/Equip/EquipModel.cs b/Main/System/Equip/EquipModel.cs
index b4c4148..7135882 100644
--- a/Main/System/Equip/EquipModel.cs
+++ b/Main/System/Equip/EquipModel.cs
@@ -25,6 +25,8 @@
public int lastShowEquipIndex = -1; //涓婁竴娆$晫闈㈡樉绀鸿澶囩殑绱㈠紩锛屾嬀鍙栧悗鐗╁搧娑堝け闇�璁板綍涓嬪仛琛ㄧ幇
public Queue<int> waitEquipOP = new Queue<int>(); //绛夊緟鎿嶄綔鐨勮澶囷紝闇�瑕佸拰UI浜や簰纭 涓嶅惈鍒嗚В
+ public List<int> lastDropIndexs = new List<int>(); //涓婁竴娆℃帀钀界墿鍝佺储寮�
+
public override void Init()
{
DTCA814_tagMCMakeItemAnswer.MakeItemAnswerEvent += OnEquipResult;
@@ -60,7 +62,9 @@
selectFloorEquip = null;
waitEquipOP.Clear();
lastShowEquipIndex = -1;
+ lastDropIndexs.Clear();
}
+
public static int GetItemServerEquipPlace(int itemId)
{
@@ -81,6 +85,9 @@
void OnDropEvent(string guid, BattleDrops drops, Action action)
{
+ if (!string.IsNullOrEmpty(guid))
+ return;
+ lastDropIndexs = drops.dropItemPackIndex;
NotifyItemDrop(drops.dropItemPackIndex, drops.rectTransform);
action?.Invoke();
}
diff --git a/Main/System/Equip/FloorItemCell.cs b/Main/System/Equip/FloorItemCell.cs
index 9264178..6706b9a 100644
--- a/Main/System/Equip/FloorItemCell.cs
+++ b/Main/System/Equip/FloorItemCell.cs
@@ -45,19 +45,9 @@
uieff.Play();
}
- if (rect == null)
- {
- if (startPos == new Vector2(10000, 10000))
- {
- //閬垮厤澶氭闅忔満
- startPos = new Vector2(UnityEngine.Random.Range(-150, 150), UnityEngine.Random.Range(-150, 150));
- }
- }
- else
- {
- //startPos鐨勪綅缃繘琛岃寖鍥撮殢鏈�
- startPos = new Vector2(rect.localPosition.x + UnityEngine.Random.Range(-60, 60), rect.localPosition.y + UnityEngine.Random.Range(-60, 60));
- }
+
+ this.transform.position = rect.position;
+ startPos = new Vector2(transform.localPosition.x + UnityEngine.Random.Range(-30, 30), transform.localPosition.y + UnityEngine.Random.Range(50, 100));
if (isAnimate)
{
isPlaying = true;
diff --git a/Main/System/Equip/ItemsOnFloor.cs b/Main/System/Equip/ItemsOnFloor.cs
index f3f8555..12e456e 100644
--- a/Main/System/Equip/ItemsOnFloor.cs
+++ b/Main/System/Equip/ItemsOnFloor.cs
@@ -11,6 +11,7 @@
[SerializeField] RectTransform floorUI; //鎺夎惤閬撳叿鏄剧ず鐨勭埗绫�
[SerializeField] FloorItemCell floorItemCell; //闈炶澶囨樉绀虹粍浠�
[SerializeField] MoneyMoveByPath moneyMoveByPathCell; //鎺夎惤鐗╅噾閽�
+ [SerializeField] RectTransform defaultDropRect; //榛樿鎺夎惤浣嶇疆
FloorItemCell[] floorItemCells = new FloorItemCell[20]; //鍖呭惈闈炶澶囩殑鎴樺埄鍝佹帀钀�
MoneyMoveByPath[] moneyMoveByPathArr = new MoneyMoveByPath[20]; //鎺夎惤璐у竵锛岄噾閽憋紝缁忛獙绛�
@@ -40,7 +41,7 @@
private void OnEnable()
{
//涓荤晫闈㈡墦寮�鍜屾樉闅愰兘瑕佸埛鏂�
- Display();
+ Display(true, EquipModel.Instance.lastDropIndexs);
EquipModel.Instance.OnItemDropEvent += NotifyPlayItemDrop;
PackManager.Instance.DeleteItemEvent += DeleteDropItem;
}
@@ -98,14 +99,14 @@
item.SetActive(false);
continue;
}
- if (indexList != null && !indexList.Contains(i))
+ if (!indexList.IsNullOrEmpty() && !indexList.Contains(i))
{
//涓嶅共娑夊叾浠栨帀钀界墿鍝�
continue;
}
item.SetActive(true);
- item.Display(i, isAnimate, rect);
+ item.Display(i, isAnimate, rect == null ? defaultDropRect : rect);
}
}
diff --git a/Main/System/Main/AutoFightModel.cs b/Main/System/Main/AutoFightModel.cs
index 8e9a422..1cf1356 100644
--- a/Main/System/Main/AutoFightModel.cs
+++ b/Main/System/Main/AutoFightModel.cs
@@ -75,7 +75,6 @@
public override void Init()
{
ParseConfig();
- DTC0403_tagPlayerLoginLoadOK.playerLoginOkEvent += OnPlayerLoginOk;
DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent += BeforePlayerInit;
BattleManager.Instance.onBattleFieldCreate += OnCreateBattleField;
EventBroadcast.Instance.AddListener<string, SkillConfig, TeamHero>(EventName.BATTLE_CAST_SKILL, OnSkillCast);
@@ -84,7 +83,6 @@
public override void Release()
{
- DTC0403_tagPlayerLoginLoadOK.playerLoginOkEvent -= OnPlayerLoginOk;
BattleManager.Instance.onBattleFieldCreate -= OnCreateBattleField;
DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent -= BeforePlayerInit;
@@ -99,10 +97,6 @@
maxCost = autoCostWithBlessLV.Length;
}
- void OnPlayerLoginOk()
- {
- //鐧诲綍鏃舵湁瑁呭鐨勫鐞�
- }
void BeforePlayerInit()
{
diff --git a/Main/System/Main/HomeWin.cs b/Main/System/Main/HomeWin.cs
index 7c71a7f..4b6d0cd 100644
--- a/Main/System/Main/HomeWin.cs
+++ b/Main/System/Main/HomeWin.cs
@@ -72,25 +72,6 @@
autoBtn.AddListener(() =>
{
- // //娴嬭瘯鎷惧彇鎵�鏈夌墿鍝�
- // var items = PackManager.Instance.GetItems(PackType.DropItem);
- // List<int> dropindexs = new List<int>();
- // for (int i = 0; i < items.Count; i++)
- // {
- // var item = items[i];
- // if (dropindexs.Count > 5)
- // {
- // EquipModel.Instance.NotifyItemDrop(dropindexs, BattleManager.Instance.storyBattleField.battleRootNode.blueTeamNodeList[Random.Range(0, 5)].GetComponent<RectTransform>());
- // dropindexs.Clear();
- // }
-
- // dropindexs.Add(item.gridIndex);
- // }
- // if (dropindexs.Count > 0)
- // {
- // EquipModel.Instance.NotifyItemDrop(dropindexs, BattleManager.Instance.storyBattleField.battleRootNode.blueTeamNodeList[Random.Range(0, 5)].GetComponent<RectTransform>());
- // dropindexs.Clear();
- // }
if (!FuncOpen.Instance.IsFuncOpen(108, true))
{
return;
--
Gitblit v1.8.0