From c6ea64fb4e4755c4290bf5228d8cd463bc81c21f Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期四, 13 十一月 2025 21:42:16 +0800
Subject: [PATCH] 0312 英雄之路红点受限每日任务开启;增加检测装备输出
---
Main/System/Battle/BattleUtility.cs | 436 ++++++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 355 insertions(+), 81 deletions(-)
diff --git a/Main/System/Battle/BattleUtility.cs b/Main/System/Battle/BattleUtility.cs
index 4a2c228..091b9fe 100644
--- a/Main/System/Battle/BattleUtility.cs
+++ b/Main/System/Battle/BattleUtility.cs
@@ -4,7 +4,7 @@
using UnityEngine.UI;
using DG.Tweening;
using DG.Tweening.Core;
-
+using System.Linq;
public static class BattleUtility
{
@@ -23,7 +23,7 @@
var battleField = BattleManager.Instance.storyBattleField;
if (battleField == null)
{
- BattleDebug.LogError("BattleManager.storyBattleField 鏈垵濮嬪寲锛�");
+ Debug.LogError("BattleManager.storyBattleField 鏈垵濮嬪寲锛�");
return;
}
@@ -61,11 +61,14 @@
public static TweenerCore<Vector2, Vector2, DG.Tweening.Plugins.Options.VectorOptions> MoveToTarget(
- RectTransform transform, RectTransform target, Vector2 offset, float duration, Action onComplete = null)
+ RectTransform transform, RectTransform target, Vector2 offset, Action onComplete = null, float speed = 500f)
{
+ // 鑾峰彇鐩爣鑺傜偣鐨勪笘鐣屽潗鏍囷紙閿氱偣浣嶇疆锛�
+ Vector3 worldPos = target.position;
- // 鑾峰彇鐩爣鑺傜偣鐨勪笘鐣屽潗鏍囷紙涓績鐐癸級
- Vector3 worldPos = target.TransformPoint(target.rect.center + offset);
+ // 濡傛灉闇�瑕佸姞 offset锛岄渶鑰冭檻 scale
+ Vector3 offsetWorld = target.TransformVector(offset);
+ worldPos += offsetWorld;
RectTransform canvasRect = transform.parent as RectTransform;
@@ -77,7 +80,8 @@
null,
out localPoint);
- // 鍒涘缓RawImage
+ float distance = Vector2.Distance(transform.anchoredPosition, localPoint);
+ float duration = distance / speed;
var tween = transform.DOAnchorPos(localPoint, duration).SetEase(Ease.Linear);
tween.onComplete += () =>
@@ -85,45 +89,17 @@
onComplete?.Invoke();
};
- // MarkStartAndEnd(transform as RectTransform, target);
-
-
- // // 1. 鑾峰彇鐩爣鐨勪笘鐣屽潗鏍囷紙鍔� offset锛�
- // Vector3 targetWorldPos = target.TransformPoint(target.anchoredPosition + offset);
-
- // // 2. 鑾峰彇婧愯妭鐐圭殑 parent
- // RectTransform sourceParent = transform.parent as RectTransform;
- // if (sourceParent == null)
- // {
- // BattleDebug.LogError("婧愯妭鐐规病鏈夌埗鑺傜偣锛屾棤娉曡浆鎹㈠潗鏍囷紒");
- // return null;
- // }
-
- // // 3. 鎶婄洰鏍囦笘鐣屽潗鏍囪浆鎹㈠埌婧� parent 鐨勬湰鍦板潗鏍�
- // Vector2 targetAnchoredPos;
- // RectTransformUtility.ScreenPointToLocalPointInRectangle(
- // sourceParent,
- // RectTransformUtility.WorldToScreenPoint(CameraManager.uiCamera, targetWorldPos),
- // CameraManager.uiCamera,
- // out targetAnchoredPos);
-
- // // 4. DOTween 绉诲姩
- // var tween = transform.DOAnchorPos(targetAnchoredPos, duration).SetEase(Ease.Linear);
- // tween.onComplete += () =>
- // {
- // onComplete?.Invoke();
- // };
-
return tween;
}
public static string DisplayDamageNum(long num, int attackType)
{
+ var config = DamageNumConfig.Get(attackType);
var basePowerStr = UIHelper.ReplaceLargeArtNum(num);
var result = string.Empty;
for (int i = 0; i < basePowerStr.Length; i++)
{
- var numChar = (char)GetDamageNumKey((DamageType)attackType, basePowerStr[i]);
+ var numChar = (char)GetDamageNumKey(config, basePowerStr[i]);
if (numChar > 0)
{
result += numChar;
@@ -132,35 +108,318 @@
return result;
}
- public static int GetDamageNumKey(DamageType damageType, int _num)
+ public static string DisplayDamageNum(BattleDmg damage)
{
- var config = DamageNumConfig.Get(damageType.ToString());
- //.鐨凙SCII鐮佹槸46
- if (_num == 46)
+ var config = DamageNumConfig.Get(damage.attackType);
+
+ string result = string.Empty;
+
+ // 濡傛灉鏄棯閬� 鍒欏彧鏄剧ず闂伩涓や釜瀛�
+ if (damage.IsType(DamageType.Dodge))
{
- return config.nums[10];
+ result += (char)config.prefix;
}
- //k鐨凙SCII鐮佹槸107
- else if (_num == 107)
+ else
{
- return config.nums[11];
+ result = ConvertToArtFont(config, damage.damage);
}
- //m鐨凙SCII鐮佹槸109
- else if (_num == 109)
+
+ return result;
+ }
+
+ public static string ConvertToArtFont(DamageNumConfig config, float _num)
+ {
+ var stringBuild = new System.Text.StringBuilder();
+
+ if (0 != config.plus)
+ stringBuild.Append((char)config.plus);
+ if (0 != config.prefix)
+ stringBuild.Append((char)config.prefix);
+
+ var chars = UIHelper.ReplaceLargeArtNum(_num);
+ for (var i = 0; i < chars.Length; i++)
{
- return config.nums[12];
+ int numChar = GetDamageNumKey(config, (int)chars[i]);
+
+ if (numChar > 0)
+ {
+ stringBuild.Append((char)numChar);
+ }
}
- //b鐨凙SCII鐮佹槸98
- else if (_num == 98)
+
+ return stringBuild.ToString();
+ }
+
+ public static int GetMainTargetPositionNum(BattleObject caster, List<HB427_tagSCUseSkill.tagSCUseSkillHurt> targetList, SkillConfig skillConfig)
+ {
+ int returnIndex = 0;
+ // 鏍规嵁鏁屾柟琛�閲忛樀钀� 瀛樻椿浜烘暟鏉ラ�夋嫨
+ BattleCamp battleCamp = skillConfig.TagFriendly != 0 ? caster.Camp : caster.GetEnemyCamp();
+ List<BattleObject> targetObjList = caster.battleField.battleObjMgr.GetBattleObjList(battleCamp);
+
+
+ // 鐬勫噯鐨勭洰鏍囪寖鍥达紝濡傛灉鐩爣涓暟涓�0鍒欎负鑼冨洿鍐呭叏閮�
+ // 0 鍏ㄩ儴鑼冨洿
+ // 1 瀵逛綅锛岄粯璁ゅ彧閫�1涓�
+ // 2 鍓嶆帓
+ // 3 鍚庢帓
+ // 4 绾垫帓锛屾寜瀵逛綅瑙勫垯閫夋嫨绾垫帓
+ // 5 鑷繁锛岄粯璁ゅ彧閫夎嚜宸�
+
+ switch (skillConfig.TagAim)
{
- return config.nums[13];
+ case 0:
+ // 0 鍏ㄩ儴鑼冨洿锛�
+ // 鑻agCount鐩爣涓暟涓�0鎴�6锛屾牴鎹甌agFriendly鏁屾垜閰嶇疆锛屼唬琛ㄤ綔鐢ㄤ簬鏁屾柟鍏ㄤ綋鎴栨垜鏂瑰叏浣擄紝姝ゆ椂涓荤洰鏍囦负鏁屾垜绔欎綅涓殑2鍙蜂綅缃�
+ // 鑻agCount鐩爣涓暟涓�1~5涓紝鏍规嵁TagFriendly鏁屾垜+TagAffect缁嗗垎鐩爣閰嶇疆锛屼唬琛ㄩ殢鏈轰綔鐢ㄤ簬鏁屾柟鎴栨垜鏂箈涓灏嗭紝绗竴涓负涓荤洰鏍�
+ if (skillConfig.TagCount == 0 || skillConfig.TagCount == 6)
+ {
+ returnIndex = 1;
+ }
+ else
+ {
+ uint objId = targetList[0].ObjID;
+ BattleObject target = caster.battleField.battleObjMgr.GetBattleObject((int)objId);
+ return target.teamHero.positionNum;
+ }
+ break;
+ case 1:
+ // 1 瀵逛綅锛�
+ // 榛樿鍙��1涓紝瀵逛綅瑙勫垯涓篈1浼樺厛鎵揃1锛孉2浼樺厛鎵揃2锛孉3浼樺厛鎵揃3锛屽浣嶇洰鏍囨浜℃椂锛屼紭鍏堝墠鎺掞紝姣斿B2宸茬粡姝讳骸锛岄偅涔圓2灏嗕紭鍏堟墦B
+ if (targetList.Count > 0)
+ {
+ BattleObject battleObject = caster.battleField.battleObjMgr.GetBattleObject((int)targetList[0].ObjID);
+ if (battleObject != null)
+ {
+ returnIndex = battleObject.teamHero.positionNum;
+ }
+ else
+ {
+ Debug.LogError("GetMainTargetPositionNum 鎵句笉鍒扮洰鏍� ObjId : " + targetList[0].ObjID);
+ returnIndex = 0;
+ }
+ }
+ else
+ {
+ Debug.LogError("targetList 鐩爣鍒楄〃涓虹┖");
+ returnIndex = 0;
+ }
+ break;
+ case 2:
+ // 1銆�2銆�3鍙蜂綅涓哄墠鎺掞紝榛樿2鍙蜂綅缃负涓荤洰鏍囷紝褰�1銆�2銆�3鍙蜂綅缃鑹插叏閮ㄦ浜★紝鍓嶆帓灏嗘浛鎹㈡垚鍚庢帓锛�5鍙蜂綅缃彉鏇翠负涓荤洰鏍囷紝
+ // 鑻ラ厤缃甌agAffect缁嗗垎鐩爣锛屼笖浜烘暟灏忎簬3锛屽垯鎵�鏈夎閫夋嫨鐩爣鍧囦负涓荤洰鏍囷紙鏂芥硶浣嶇疆浼氱敤瀹㈡埛绔厤缃級
+ // 锛堝嵆鍓嶆帓榛樿2鍙蜂綅鎴�5鍙蜂綅瑙勫垯鏃犳晥锛屽疄闄呬綔鐢ㄥ灏戜汉灏辨槸澶氬皯涓富鐩爣锛� (YL : TagAffect>0 && TagAffect != 3灏辨槸鍏ㄤ綋閮芥槸涓荤洰鏍� 鍚庢帓涓�鏍� )
+ if (skillConfig.TagAffect != 0 || skillConfig.TagCount < 3)
+ {
+ uint objId = targetList[0].ObjID;
+ BattleObject target = caster.battleField.battleObjMgr.GetBattleObject((int)objId);
+ returnIndex = target.teamHero.positionNum;
+ }
+ else
+ {
+ // 鐪嬬湅瀵归潰鍓嶆帓鏄惁閮芥椿鐫�
+ List<BattleObject> front = new List<BattleObject>(from bo in targetObjList where !bo.IsDead() && bo.teamHero.positionNum < 3 select bo);
+ if (front.Count > 0)
+ {
+ returnIndex = 1;
+ }
+ else
+ {
+ returnIndex = 4;
+ }
+ }
+ break;
+ case 3:
+ if (skillConfig.TagAffect != 0 || skillConfig.TagCount < 3)
+ {
+ uint objId = targetList[0].ObjID;
+ BattleObject target = caster.battleField.battleObjMgr.GetBattleObject((int)objId);
+ returnIndex = target.teamHero.positionNum;
+ }
+ else
+ {
+ // 鐪嬬湅瀵归潰鍚庢帓鏄惁閮芥椿鐫�
+ List<BattleObject> back = new List<BattleObject>(from bo in targetObjList where !bo.IsDead() && bo.teamHero.positionNum >= 3 select bo);
+ if (back.Count > 0)
+ {
+ returnIndex = 4;
+ }
+ else
+ {
+ returnIndex = 1;
+ }
+ }
+ break;
+ // 4 绾垫帓锛屾寜瀵逛綅瑙勫垯閫夋嫨绾垫帓
+ case 4:
+ returnIndex = int.MaxValue;
+ for (int i = 0; i < targetList.Count; i++)
+ {
+ var hurt = targetList[i];
+ BattleObject target = caster.battleField.battleObjMgr.GetBattleObject((int)hurt.ObjID);
+ if (target == null)
+ {
+ Debug.LogError("GetMainTargetPositionNum 鎵句笉鍒扮洰鏍� ObjId : " + hurt.ObjID);
+ continue;
+ }
+ else
+ {
+ returnIndex = Mathf.Min(returnIndex, target.teamHero.positionNum);
+ }
+ }
+ break;
+ // 5 鑷繁锛岄粯璁ゅ彧閫夎嚜宸�
+ case 5:
+ returnIndex = caster.teamHero.positionNum;
+ break;
+ default:
+ Debug.LogError("鏆傛椂涓嶆敮鎸佸叾浠栫殑鏂瑰紡閫夋嫨涓荤洰鏍� 鏈夐渶姹傝鑱旂郴绛栧垝 鎶�鑳絠d:" + skillConfig.SkillID + " TagAim " + skillConfig.TagAim);
+ returnIndex = 0;
+ break;
}
- //t鐨凙SCII鐮佹槸116
- else if (_num == 116)
+
+ return returnIndex;
+ }
+
+ public static int GetDamageNumKey(DamageNumConfig config, int _num)
+ {
+ if (_num == 46) return config.nums[10]; // '.'
+ else if (_num == 107) return config.nums[11]; // 'k'
+ else if (_num == 109) return config.nums[12]; // 'm'
+ else if (_num == 98) return config.nums[13]; // 'b'
+ else if (_num == 116) return config.nums[14]; // 't'
+ int targetNum = _num - 48;
+ if (targetNum >= config.nums.Length || targetNum < 0)
{
- return config.nums[14];
+ Debug.LogError("damage config " + config.TypeID + " _num is " + _num + " out of range");
+ return _num;
}
return config.nums[_num - 48];
+ }
+
+ public static bool IsHealing(HB427_tagSCUseSkill.tagSCUseSkillHurt hurt)
+ {
+ return ((hurt.AttackTypes & (int)ServerDamageType.Recovery) != 0 ||
+ (hurt.AttackTypes & (int)ServerDamageType.DamageReverse) != 0) &&
+ (hurt.AttackTypes & (int)ServerDamageType.Damage) == 0 &&
+ (hurt.AttackTypes & (int)ServerDamageType.Realdamage) == 0 &&
+ (hurt.AttackTypes & (int)ServerDamageType.SuckHpReverse) == 0 &&
+ (hurt.AttackTypes & (int)ServerDamageType.SelfHarm) == 0;
+ }
+
+ /// <summary>
+ /// 灏嗘暣涓妧鑳界殑鎬讳激瀹虫寜鍛戒腑娆℃暟鍜屽垎娈甸厤缃垎閰�
+ /// </summary>
+ /// <param name="damageDivideList">鏁翠釜鎶�鑳界殑鎵�鏈夊懡涓垎娈甸厤缃�</param>
+ /// <param name="hitIndex">褰撳墠鏄鍑犲嚮(浠�0寮�濮�)</param>
+ /// <param name="totalDamage">鏁翠釜鎶�鑳界殑鎬讳激瀹�</param>
+ /// <returns>杩欎竴鍑诲唴姣忎竴娈电殑浼ゅ鍊煎垪琛�</returns>
+ public static List<long> DivideDamageToList(int[][] damageDivideList, int hitIndex, long totalDamage)
+ {
+ if (totalDamage <= 0)
+ {
+ return new List<long>{};
+ }
+
+ if (damageDivideList == null || damageDivideList.Length == 0)
+ {
+ Debug.LogError("damageDivideList 涓虹┖鎴栭暱搴︿负0");
+ return new List<long> { totalDamage };
+ }
+
+ if (hitIndex < 0 || hitIndex >= damageDivideList.Length)
+ {
+ Debug.LogError($"hitIndex={hitIndex} 瓒呭嚭鑼冨洿, damageDivideList.Length={damageDivideList.Length}");
+ return new List<long> { totalDamage };
+ }
+
+ int[] currentHitDivide = damageDivideList[hitIndex];
+ if (currentHitDivide == null || currentHitDivide.Length == 0)
+ {
+ Debug.LogError($"damageDivide[{hitIndex}] 涓虹┖鎴栭暱搴︿负0");
+ return new List<long> { totalDamage };
+ }
+
+ // ============ 绗竴姝�: 璁$畻姣忎竴鍑诲簲璇ラ�犳垚鐨勪激瀹� ============
+ // 鍏堣绠楁墍鏈夊嚮鐨勬�绘潈閲�
+ int totalWeight = 0;
+ for (int i = 0; i < damageDivideList.Length; i++)
+ {
+ if (damageDivideList[i] != null && damageDivideList[i].Length > 0)
+ {
+ // 姣忎竴鍑荤殑鏉冮噸鏄叾鎵�鏈夊垎娈典箣鍜�
+ for (int j = 0; j < damageDivideList[i].Length; j++)
+ {
+ totalWeight += damageDivideList[i][j];
+ }
+ }
+ }
+
+ if (totalWeight == 0)
+ {
+ Debug.LogError("totalWeight 涓� 0");
+ return new List<long> { totalDamage };
+ }
+
+ // 璁$畻褰撳墠杩欎竴鍑荤殑鏉冮噸
+ int currentHitWeight = 0;
+ for (int i = 0; i < currentHitDivide.Length; i++)
+ {
+ currentHitWeight += currentHitDivide[i];
+ }
+
+ // 璁$畻褰撳墠杩欎竴鍑诲簲璇ラ�犳垚鐨勬�讳激瀹�
+ long currentHitTotalDamage;
+ bool isLastHit = hitIndex >= damageDivideList.Length - 1;
+
+ if (isLastHit)
+ {
+ // 鏈�鍚庝竴鍑�: 璁$畻鍓嶉潰鎵�鏈夊嚮宸茬粡閫犳垚鐨勪激瀹�,鍓╀綑鐨勫叏閮ㄧ粰鏈�鍚庝竴鍑�
+ long previousHitsDamage = 0;
+ for (int i = 0; i < hitIndex; i++)
+ {
+ if (damageDivideList[i] != null)
+ {
+ int hitWeight = 0;
+ for (int j = 0; j < damageDivideList[i].Length; j++)
+ {
+ hitWeight += damageDivideList[i][j];
+ }
+ previousHitsDamage += (long)((float)totalDamage * (float)hitWeight / (float)totalWeight);
+ }
+ }
+ currentHitTotalDamage = totalDamage - previousHitsDamage;
+ }
+ else
+ {
+ // 闈炴渶鍚庝竴鍑�: 鎸夋潈閲嶈绠�
+ currentHitTotalDamage = (long)((float)totalDamage * (float)currentHitWeight / (float)totalWeight);
+ }
+
+ // ============ 绗簩姝�: 灏嗗綋鍓嶈繖涓�鍑荤殑浼ゅ鍒嗛厤鍒板悇鍒嗘 ============
+ List<long> fixedDamageList = new List<long>();
+ long accumulatedDamage = 0;
+
+ for (int i = 0; i < currentHitDivide.Length; i++)
+ {
+ long damage;
+
+ // 褰撳墠鍑荤殑鏈�鍚庝竴娈佃繘琛岃宸ˉ鍋�
+ if (i == currentHitDivide.Length - 1)
+ {
+ damage = currentHitTotalDamage - accumulatedDamage;
+ }
+ else
+ {
+ // 鎸夊綋鍓嶅嚮鐨勬潈閲嶅垎閰�
+ damage = (long)((float)currentHitTotalDamage * (float)currentHitDivide[i] / (float)currentHitWeight);
+ accumulatedDamage += damage;
+ }
+
+ fixedDamageList.Add(damage);
+ }
+
+ return fixedDamageList;
}
/// <summary>
@@ -168,26 +427,52 @@
/// </summary>
public static List<long> DivideDamageToList(int[] damageDivide, long totalDamage)
{
- List<long> fixedDamageList = new List<long>();
- long assigned = 0;
- int count = damageDivide.Length;
+ if (damageDivide == null || damageDivide.Length == 0)
+ {
+ Debug.LogError("damageDivide 涓虹┖鎴栭暱搴︿负0");
+ return new List<long> { totalDamage };
+ }
- for (int i = 0; i < count; i++)
+ List<long> fixedDamageList = new List<long>();
+ long accumulatedDamage = 0; // 绱宸插垎閰嶇殑浼ゅ
+
+ for (int i = 0; i < damageDivide.Length; i++)
{
long damage;
- if (i == count - 1)
+
+ // 鏈�鍚庝竴娆″垎閰嶏細鐢ㄦ�讳激瀹冲噺鍘诲凡鍒嗛厤鐨勪激瀹筹紝纭繚鎬诲拰绮剧‘
+ if (i == damageDivide.Length - 1)
{
- // 鏈�鍚庝竴涓垎閰嶉」淇涓哄墿浣�
- damage = totalDamage - assigned;
+ damage = totalDamage - accumulatedDamage;
}
else
{
- damage = (totalDamage * damageDivide[i] + 5000) / 10000; // 鍥涜垗浜斿叆
- assigned += damage;
+ // 璁$畻褰撳墠鍒嗘浼ゅ锛堝悜涓嬪彇鏁达級
+ damage = (long)((float)totalDamage * (float)damageDivide[i] / 10000f);
+ accumulatedDamage += damage;
}
+
fixedDamageList.Add(damage);
}
+
return fixedDamageList;
+ }
+
+ public static HB419_tagSCObjHPRefresh FindObjHPRefreshPack(List<GameNetPackBasic> packList)
+ {
+ for (int i = 0; i < packList.Count; i++)
+ {
+ var pack = packList[i];
+ if (pack is HB419_tagSCObjHPRefresh hpRefreshPack)
+ {
+ return hpRefreshPack;
+ }
+ else if (pack is CustomHB426CombinePack)
+ {
+ break;
+ }
+ }
+ return null;
}
public static List<HB422_tagMCTurnFightObjDead> FindDeadPack(List<GameNetPackBasic> packList)
@@ -197,47 +482,36 @@
{
var pack = packList[i];
// 瀵绘壘姝讳骸鍖� 鎵惧埌姝讳骸鍖呬箣鍚庤鎵炬帀钀藉寘 涓嶈兘瓒呰繃鎶�鑳藉寘
- if (pack is HB422_tagMCTurnFightObjDead)
+ if (pack is HB422_tagMCTurnFightObjDead deadPack)
{
- var deadPack = pack as HB422_tagMCTurnFightObjDead;
deadPacks.Add(deadPack);
}
else if (pack is CustomHB426CombinePack)
{
- // 鎵炬浜″寘涓嶈瓒婅繃鎶�鑳藉寘
- var combinePack = pack as CustomHB426CombinePack;
- if (combinePack.startTag.Tag.StartsWith("Skill_"))
- {
- break;
- }
+ break;
}
}
+ // Debug.LogError("find dead pack " + deadPacks.Count);
return deadPacks;
}
public static List<HB423_tagMCTurnFightObjReborn> FindRebornPack(List<GameNetPackBasic> packList)
{
- List<HB423_tagMCTurnFightObjReborn> rebornPack = new List<HB423_tagMCTurnFightObjReborn>();
+ List<HB423_tagMCTurnFightObjReborn> rebornPackList = new List<HB423_tagMCTurnFightObjReborn>();
for (int i = 0; i < packList.Count; i++)
{
var pack = packList[i];
// 瀵绘壘姝讳骸鍖� 鎵惧埌姝讳骸鍖呬箣鍚庤鎵炬帀钀藉寘 涓嶈兘瓒呰繃鎶�鑳藉寘
- if (pack is HB423_tagMCTurnFightObjReborn)
+ if (pack is HB423_tagMCTurnFightObjReborn rebornPack)
{
- var deadPack = pack as HB423_tagMCTurnFightObjReborn;
- rebornPack.Add(deadPack);
+ rebornPackList.Add(rebornPack);
}
else if (pack is CustomHB426CombinePack)
{
- // 鎵炬浜″寘涓嶈瓒婅繃鎶�鑳藉寘
- var combinePack = pack as CustomHB426CombinePack;
- if (combinePack.startTag.Tag.StartsWith("Skill_"))
- {
- break;
- }
+ break;
}
}
- return rebornPack;
+ return rebornPackList;
}
}
\ No newline at end of file
--
Gitblit v1.8.0