From 7bd85eb8d0b9664f4645534b42c82ab0f32754d3 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期五, 15 八月 2025 16:30:24 +0800
Subject: [PATCH] 50 【主界面】核心主体 - 装备部分掉落分解穿戴
---
Main/System/Equip/EquipTipWin.cs.meta | 2
Main/Core/NetworkPackage/ClientPack/CB4_FightDefine/CB415_tagCSMainDropItemOP.cs | 42
Main/System/Main/AutoFightModel.cs.meta | 2
Main/System/KnapSack/New/CommonItemBaisc.cs | 16
Main/System/KnapSack/Logic/ItemModel.cs | 2
Main/Core/NetworkPackage/DTCFile/ServerPack/HB1_Role/DTCB123_tagSCDropBootyInfo.cs.meta | 2
Main/Core/NetworkPackage/ServerPack/HA8_Item/HA814_tagMCMakeItemAnswer.cs | 21
Main/System/Tip/ConfirmCancel.cs | 4
Main/Utility/EnumHelper.cs | 56
Main/System/Equip/FloorItemCell.cs.meta | 2
Main/System/Main/FightPowerManager.cs | 236 +++++
Main/Core/NetworkPackage/DTCFile/ServerPack/HA8_Item/DTCA814_tagMCMakeItemAnswer.cs | 15
Main/Core/NetworkPackage/ServerPack/HB1_Role/HB123_tagSCDropBootyInfo.cs | 29
Main/System/Equip/EquipCell.cs.meta | 2
Main/System/Equip/EquipExchangeWin.cs.meta | 2
Main/System/Equip/EquipCell.cs | 79 +
Main/System/Main/MoneyMoveByPath.cs.meta | 2
Main/System/Main/EquipOnMainUI.cs | 144 +++
Main/System/Equip/EquipModel.cs | 338 ++++++
Main/Core/NetworkPackage/DTCFile/ServerPack/H01_System/DTC0102_tagCDBPlayer.cs | 2
Main/System/Equip/EquipExchangeCell.cs.meta | 2
Main/System/Main/MoneyMoveByPath.cs | 115 ++
Main/Config/ConfigManager.cs | 3
Main/Component/UI/Effect/UIEffectPlayer.cs | 18
Main/System/Equip/FloorItemCell.cs | 101 ++
Main/System/Equip/EquipExchangeCell.cs | 332 +++++++
Main/System/KnapSack/Logic/ItemLogicUtility.cs | 138 ---
Main/Component/UI/Core/OutlineEx.cs | 12
Main/System/Equip/EquipTipWin.cs | 125 ++
Main/System/GeneralConfig/GeneralDefine.cs | 14
Main/System/Hero/HeroManager.cs | 2
Main/System/Main/HomeWin.cs | 36
Main/Core/NetworkPackage/DTCFile/ServerPack/HB1_Role/DTCB123_tagSCDropBootyInfo.cs | 11
Main/Core/NetworkPackage/ServerPack/HA8_Item/HA814_tagMCMakeItemAnswer.cs.meta | 2
Main/System/KnapSack/Logic/SinglePack.cs | 8
Main/Component/UI/Effect/EffectPlayer.cs | 16
Main/Config/ConfigParse.cs | 20
Main/System/Message/HrefAnalysis.cs | 2
Main/System/Equip/EquipExchangeWin.cs | 78 +
Main/System/Main/AutoFightModel.cs | 26
Main/System/KnapSack/PackManager.cs | 38
Main/Core/NetworkPackage/DTCFile/ServerPack/HA8_Item/DTCA814_tagMCMakeItemAnswer.cs.meta | 2
Main/System/Main/EquipOnMainUI.cs.meta | 2
Main/System/ItemTip/ItemTipUtility.cs | 13
Main/System/Dungeon/DungeonData.cs | 4
/dev/null | 12
Main/Utility/UIHelper.cs | 357 +++----
Main/Config/Configs/MainChapterConfig.cs | 5
Main/Core/NetworkPackage/DataToCtl/PackageRegedit.cs | 1
Main/System/Equip/ItemsOnFloor.cs | 118 ++
Main/Core/NetworkPackage/ServerPack/HB1_Role/HB123_tagSCDropBootyInfo.cs.meta | 2
Main/System/Equip/ItemsOnFloor.cs.meta | 2
Main/System/Main/FightPowerManager.cs.meta | 0
53 files changed, 2,083 insertions(+), 532 deletions(-)
diff --git a/Main/Component/UI/Core/OutlineEx.cs b/Main/Component/UI/Core/OutlineEx.cs
index e1ee362..2deb388 100644
--- a/Main/Component/UI/Core/OutlineEx.cs
+++ b/Main/Component/UI/Core/OutlineEx.cs
@@ -9,7 +9,16 @@
public class OutlineEx : BaseMeshEffect
{
[Header("鏂皊hader鎻忚竟")]
- public Color OutlineColor = new Color(0, 0, 0, 0.5f);// Color.black;
+ public Color m_OutlineColor= new Color(0, 0, 0, 0.5f);// Color.black;
+ public Color OutlineColor
+ {
+ get { return m_OutlineColor; }
+ set
+ {
+ m_OutlineColor = value;
+ this._Refresh();
+ }
+ }
QualityTextColType m_ColorType = QualityTextColType.None;
public QualityTextColType colorType
@@ -21,7 +30,6 @@
{
m_ColorType = value;
OutlineColor = UIHelper.GetUIOutlineColor(value);
- this._Refresh();
}
}
}
diff --git a/Main/Component/UI/Effect/EffectPlayer.cs b/Main/Component/UI/Effect/EffectPlayer.cs
index e90c9f8..a86d3b7 100644
--- a/Main/Component/UI/Effect/EffectPlayer.cs
+++ b/Main/Component/UI/Effect/EffectPlayer.cs
@@ -51,6 +51,7 @@
protected EffectPenetrationBlocker blocker = null;
protected bool isInit = false;
+ protected bool isPlaying = false;
protected List<ParticleSystem> particleList = new List<ParticleSystem>();
@@ -69,8 +70,11 @@
{
if (spineComp != null)
{
- //闅愯棌锛屼細鏈夐潤鎬佹樉绀洪棶棰�
- spineComp.enabled = false;
+ if (!isPlaying)
+ {
+ //闅愯棌锛屼細鏈夐潤鎬佹樉绀洪棶棰�
+ spineComp.enabled = false;
+ }
}
}
@@ -127,9 +131,12 @@
}
effectTarget = null;
}
-
+ if (spineComp != null)
+ {
+ spineComp.enabled = false;
+ }
isInit = false;
-
+ isPlaying = false;
Clear();
onComplete?.Invoke();
}
@@ -271,6 +278,7 @@
if (isReleaseImmediately)
{
spineComp.enabled = false;
+ isPlaying = false;
Stop();
}
}
diff --git a/Main/Component/UI/Effect/UIEffectPlayer.cs b/Main/Component/UI/Effect/UIEffectPlayer.cs
index cfae60e..c71396f 100644
--- a/Main/Component/UI/Effect/UIEffectPlayer.cs
+++ b/Main/Component/UI/Effect/UIEffectPlayer.cs
@@ -22,6 +22,8 @@
int playSpineAnimIndex = -1; //鎾斁spine鐗规晥鍔ㄧ敾绱㈠紩,
+
+
protected override void OnEnable()
{
playSpineAnimIndex = -1;
@@ -31,13 +33,17 @@
}
else if (spineComp != null)
{
- //闅愯棌锛屼細鏈夐潤鎬佹樉绀洪棶棰�
- spineComp.enabled = false;
+ if (!isPlaying)
+ {
+ //闅愯棌锛屼細鏈夐潤鎬佹樉绀洪棶棰�
+ spineComp.enabled = false;
+ }
}
}
public override void Play(bool showLog = true)
{
+ isPlaying = true;
if (!isInit)
{
InitComponent(showLog);
@@ -51,7 +57,7 @@
this.gameObject.SetActive(true);
}
if (effectConfig.isSpine != 0)
- {
+ {
PlayerTheSpineAnim();
}
return;
@@ -80,7 +86,7 @@
PlaySpineEffect();
}
else
- {
+ {
PlayerEffect(false);
}
SoundPlayer.Instance.PlayUIAudio(effectConfig.audio);
@@ -142,7 +148,7 @@
}
async UniTask PlayAsync(bool showLog = true)
- {
+ {
await UniTask.Delay(playDelayTime);
Play(showLog);
}
@@ -171,6 +177,7 @@
if (!isPlaySpineLoop)
{
spineComp.enabled = false;
+ isPlaying = false;
if (isReleaseImmediately)
{
Stop();
@@ -204,4 +211,5 @@
return effectPlayer;
}
+
}
diff --git a/Main/Config/ConfigManager.cs b/Main/Config/ConfigManager.cs
index 88d91a4..8d2b82d 100644
--- a/Main/Config/ConfigManager.cs
+++ b/Main/Config/ConfigManager.cs
@@ -42,7 +42,6 @@
typeof(CTGConfig),
typeof(DamageNumConfig),
typeof(DirtyWordConfig),
- typeof(EquipGSParamConfig),
typeof(FaceConfig),
typeof(HeroLineupHaloConfig),
typeof(HeroQualityLVConfig),
@@ -220,8 +219,6 @@
ClearConfigDictionary<DamageNumConfig>();
// 娓呯┖ DirtyWordConfig 瀛楀吀
ClearConfigDictionary<DirtyWordConfig>();
- // 娓呯┖ EquipGSParamConfig 瀛楀吀
- ClearConfigDictionary<EquipGSParamConfig>();
// 娓呯┖ FaceConfig 瀛楀吀
ClearConfigDictionary<FaceConfig>();
// 娓呯┖ HeroLineupHaloConfig 瀛楀吀
diff --git a/Main/Config/ConfigParse.cs b/Main/Config/ConfigParse.cs
index 8e2f2f8..1d7e066 100644
--- a/Main/Config/ConfigParse.cs
+++ b/Main/Config/ConfigParse.cs
@@ -206,7 +206,6 @@
}
//{'17':['63','6','27'],'65':['800'],'55':['139'],'19':['1000','2600','130']}
- public static Regex userDataRegex = new Regex(@"'([0-9]+)':\[(.*?)\]", RegexOptions.Singleline);
public static Dictionary<int, List<int>> Analysis(string val)//姝e垯琛ㄨ揪寮忕殑瀛楃涓插垎鍓�
{
string s = ServerStringTrim(val);
@@ -265,23 +264,8 @@
//}
}
- public static Dictionary<int, List<int>> ParseJsonDict(string jsonStr)
- {
- if (jsonStr == "{}" || string.IsNullOrEmpty(jsonStr))
- {
- return new Dictionary<int, List<int>>();
- }
- var dict = JsonMapper.ToObject<Dictionary<string, List<int>>>(jsonStr);
- Dictionary<int, List<int>> result = new Dictionary<int, List<int>>();
- foreach (var item in dict)
- {
- result[int.Parse(item.Key)] = item.Value;
- }
-
- return result;
- }
-
+ //json鏍煎紡锛� {"1":1}
public static Dictionary<int, int> ParseIntDict(string jsonStr)
{
if (jsonStr == "{}" || string.IsNullOrEmpty(jsonStr))
@@ -299,6 +283,7 @@
return result;
}
+ //json鏍煎紡锛� {"1":[1,2],"2":[3,4]}
public static Dictionary<int, int[]> ParseIntArrayDict(string jsonStr)
{
if (jsonStr == "{}" || string.IsNullOrEmpty(jsonStr))
@@ -316,6 +301,7 @@
return result;
}
+ //json鏍煎紡锛� {"1":[[1,2],[3,4]]}
public static Dictionary<int, int[][]> ParseIntArray2Dict(string jsonStr)
{
if (jsonStr == "{}" || string.IsNullOrEmpty(jsonStr))
diff --git a/Main/Config/Configs/EquipGSParamConfig.cs b/Main/Config/Configs/EquipGSParamConfig.cs
deleted file mode 100644
index 4cab68f..0000000
--- a/Main/Config/Configs/EquipGSParamConfig.cs
+++ /dev/null
@@ -1,176 +0,0 @@
-锘�//--------------------------------------------------------
-// [Author]: YYL
-// [ Date ]: 2025骞�8鏈�5鏃�
-//--------------------------------------------------------
-
-using System.Collections.Generic;
-using System;
-using UnityEngine;
-using LitJson;
-
-public partial class EquipGSParamConfig : ConfigBase<int, EquipGSParamConfig>
-{
- static EquipGSParamConfig()
- {
- // 璁块棶杩囬潤鎬佹瀯閫犲嚱鏁�
- visit = true;
- }
-
- public int ID;
- public int EquipClass;
- public int EquipColor;
- public int IsSuit;
- public int Star;
- public int BaseEquipMaxHPAddPerC;
- public int BaseEquipAtkAddPerC;
- public int SuperHitC;
- public int SuperHitPerC;
- public int LuckyHitRateC;
- public int LuckyHitRateReduceC;
- public int LuckPerC;
- public int PerLVAtkC;
- public int PerLVMaxHPC;
- public int DropMoneyPerC;
- public int SuperHitReduceC;
- public int SuperHitRateReduceC;
- public int HitC;
- public int MissC;
- public int PetDamPerC;
- public int MaxHPPerC;
- public int AtkPerC;
- public int SkillAtkRateC;
- public int SkillAtkRateReduceC;
- public int SkillAddPerAC;
- public int SkillAddPerBC;
- public int SkillAddPerCC;
- public int SkillAddPerDC;
- public int SkillAddPerEC;
- public int SkillAddPerFC;
- public int SkillAddPerGC;
- public int SkillReducePerAC;
- public int SkillReducePerBC;
- public int SkillReducePerCC;
- public int SkillReducePerDC;
- public int SkillReducePerEC;
- public int SkillReducePerFC;
- public int SkillReducePerGC;
- public int ReduceSkillCDPerC;
- public int LuckyHitPerC;
- public int FaintDefRateC;
- public int SuperHitRateC;
- public int IgnoreDefRateC;
- public int IgnoreDefRateReduceC;
- public int ProDefPerC;
- public int FinalHurtPerC;
- public int FinalHurtReducePerC;
-
- public override int LoadKey(string _key)
- {
- int key = GetKey(_key);
- return key;
- }
-
- public override void LoadConfig(string input)
- {
- try {
- string[] tables = input.Split('\t');
- int.TryParse(tables[0],out ID);
-
- int.TryParse(tables[1],out EquipClass);
-
- int.TryParse(tables[2],out EquipColor);
-
- int.TryParse(tables[3],out IsSuit);
-
- int.TryParse(tables[4],out Star);
-
- int.TryParse(tables[5],out BaseEquipMaxHPAddPerC);
-
- int.TryParse(tables[6],out BaseEquipAtkAddPerC);
-
- int.TryParse(tables[7],out SuperHitC);
-
- int.TryParse(tables[8],out SuperHitPerC);
-
- int.TryParse(tables[9],out LuckyHitRateC);
-
- int.TryParse(tables[10],out LuckyHitRateReduceC);
-
- int.TryParse(tables[11],out LuckPerC);
-
- int.TryParse(tables[12],out PerLVAtkC);
-
- int.TryParse(tables[13],out PerLVMaxHPC);
-
- int.TryParse(tables[14],out DropMoneyPerC);
-
- int.TryParse(tables[15],out SuperHitReduceC);
-
- int.TryParse(tables[16],out SuperHitRateReduceC);
-
- int.TryParse(tables[17],out HitC);
-
- int.TryParse(tables[18],out MissC);
-
- int.TryParse(tables[19],out PetDamPerC);
-
- int.TryParse(tables[20],out MaxHPPerC);
-
- int.TryParse(tables[21],out AtkPerC);
-
- int.TryParse(tables[22],out SkillAtkRateC);
-
- int.TryParse(tables[23],out SkillAtkRateReduceC);
-
- int.TryParse(tables[24],out SkillAddPerAC);
-
- int.TryParse(tables[25],out SkillAddPerBC);
-
- int.TryParse(tables[26],out SkillAddPerCC);
-
- int.TryParse(tables[27],out SkillAddPerDC);
-
- int.TryParse(tables[28],out SkillAddPerEC);
-
- int.TryParse(tables[29],out SkillAddPerFC);
-
- int.TryParse(tables[30],out SkillAddPerGC);
-
- int.TryParse(tables[31],out SkillReducePerAC);
-
- int.TryParse(tables[32],out SkillReducePerBC);
-
- int.TryParse(tables[33],out SkillReducePerCC);
-
- int.TryParse(tables[34],out SkillReducePerDC);
-
- int.TryParse(tables[35],out SkillReducePerEC);
-
- int.TryParse(tables[36],out SkillReducePerFC);
-
- int.TryParse(tables[37],out SkillReducePerGC);
-
- int.TryParse(tables[38],out ReduceSkillCDPerC);
-
- int.TryParse(tables[39],out LuckyHitPerC);
-
- int.TryParse(tables[40],out FaintDefRateC);
-
- int.TryParse(tables[41],out SuperHitRateC);
-
- int.TryParse(tables[42],out IgnoreDefRateC);
-
- int.TryParse(tables[43],out IgnoreDefRateReduceC);
-
- int.TryParse(tables[44],out ProDefPerC);
-
- int.TryParse(tables[45],out FinalHurtPerC);
-
- int.TryParse(tables[46],out FinalHurtReducePerC);
- }
- catch (Exception exception)
- {
- Debug.LogError(exception);
- }
- }
-}
diff --git a/Main/Config/Configs/EquipPlaceMapConfig.cs b/Main/Config/Configs/EquipPlaceMapConfig.cs
deleted file mode 100644
index 6c5129d..0000000
--- a/Main/Config/Configs/EquipPlaceMapConfig.cs
+++ /dev/null
@@ -1,44 +0,0 @@
-锘�//--------------------------------------------------------
-// [Author]: YYL
-// [ Date ]: 2025骞�8鏈�5鏃�
-//--------------------------------------------------------
-
-using System.Collections.Generic;
-using System;
-using UnityEngine;
-using LitJson;
-
-public partial class EquipPlaceMapConfig : ConfigBase<int, EquipPlaceMapConfig>
-{
- static EquipPlaceMapConfig()
- {
- // 璁块棶杩囬潤鎬佹瀯閫犲嚱鏁�
- visit = true;
- }
-
- public int PackIndex;
- public int LV;
- public int EquipPlace;
-
- public override int LoadKey(string _key)
- {
- int key = GetKey(_key);
- return key;
- }
-
- public override void LoadConfig(string input)
- {
- try {
- string[] tables = input.Split('\t');
- int.TryParse(tables[0],out PackIndex);
-
- int.TryParse(tables[1],out LV);
-
- int.TryParse(tables[2],out EquipPlace);
- }
- catch (Exception exception)
- {
- Debug.LogError(exception);
- }
- }
-}
diff --git a/Main/Config/Configs/EquipPlaceMapConfig.cs.meta b/Main/Config/Configs/EquipPlaceMapConfig.cs.meta
deleted file mode 100644
index 2389729..0000000
--- a/Main/Config/Configs/EquipPlaceMapConfig.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: 695a587191bcf194ab9c1d32d07102e2
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Main/Config/Configs/MainChapterConfig.cs b/Main/Config/Configs/MainChapterConfig.cs
index 0837ae0..502ed62 100644
--- a/Main/Config/Configs/MainChapterConfig.cs
+++ b/Main/Config/Configs/MainChapterConfig.cs
@@ -1,6 +1,6 @@
锘�//--------------------------------------------------------
// [Author]: YYL
-// [ Date ]: 2025骞�8鏈�5鏃�
+// [ Date ]: Thursday, August 14, 2025
//--------------------------------------------------------
using System.Collections.Generic;
@@ -21,7 +21,6 @@
public string Level;
public string MapBG;
public int[][] DailyBootyUpperList;
- public string BootyWeightList;
public override int LoadKey(string _key)
{
@@ -42,8 +41,6 @@
MapBG = tables[3];
DailyBootyUpperList = JsonMapper.ToObject<int[][]>(tables[4].Replace("(", "[").Replace(")", "]"));
-
- BootyWeightList = tables[5];
}
catch (Exception exception)
{
diff --git a/Main/Config/PartialConfigs/EquipGSParamConfig.cs b/Main/Config/PartialConfigs/EquipGSParamConfig.cs
deleted file mode 100644
index bd48e95..0000000
--- a/Main/Config/PartialConfigs/EquipGSParamConfig.cs
+++ /dev/null
@@ -1,81 +0,0 @@
-锘縰sing System.Collections.Generic;
-
-public partial class EquipGSParamConfig : ConfigBase<int, EquipGSParamConfig>
-{
- private static Dictionary<string, EquipGSParamConfig> s_tagGSModelDict = new Dictionary<string, EquipGSParamConfig>();//鐢ㄤ簬璁板綍瑁呭璇勫垎鏁版嵁
- private static Dictionary<PropertyType, int> _tagGsProValueDict = new Dictionary<PropertyType, int>();
-
- protected override void OnConfigParseCompleted()
- {
- string key = StringUtility.Contact(EquipClass, EquipColor, IsSuit, Star);
- s_tagGSModelDict.Add(key, this);
- }
-
- public static EquipGSParamConfig GetGSModel(int lv, int color, int isSuit, int star)
- {
- string key = StringUtility.Contact(lv, color, isSuit, star);
- EquipGSParamConfig gsModel = null;
- s_tagGSModelDict.TryGetValue(key, out gsModel);
- return gsModel;
- }
-
- public static Dictionary<PropertyType, int> GetTagGsProValueDict(int lv, int color, int isSuit, int star)
- {
- _tagGsProValueDict.Clear();
- EquipGSParamConfig gsModel = GetGSModel(lv, color, isSuit, star);
- if (gsModel == null)
- return null;
-
- _tagGsProValueDict.Add(PropertyType.CritHurtPercent, gsModel.SuperHitPerC);
- _tagGsProValueDict.Add(PropertyType.HeartHit, gsModel.LuckyHitRateC);
- _tagGsProValueDict.Add(PropertyType.EveryLvAddAtk, gsModel.PerLVAtkC);
- _tagGsProValueDict.Add(PropertyType.EveryLvAddHp, gsModel.PerLVMaxHPC);
- _tagGsProValueDict.Add(PropertyType.AddCoinsPrecent, gsModel.DropMoneyPerC);
- _tagGsProValueDict.Add(PropertyType.CritResis, gsModel.SuperHitReduceC);
- _tagGsProValueDict.Add(PropertyType.HIT, gsModel.HitC);
- _tagGsProValueDict.Add(PropertyType.MISS, gsModel.MissC);
- _tagGsProValueDict.Add(PropertyType.LuckPer, gsModel.LuckPerC);
- _tagGsProValueDict.Add(PropertyType.WeaponAtkPer, gsModel.BaseEquipAtkAddPerC);
- _tagGsProValueDict.Add(PropertyType.ArmorMaxHPPer, gsModel.BaseEquipMaxHPAddPerC);
- _tagGsProValueDict.Add(PropertyType.HeartResis, gsModel.LuckyHitRateReduceC);
- _tagGsProValueDict.Add(PropertyType.CritHurt, gsModel.SuperHitC);
- _tagGsProValueDict.Add(PropertyType.PetAddHurt, gsModel.PetDamPerC);
- _tagGsProValueDict.Add(PropertyType.ReduceCrit, gsModel.SuperHitRateReduceC);
-
- _tagGsProValueDict.Add(PropertyType.HpPercent, gsModel.MaxHPPerC);
- _tagGsProValueDict.Add(PropertyType.AtkPercent, gsModel.AtkPerC);
- _tagGsProValueDict.Add(PropertyType.SkillHurt, gsModel.SkillAtkRateC);
- _tagGsProValueDict.Add(PropertyType.ReduceSkillHurtPercent, gsModel.SkillAtkRateReduceC);
-
- _tagGsProValueDict.Add(PropertyType.SkillAddPerA, gsModel.SkillAddPerAC);
- _tagGsProValueDict.Add(PropertyType.SkillAddPerB, gsModel.SkillAddPerBC);
- _tagGsProValueDict.Add(PropertyType.SkillAddPerC, gsModel.SkillAddPerCC);
- _tagGsProValueDict.Add(PropertyType.SkillAddPerD, gsModel.SkillAddPerDC);
- _tagGsProValueDict.Add(PropertyType.SkillAddPerE, gsModel.SkillAddPerEC);
- _tagGsProValueDict.Add(PropertyType.SkillAddPerF, gsModel.SkillAddPerFC);
- _tagGsProValueDict.Add(PropertyType.SkillAddPerG, gsModel.SkillAddPerGC);
- _tagGsProValueDict.Add(PropertyType.SkillReducePerA, gsModel.SkillReducePerAC);
- _tagGsProValueDict.Add(PropertyType.SkillReducePerB, gsModel.SkillReducePerBC);
- _tagGsProValueDict.Add(PropertyType.SkillReducePerC, gsModel.SkillReducePerCC);
- _tagGsProValueDict.Add(PropertyType.SkillReducePerD, gsModel.SkillReducePerDC);
- _tagGsProValueDict.Add(PropertyType.SkillReducePerE, gsModel.SkillReducePerEC);
- _tagGsProValueDict.Add(PropertyType.SkillReducePerF, gsModel.SkillReducePerFC);
- _tagGsProValueDict.Add(PropertyType.SkillReducePerG, gsModel.SkillReducePerGC);
- _tagGsProValueDict.Add(PropertyType.ReduceSkillCDPer, gsModel.ReduceSkillCDPerC);
- _tagGsProValueDict.Add(PropertyType.AddHeartHurtPer, gsModel.LuckyHitPerC);
- _tagGsProValueDict.Add(PropertyType.CtrlResis, gsModel.FaintDefRateC);
- _tagGsProValueDict.Add(PropertyType.CritChance, gsModel.SuperHitRateC);
-
- _tagGsProValueDict.Add(PropertyType.DefyDef, gsModel.IgnoreDefRateC);
- _tagGsProValueDict.Add(PropertyType.DefyDefResis, gsModel.IgnoreDefRateReduceC);
- _tagGsProValueDict.Add(PropertyType.ProDefHPPer, gsModel.ProDefPerC);
- _tagGsProValueDict.Add(PropertyType.AddFinalHurtPer, gsModel.FinalHurtPerC);
- _tagGsProValueDict.Add(PropertyType.ReduceFinalHurtPer, gsModel.FinalHurtReducePerC);
-
-
-
- return _tagGsProValueDict;
- }
-}
-
-
diff --git a/Main/Config/PartialConfigs/EquipGSParamConfig.cs.meta b/Main/Config/PartialConfigs/EquipGSParamConfig.cs.meta
deleted file mode 100644
index f4478c8..0000000
--- a/Main/Config/PartialConfigs/EquipGSParamConfig.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: 2dd2a25da7cc3f8468c1237a08cff49f
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Main/Config/PartialConfigs/EquipPlaceMapConfig.cs b/Main/Config/PartialConfigs/EquipPlaceMapConfig.cs
deleted file mode 100644
index 2bbd47e..0000000
--- a/Main/Config/PartialConfigs/EquipPlaceMapConfig.cs
+++ /dev/null
@@ -1,26 +0,0 @@
-using System.Collections.Generic;
-using UnityEngine;
-using LitJson;
-
-public partial class EquipPlaceMapConfig : ConfigBase<int, EquipPlaceMapConfig>
-{
- static Dictionary<int, int> clientPlaceToServerPlace = new Dictionary<int, int>();
-
- protected override void OnConfigParseCompleted()
- {
- clientPlaceToServerPlace[LV * 100 + EquipPlace] = PackIndex;
- }
-
- public static int GetServerPlace(int level, int equipPlace)
- {
- var key = level * 100 + equipPlace;
- if (clientPlaceToServerPlace.ContainsKey(key))
- {
- return clientPlaceToServerPlace[key];
- }
- else
- {
- return 0;
- }
- }
-}
\ No newline at end of file
diff --git a/Main/Config/PartialConfigs/EquipPlaceMapConfig.cs.meta b/Main/Config/PartialConfigs/EquipPlaceMapConfig.cs.meta
deleted file mode 100644
index 76f99a3..0000000
--- a/Main/Config/PartialConfigs/EquipPlaceMapConfig.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: d1c0c8007bcb91343b4581382b97c181
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Main/Core/NetworkPackage/ClientPack/CB4_FightDefine/CB415_tagCSMainDropItemOP.cs b/Main/Core/NetworkPackage/ClientPack/CB4_FightDefine/CB415_tagCSMainDropItemOP.cs
index ee26f9d..dbb9c85 100644
--- a/Main/Core/NetworkPackage/ClientPack/CB4_FightDefine/CB415_tagCSMainDropItemOP.cs
+++ b/Main/Core/NetworkPackage/ClientPack/CB4_FightDefine/CB415_tagCSMainDropItemOP.cs
@@ -1,24 +1,24 @@
using UnityEngine;
using System.Collections;
-// B4 15 涓荤嚎鎺夎惤鐗╁搧鎿嶄綔 #tagCSMainDropItemOP
-
-public class CB415_tagCSMainDropItemOP : GameNetPackBasic {
- public byte Count;
- public ushort[] IndexList; // 鎺夎惤鑳屽寘涓殑鐗╁搧鏍煎瓙绱㈠紩鍒楄〃
- public byte OPType; // 0 - 鎷惧彇闈炶澶囩墿鍝侊紱1 - 鍒嗚В锛�2 - 绌挎埓/鏇挎崲锛�
- public byte OPValue; // 鎿嶄綔棰濆鎸囦护鍊硷紝鐢辨搷浣滅被鍨嬪喅瀹氾紝濡傜┛鎴存椂鍙彂閫佺┛鎴村悗鏄惁鑷姩鍒嗚В
-
- public CB415_tagCSMainDropItemOP () {
- combineCmd = (ushort)0x03FE;
- _cmd = (ushort)0xB415;
- }
-
- public override void WriteToBytes () {
- WriteBytes (Count, NetDataType.BYTE);
- WriteBytes (IndexList, NetDataType.WORD, Count);
- WriteBytes (OPType, NetDataType.BYTE);
- WriteBytes (OPValue, NetDataType.BYTE);
- }
-
-}
+// B4 15 涓荤嚎鎺夎惤鐗╁搧鎿嶄綔 #tagCSMainDropItemOP
+
+public class CB415_tagCSMainDropItemOP : GameNetPackBasic {
+ public byte Count;
+ public ushort[] IndexList; // 鎺夎惤鑳屽寘涓殑鐗╁搧鏍煎瓙绱㈠紩鍒楄〃
+ public byte OPType; // 0 - 鎷惧彇闈炶澶囩墿鍝侊紱1 - 鍒嗚В锛�2 - 绌挎埓/鏇挎崲锛�
+ public byte OPValue; // 鎿嶄綔棰濆鎸囦护鍊硷紝鐢辨搷浣滅被鍨嬪喅瀹氾紝濡傜┛鎴存椂鍙彂閫佺┛鎴村悗鏄惁鑷姩鍒嗚В
+
+ public CB415_tagCSMainDropItemOP () {
+ combineCmd = (ushort)0x03FE;
+ _cmd = (ushort)0xB415;
+ }
+
+ public override void WriteToBytes () {
+ WriteBytes (Count, NetDataType.BYTE);
+ WriteBytes (IndexList, NetDataType.WORD, Count);
+ WriteBytes (OPType, NetDataType.BYTE);
+ WriteBytes (OPValue, NetDataType.BYTE);
+ }
+
+}
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 c444fec..e1151d7 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; //鍙互鐢ㄦ潵鍒ゆ柇鏄惁鍒囧彿锛屽鐭殏鐨勬柇绾块噸杩�
public static uint playerIdBuf = 0;
public override void Done(GameNetPackBasic vNetPack)
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/HA8_Item/DTCA814_tagMCMakeItemAnswer.cs b/Main/Core/NetworkPackage/DTCFile/ServerPack/HA8_Item/DTCA814_tagMCMakeItemAnswer.cs
new file mode 100644
index 0000000..65ec3a0
--- /dev/null
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/HA8_Item/DTCA814_tagMCMakeItemAnswer.cs
@@ -0,0 +1,15 @@
+using UnityEngine;
+using System.Collections;
+using System;
+
+// A8 14 鎿嶄綔缁撴灉閫氱煡 #tagMCMakeItemAnswer
+
+public class DTCA814_tagMCMakeItemAnswer : DtcBasic {
+ public static event Action<HA814_tagMCMakeItemAnswer> MakeItemAnswerEvent;
+ public override void Done(GameNetPackBasic vNetPack)
+ {
+ base.Done(vNetPack);
+ HA814_tagMCMakeItemAnswer vNetData = vNetPack as HA814_tagMCMakeItemAnswer;
+ MakeItemAnswerEvent?.Invoke(vNetData);
+ }
+}
diff --git a/Main/Config/Configs/EquipGSParamConfig.cs.meta b/Main/Core/NetworkPackage/DTCFile/ServerPack/HA8_Item/DTCA814_tagMCMakeItemAnswer.cs.meta
similarity index 83%
copy from Main/Config/Configs/EquipGSParamConfig.cs.meta
copy to Main/Core/NetworkPackage/DTCFile/ServerPack/HA8_Item/DTCA814_tagMCMakeItemAnswer.cs.meta
index 142c67b..f9817a5 100644
--- a/Main/Config/Configs/EquipGSParamConfig.cs.meta
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/HA8_Item/DTCA814_tagMCMakeItemAnswer.cs.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: f510c442e570ac446af81fa008cc0367
+guid: 293efa631c4a5d649acf8845f93f885c
MonoImporter:
externalObjects: {}
serializedVersion: 2
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/HB1_Role/DTCB123_tagSCDropBootyInfo.cs b/Main/Core/NetworkPackage/DTCFile/ServerPack/HB1_Role/DTCB123_tagSCDropBootyInfo.cs
new file mode 100644
index 0000000..3d0fa34
--- /dev/null
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/HB1_Role/DTCB123_tagSCDropBootyInfo.cs
@@ -0,0 +1,11 @@
+using UnityEngine;
+using System.Collections;
+
+// B1 23 姣忔棩鎺夎惤鎴樺埄鍝佷俊鎭� #tagSCDropBootyInfo
+
+public class DTCB123_tagSCDropBootyInfo : DtcBasic {
+ public override void Done(GameNetPackBasic vNetPack) {
+ base.Done(vNetPack);
+ HB123_tagSCDropBootyInfo vNetData = vNetPack as HB123_tagSCDropBootyInfo;
+ }
+}
diff --git a/Main/Config/Configs/EquipGSParamConfig.cs.meta b/Main/Core/NetworkPackage/DTCFile/ServerPack/HB1_Role/DTCB123_tagSCDropBootyInfo.cs.meta
similarity index 83%
copy from Main/Config/Configs/EquipGSParamConfig.cs.meta
copy to Main/Core/NetworkPackage/DTCFile/ServerPack/HB1_Role/DTCB123_tagSCDropBootyInfo.cs.meta
index 142c67b..be1970e 100644
--- a/Main/Config/Configs/EquipGSParamConfig.cs.meta
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/HB1_Role/DTCB123_tagSCDropBootyInfo.cs.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: f510c442e570ac446af81fa008cc0367
+guid: ad40b9e7061d05547a2940e6a348a2a0
MonoImporter:
externalObjects: {}
serializedVersion: 2
diff --git a/Main/Core/NetworkPackage/DataToCtl/PackageRegedit.cs b/Main/Core/NetworkPackage/DataToCtl/PackageRegedit.cs
index e775a45..84a54ea 100644
--- a/Main/Core/NetworkPackage/DataToCtl/PackageRegedit.cs
+++ b/Main/Core/NetworkPackage/DataToCtl/PackageRegedit.cs
@@ -107,6 +107,7 @@
Register(typeof(HA207_tagSCPackBuyInfo), typeof(DTCA207_tagSCPackBuyInfo));
Register(typeof(H0722_tagItemDeadLockRefresh), typeof(DTC0722_tagItemDeadLockRefresh));
Register(typeof(HB125_tagSCPlayerHeroInfo), typeof(DTCB125_tagSCPlayerHeroInfo));
+ Register(typeof(HA814_tagMCMakeItemAnswer), typeof(DTCA814_tagMCMakeItemAnswer));
}
//涓诲伐绋嬫敞鍐屽皝鍖�
diff --git a/Main/Core/NetworkPackage/ServerPack/HA8_Item/HA814_tagMCMakeItemAnswer.cs b/Main/Core/NetworkPackage/ServerPack/HA8_Item/HA814_tagMCMakeItemAnswer.cs
new file mode 100644
index 0000000..0af1022
--- /dev/null
+++ b/Main/Core/NetworkPackage/ServerPack/HA8_Item/HA814_tagMCMakeItemAnswer.cs
@@ -0,0 +1,21 @@
+using UnityEngine;
+using System.Collections;
+
+// A8 14 鎿嶄綔缁撴灉閫氱煡 #tagMCMakeItemAnswer
+
+public class HA814_tagMCMakeItemAnswer : GameNetPackBasic {
+ public byte MakeType; //绫诲瀷 TMakeItemType
+ public byte Result; //鏄惁鎴愬姛
+ public uint MakeValue; //鎿嶄綔鍊硷紝濡傚悎鎴愭椂涓哄悎鎴愮殑鐗╁搧ID
+
+ public HA814_tagMCMakeItemAnswer () {
+ _cmd = (ushort)0xA814;
+ }
+
+ public override void ReadFromBytes (byte[] vBytes) {
+ TransBytes (out MakeType, vBytes, NetDataType.BYTE);
+ TransBytes (out Result, vBytes, NetDataType.BYTE);
+ TransBytes (out MakeValue, vBytes, NetDataType.DWORD);
+ }
+
+}
diff --git a/Main/Config/Configs/EquipGSParamConfig.cs.meta b/Main/Core/NetworkPackage/ServerPack/HA8_Item/HA814_tagMCMakeItemAnswer.cs.meta
similarity index 83%
rename from Main/Config/Configs/EquipGSParamConfig.cs.meta
rename to Main/Core/NetworkPackage/ServerPack/HA8_Item/HA814_tagMCMakeItemAnswer.cs.meta
index 142c67b..7788063 100644
--- a/Main/Config/Configs/EquipGSParamConfig.cs.meta
+++ b/Main/Core/NetworkPackage/ServerPack/HA8_Item/HA814_tagMCMakeItemAnswer.cs.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: f510c442e570ac446af81fa008cc0367
+guid: be88efc853cab3d46b1a28dc6461d9e3
MonoImporter:
externalObjects: {}
serializedVersion: 2
diff --git a/Main/Core/NetworkPackage/ServerPack/HB1_Role/HB123_tagSCDropBootyInfo.cs b/Main/Core/NetworkPackage/ServerPack/HB1_Role/HB123_tagSCDropBootyInfo.cs
new file mode 100644
index 0000000..24965db
--- /dev/null
+++ b/Main/Core/NetworkPackage/ServerPack/HB1_Role/HB123_tagSCDropBootyInfo.cs
@@ -0,0 +1,29 @@
+using UnityEngine;
+using System.Collections;
+
+// B1 23 姣忔棩鎺夎惤鎴樺埄鍝佷俊鎭� #tagSCDropBootyInfo
+
+public class HB123_tagSCDropBootyInfo : GameNetPackBasic {
+ public ushort Count;
+ public tagSCDropBooty[] DropBootyList; //姣忔棩宸叉帀钀芥垬鍒╁搧淇℃伅鍒楄〃
+
+ public HB123_tagSCDropBootyInfo () {
+ _cmd = (ushort)0xB123;
+ }
+
+ public override void ReadFromBytes (byte[] vBytes) {
+ TransBytes (out Count, vBytes, NetDataType.WORD);
+ DropBootyList = new tagSCDropBooty[Count];
+ for (int i = 0; i < Count; i ++) {
+ DropBootyList[i] = new tagSCDropBooty();
+ TransBytes (out DropBootyList[i].ItemID, vBytes, NetDataType.DWORD);
+ TransBytes (out DropBootyList[i].TodayDropCnt, vBytes, NetDataType.DWORD);
+ }
+ }
+
+ public class tagSCDropBooty {
+ public uint ItemID; // 鎴樺埄鍝両D
+ public uint TodayDropCnt; // 浠婃棩宸叉帀钀芥暟閲�
+ }
+
+}
diff --git a/Main/Config/Configs/EquipGSParamConfig.cs.meta b/Main/Core/NetworkPackage/ServerPack/HB1_Role/HB123_tagSCDropBootyInfo.cs.meta
similarity index 83%
copy from Main/Config/Configs/EquipGSParamConfig.cs.meta
copy to Main/Core/NetworkPackage/ServerPack/HB1_Role/HB123_tagSCDropBootyInfo.cs.meta
index 142c67b..120f9ad 100644
--- a/Main/Config/Configs/EquipGSParamConfig.cs.meta
+++ b/Main/Core/NetworkPackage/ServerPack/HB1_Role/HB123_tagSCDropBootyInfo.cs.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: f510c442e570ac446af81fa008cc0367
+guid: 60e5d156d8d7dc14da9061d205127a85
MonoImporter:
externalObjects: {}
serializedVersion: 2
diff --git a/Main/System/Dungeon/DungeonData.cs b/Main/System/Dungeon/DungeonData.cs
index 7aac149..bba8148 100644
--- a/Main/System/Dungeon/DungeonData.cs
+++ b/Main/System/Dungeon/DungeonData.cs
@@ -27,7 +27,7 @@
}
-public struct DungeonResult
+public class DungeonResult
{
public int conWinCnt; //鑳滃埄鐨勫満鏁�
public int extraExp; //棰濆鐨勭粡楠屽姞鎴�
@@ -101,7 +101,7 @@
}
-public struct DungeonMissionData
+public class DungeonMissionData
{
public int lineID;
public int missionID;
diff --git a/Main/System/Equip/EquipCell.cs b/Main/System/Equip/EquipCell.cs
new file mode 100644
index 0000000..d3e22a2
--- /dev/null
+++ b/Main/System/Equip/EquipCell.cs
@@ -0,0 +1,79 @@
+锘縰sing System;
+using UnityEngine;
+using UnityEngine.UI;
+
+//瑁呭鍥炬爣锛堣澶囦綅锛�
+public class EquipCell : MonoBehaviour
+{
+ Button button;
+ Image bgImage;//瑁呭鐨勫簳鍥撅紝涓嶅悓鍝佽川棰滆壊
+ Image bgIconImage; //绌鸿澶囩殑閮ㄤ綅鍥炬爣
+ Image iconImage; //瑁呭鍥炬爣
+ UIEffectPlayer uieff;
+ Text lvText;
+
+ void InitComponent()
+ {
+ button = this.GetComponent<Button>();
+ bgImage = this.GetComponent<Image>();
+ bgIconImage = this.GetComponent<Image>("equipempty");
+ iconImage = this.GetComponent<Image>("equipicon");
+ uieff = this.GetComponent<UIEffectPlayer>("uieffect");
+ lvText = this.GetComponent<Text>("lv");
+ }
+
+ public void Init(ItemModel equip)
+ {
+ if (iconImage == null)
+ {
+ InitComponent();
+ }
+
+ if (equip == null)
+ {
+ button?.RemoveAllListeners();
+ bgImage.SetSprite("equipQuality0");
+ bgIconImage?.SetActive(true);
+ iconImage.SetActive(false);
+ uieff?.Stop();
+ if (lvText != null)
+ lvText.text = string.Empty;
+
+ return;
+ }
+
+ if (button != null)
+ {
+ button.AddListener(() =>
+ {
+ ItemTipUtility.Show(equip.guid);
+ });
+ }
+ bgImage.SetSprite("equipQuality" + equip.config.ItemColor);
+ bgIconImage?.SetActive(false);
+ iconImage.SetActive(true);
+ iconImage.SetOrgSprite(equip.config.IconKey);
+ if (lvText != null)
+ lvText.text = Language.Get("L1113", EquipModel.Instance.GetEquipLV(equip));
+
+ if (uieff == null)
+ {
+ //绛夌編鏈彁渚涜澶囩殑鏁堟灉鐗规晥锛堥渶瑕佺壒鏁堝浘锛�
+ // int effectID = EquipModel.Instance.equipUIEffects[Math.Min(equip.config.ItemColor, EquipModel.Instance.equipUIEffects.Length) - 1];
+ // if (effectID == 0)
+ // {
+ // uieff.Stop();
+ // }
+ // else
+ // {
+ // uieff.effectId = effectID;
+ // uieff.Play();
+ // }
+ }
+ }
+
+
+}
+
+
+
diff --git a/Main/Config/Configs/EquipGSParamConfig.cs.meta b/Main/System/Equip/EquipCell.cs.meta
similarity index 83%
copy from Main/Config/Configs/EquipGSParamConfig.cs.meta
copy to Main/System/Equip/EquipCell.cs.meta
index 142c67b..c6ceb26 100644
--- a/Main/Config/Configs/EquipGSParamConfig.cs.meta
+++ b/Main/System/Equip/EquipCell.cs.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: f510c442e570ac446af81fa008cc0367
+guid: 62e3eb45ea8ccc645ba954c15c710fd8
MonoImporter:
externalObjects: {}
serializedVersion: 2
diff --git a/Main/System/Equip/EquipExchangeCell.cs b/Main/System/Equip/EquipExchangeCell.cs
new file mode 100644
index 0000000..62f9ce8
--- /dev/null
+++ b/Main/System/Equip/EquipExchangeCell.cs
@@ -0,0 +1,332 @@
+锘縰sing System;
+using System.Collections;
+using System.Collections.Generic;
+using Cysharp.Threading.Tasks;
+
+using UnityEngine;
+using UnityEngine.UI;
+
+//鑾峰緱瑁呭妯℃澘
+public class EquipExchangeCell : MonoBehaviour
+{
+ [SerializeField] Image equipImage;
+ [SerializeField] Text itemName;
+ [SerializeField] Text qualityName;
+ [SerializeField] OutlineEx itemNameOutline;
+ [SerializeField] OutlineEx qualityNameOutline;
+ [SerializeField] Text placeName;
+ [SerializeField] Text lvText;
+ [SerializeField] Image bgFlower; //鑳屾櫙鑺辩汗鍙樿壊
+ [SerializeField] Text fightPowerNum;
+ [SerializeField] GameObject fightPowerGO;
+ [SerializeField] GameObject equipedText;
+ [SerializeField] List<Text> baseAttrNames;
+ [SerializeField] List<Text> baseAttrValues;
+ [SerializeField] List<Image> baseAttrStates;
+ [SerializeField] GameObject fightAttrGameObj;
+ [SerializeField] List<GameObject> fightAttrLine;
+ [SerializeField] List<Text> fightAttrNames;
+ [SerializeField] List<Text> fightAttrValues;
+ [SerializeField] List<Image> fightAttrStates;
+ [SerializeField] GameObject decomposeObject;
+ [SerializeField] Toggle decomposeCheck;
+ [SerializeField] GameObject btnsGO;
+ [SerializeField] Button decomposeButton;
+ [SerializeField] Button exchangeButton;
+ [SerializeField] Button putonButton;
+
+ [SerializeField] UIEffectPlayer uieffect;
+ [SerializeField] RectTransform bgRect;
+
+ int cmpResult = 0; // 瑁呭瀵规瘮缁撴灉 0鐩稿悓 1鏇村己 2鏇村急
+ bool isToggle = true;
+
+ void Start()
+ {
+ putonButton.AddListener(() =>
+ {
+ EquipModel.Instance.SendEquipOP(new ushort[] { (ushort)EquipModel.Instance.selectFloorEquip.gridIndex }, 2);
+ });
+
+ exchangeButton.AddListener(ExchangeEquip);
+ decomposeButton.AddListener(DecomposeEquip);
+
+ decomposeCheck.onValueChanged.RemoveAllListeners();
+ decomposeCheck.onValueChanged.AddListener((bool isOn) =>
+ {
+ isToggle = !isToggle;
+ });
+
+ }
+ /// <summary>
+ ///
+ /// </summary>
+ /// <param name="equip">鏈欢瑁呭鐗╁搧鏁版嵁</param>
+ /// <param name="isNewEquip">鏄惁鏂拌澶囷紙鍗虫帀钀借儗鍖呴噷鐨勮澶囷級</param>
+ public void Display(ItemModel equip, bool isNewEquip)
+ {
+ var oldEquip = PackManager.Instance.GetItemByIndex(PackType.Equip, EquipModel.Instance.selectFloorEquip.config.EquipPlace - 1);
+ if (oldEquip == null)
+ cmpResult = 1;
+
+ equipImage.SetOrgSprite(equip.config.IconKey);
+ itemName.text = UIHelper.AppendColor(equip.config.ItemColor, equip.config.ItemName, true, 1);
+ qualityName.text = UIHelper.GetQualityNameWithColor(equip.config.ItemColor, Language.Get("equipQualityFormat"));
+ itemNameOutline.OutlineColor = UIHelper.GetUIOutlineColor(equip.config.ItemColor);
+ qualityNameOutline.OutlineColor = UIHelper.GetUIOutlineColor(equip.config.ItemColor);
+ placeName.text = EquipModel.Instance.GetEquipPlaceName(equip.config.EquipPlace);
+ lvText.text = Language.Get("EquipExchangeWin7", EquipModel.Instance.GetEquipLV(equip));
+ bgFlower.color = UIHelper.GetUIColor(equip.config.ItemColor);
+
+ if (!isNewEquip)
+ {
+ equipedText.SetActive(true);
+ fightPowerGO.SetActive(false);
+ decomposeObject.SetActive(false);
+ btnsGO.SetActive(false);
+ }
+ else
+ {
+ equipedText.SetActive(false);
+ fightPowerGO.SetActive(true);
+ decomposeObject.SetActive(true);
+ btnsGO.SetActive(true);
+ decomposeCheck.isOn = isToggle;
+
+ long showFightPower = FightPowerManager.Instance.GetFightPowerChange(EquipModel.Instance.selectFloorEquip);
+
+ if (showFightPower < 0)
+ {
+ fightPowerNum.text = UIHelper.AppendColor(TextColType.Red, $"-{UIHelper.ReplaceLargeNum(showFightPower)}", false);
+ }
+ else
+ {
+ fightPowerNum.text = UIHelper.AppendColor(TextColType.Green, $"+{UIHelper.ReplaceLargeNum(showFightPower)}", false);
+ }
+ }
+
+ var baseAttrs = EquipModel.Instance.GetEquipBaseAttrs(equip);
+ var baseValues = EquipModel.Instance.GetEquipBaseValues(equip);
+ var fightAttrs = EquipModel.Instance.GetEquipFightAttrs(equip);
+ var fightValues = EquipModel.Instance.GetEquipFightValues(equip);
+
+ for (var i = 0; i < baseAttrNames.Count; i++)
+ {
+ if (i >= baseAttrs.Count)
+ {
+ baseAttrNames[i].text = "";
+ baseAttrValues[i].text = "";
+ }
+ else
+ {
+ baseAttrNames[i].text = PlayerPropertyConfig.Get(baseAttrs[i]).Name;
+ baseAttrValues[i].text = PlayerPropertyConfig.GetValueDescription(baseAttrs[i], baseValues[i]);
+ }
+ }
+
+ if (fightAttrs.IsNullOrEmpty())
+ {
+ fightAttrGameObj.SetActive(false);
+ }
+ else
+ {
+ fightAttrGameObj.SetActive(true);
+ for (var i = 0; i < fightAttrNames.Count; i++)
+ {
+ if (i >= fightAttrs.Count)
+ {
+ fightAttrNames[i].SetActive(false);
+ }
+ else
+ {
+ fightAttrNames[i].SetActive(true);
+ fightAttrNames[i].text = PlayerPropertyConfig.Get(fightAttrs[i]).Name;
+ fightAttrValues[i].text = PlayerPropertyConfig.GetValueDescription(fightAttrs[i], fightValues[i]);
+ }
+ }
+ }
+
+ ShowAttrState(isNewEquip);
+ RefreshEffect(equip).Forget();
+ }
+
+ //寤惰繜澶勭悊鐗规晥澶у皬
+ async UniTask RefreshEffect(ItemModel equip)
+ {
+ await UniTask.DelayFrame(5);
+ int effectID = EquipModel.Instance.equipUIEffects[Math.Min(equip.config.ItemColor, EquipModel.Instance.equipUIEffects.Length) - 1];
+ if (effectID == 0)
+ {
+ uieffect.Stop();
+ }
+ else
+ {
+ uieffect.effectId = effectID;
+ //璁$畻楂樺害缂╂斁姣斾緥 鐗规晥鏄剧ず渚濊禆rect鐨勬帓鐗�
+ uieffect.transform.localScale = new Vector3(0.98f, bgRect.rect.height / uieffect.GetComponent<RectTransform>().rect.height, 1);
+ uieffect.Play();
+ }
+ }
+
+
+ //鏇挎崲瑁呭
+ void ExchangeEquip()
+ {
+ //绌挎洿寮辫澶� 瑕佹彁绀�
+ if (cmpResult == 2 && decomposeCheck.isOn)
+ {
+ ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"),
+ Language.Get("EquipExchangeWin4"), (bool ok) =>
+ {
+ if (ok)
+ {
+ EquipModel.Instance.SendEquipOP(new ushort[] { (ushort)EquipModel.Instance.selectFloorEquip.gridIndex }, 2, decomposeCheck.isOn);
+ }
+
+ });
+ }
+ else
+ {
+ EquipModel.Instance.SendEquipOP(new ushort[] { (ushort)EquipModel.Instance.selectFloorEquip.gridIndex }, 2, decomposeCheck.isOn);
+ }
+
+ }
+
+ //鍒嗚В瑁呭
+ void DecomposeEquip()
+ {
+ //鍒嗚В鏇村己瑁呭瑕佹彁绀�
+ if (cmpResult == 1)
+ {
+ ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"),
+ Language.Get("EquipExchangeWin5"), (bool ok) =>
+ {
+ if (ok)
+ {
+ EquipModel.Instance.SendEquipOP(new ushort[] { (ushort)EquipModel.Instance.selectFloorEquip.gridIndex }, 1);
+ }
+
+ });
+ }
+ else
+ {
+ EquipModel.Instance.SendEquipOP(new ushort[] { (ushort)EquipModel.Instance.selectFloorEquip.gridIndex }, 1);
+ }
+ }
+
+ void ShowAttrState(bool isNewEquip)
+ {
+ ItemModel oldEquip = null;
+
+ if (isNewEquip)
+ {
+ //鎵惧姣旇澶�
+ oldEquip = PackManager.Instance.GetItemByIndex(PackType.Equip, EquipModel.Instance.selectFloorEquip.config.EquipPlace - 1);
+ }
+
+ if (oldEquip == null)
+ {
+ for (int i = 0; i < baseAttrStates.Count; i++)
+ {
+ baseAttrStates[i].SetActive(false);
+ }
+
+ for (int i = 0; i < fightAttrStates.Count; i++)
+ {
+ if (!isNewEquip)
+ {
+ //鍘熻澶囦笉瀵规瘮鏄剧ず
+ fightAttrStates[i].SetActive(false);
+ continue;
+ }
+ var list = EquipModel.Instance.GetEquipFightValues(EquipModel.Instance.selectFloorEquip);
+ if (list == null || i >= list.Count)
+ {
+ fightAttrStates[i].SetActive(false);
+ }
+ else
+ {
+ fightAttrStates[i].SetActive(true);
+ fightAttrStates[i].SetSprite("GiftState1");
+ fightAttrStates[i].SetNativeSize();
+ }
+ }
+
+ return;
+ }
+
+
+ //鍩虹灞炴�� 鎺掑簭鍜屼釜鏁版槸涓�鑷寸殑
+ for (int i = 0; i < baseAttrStates.Count; i++)
+ {
+ var list = EquipModel.Instance.GetEquipBaseValues(EquipModel.Instance.selectFloorEquip);
+ var list2 = EquipModel.Instance.GetEquipBaseValues(oldEquip);
+ if (list == null || i >= list.Count)
+ {
+ baseAttrStates[i].SetActive(false);
+ }
+ else
+ {
+ baseAttrStates[i].SetActive(true);
+ var value = i < list2.Count ? list2[i] : 0;
+ if (list[i] == value)
+ {
+ baseAttrStates[i].SetActive(false);
+ }
+ else
+ {
+ baseAttrStates[i].SetActive(true);
+ baseAttrStates[i].SetSprite(value == 0 ? "GiftState1" : list[i] > value ? "EquipUpIcon" : "EquipDownIcon");
+ baseAttrStates[i].SetNativeSize();
+ }
+ }
+ }
+
+ for (int i = 0; i < fightAttrStates.Count; i++)
+ {
+ //鎴樻枟灞炴�� 鎺掑簭鍜屼釜鏁颁笉涓�鑷� 鏍规嵁ID杩涜瀵规瘮
+ var list = EquipModel.Instance.GetEquipFightValues(EquipModel.Instance.selectFloorEquip);
+ var list2 = EquipModel.Instance.GetEquipFightValues(oldEquip);
+
+ var idList = EquipModel.Instance.GetEquipFightAttrs(EquipModel.Instance.selectFloorEquip);
+ var idList2 = EquipModel.Instance.GetEquipFightAttrs(oldEquip);
+
+ if (list == null || i >= list.Count)
+ {
+ fightAttrStates[i].SetActive(false);
+ }
+ else
+ {
+ fightAttrStates[i].SetActive(true);
+ var value = !list2.IsNullOrEmpty() && i < list2.Count ? list2[i] : 0;
+ var id = !idList2.IsNullOrEmpty() && i < idList2.Count ? idList2[i] : 0;
+ if (idList[i] == id && list[i] == value)
+ {
+ fightAttrStates[i].SetActive(false);
+ }
+ else
+ {
+ fightAttrStates[i].SetActive(true);
+ if (idList[i] != id)
+ {
+ fightAttrStates[i].SetSprite("GiftState1");
+ }
+ else
+ {
+ fightAttrStates[i].SetSprite(list[i] > value ? "EquipUpIcon" : "EquipDownIcon");
+ }
+ fightAttrStates[i].SetNativeSize();
+
+ }
+ }
+ }
+ }
+
+
+
+}
+
+
+
+
+
diff --git a/Main/Config/Configs/EquipGSParamConfig.cs.meta b/Main/System/Equip/EquipExchangeCell.cs.meta
similarity index 83%
copy from Main/Config/Configs/EquipGSParamConfig.cs.meta
copy to Main/System/Equip/EquipExchangeCell.cs.meta
index 142c67b..45d7c76 100644
--- a/Main/Config/Configs/EquipGSParamConfig.cs.meta
+++ b/Main/System/Equip/EquipExchangeCell.cs.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: f510c442e570ac446af81fa008cc0367
+guid: d9cfe093a2a035a4ab2e4d90eac6a86a
MonoImporter:
externalObjects: {}
serializedVersion: 2
diff --git a/Main/System/Equip/EquipExchangeWin.cs b/Main/System/Equip/EquipExchangeWin.cs
new file mode 100644
index 0000000..e39f807
--- /dev/null
+++ b/Main/System/Equip/EquipExchangeWin.cs
@@ -0,0 +1,78 @@
+锘縰sing Spine;
+using System;
+using System.Collections;
+using System.Collections.Generic;
+
+using UnityEngine;
+using UnityEngine.UI;
+
+//鑾峰緱瑁呭鐣岄潰
+public class EquipExchangeWin : UIBase
+{
+ [SerializeField] EquipExchangeCell oldEquipObj;
+ [SerializeField] EquipExchangeCell newEquipObj;
+
+
+
+
+ protected override void OnPreOpen()
+ {
+
+ // 閫氱煡涓绘垬鍦烘殏鍋�
+ BattleManager.Instance.storyBattleField.IsPause = true;
+ EquipModel.Instance.OnEquipOPResultAction += OnRefreshItem;
+ Display();
+ // if (EquipModel.Instance.newEquipIDToGuideID.ContainsKey(EquipModel.Instance.selectFloorEquip.itemId))
+ // {
+ // // if (!NewBieCenter.Instance.IsGuideCompleted(EquipModel.Instance.newEquipIDToGuideID[EquipModel.Instance.selectFloorEquip.itemId]))
+ // // NewBieCenter.Instance.StartNewBieGuideEx(EquipModel.Instance.newEquipIDToGuideID[EquipModel.Instance.selectFloorEquip.itemId]);
+ // }
+ }
+
+
+
+ protected override void OnPreClose()
+ {
+ EquipModel.Instance.OnEquipOPResultAction -= OnRefreshItem;
+ // 閫氱煡涓绘垬鍦�
+ BattleManager.Instance.storyBattleField.IsPause = false;
+ }
+
+
+
+
+ void Display()
+ {
+ EquipModel.Instance.lastShowEquipIndex = EquipModel.Instance.selectFloorEquip.config.EquipPlace - 1;
+ var oldEquip = PackManager.Instance.GetItemByIndex(PackType.Equip, EquipModel.Instance.lastShowEquipIndex);
+ if (oldEquip == null)
+ {
+ oldEquipObj.SetActive(false);
+ newEquipObj.SetActive(true);
+ newEquipObj.Display(EquipModel.Instance.selectFloorEquip, true);
+ }
+ else
+ {
+ oldEquipObj.SetActive(true);
+ newEquipObj.SetActive(true);
+ oldEquipObj.Display(oldEquip, false);
+ newEquipObj.Display(EquipModel.Instance.selectFloorEquip, true);
+
+ }
+
+ }
+
+
+
+ void OnRefreshItem(bool isDone, int index)
+ {
+ Display();
+ }
+
+
+}
+
+
+
+
+
diff --git a/Main/Config/Configs/EquipGSParamConfig.cs.meta b/Main/System/Equip/EquipExchangeWin.cs.meta
similarity index 83%
copy from Main/Config/Configs/EquipGSParamConfig.cs.meta
copy to Main/System/Equip/EquipExchangeWin.cs.meta
index 142c67b..0a50ddf 100644
--- a/Main/Config/Configs/EquipGSParamConfig.cs.meta
+++ b/Main/System/Equip/EquipExchangeWin.cs.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: f510c442e570ac446af81fa008cc0367
+guid: 6854b489b6d72ab4d894390ea8e9e08e
MonoImporter:
externalObjects: {}
serializedVersion: 2
diff --git a/Main/System/Equip/EquipFightPower.cs b/Main/System/Equip/EquipFightPower.cs
deleted file mode 100644
index 0809790..0000000
--- a/Main/System/Equip/EquipFightPower.cs
+++ /dev/null
@@ -1,159 +0,0 @@
-锘縰sing System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
-
-
-public class EquipFightPower : Singleton<EquipFightPower>
-{
- string scoreFormula;
- string propertyFormula;
-
- public EquipFightPower()
- {
- var config = FuncConfigConfig.Get("FightpowerFormula");
- propertyFormula = config.Numerical1;
- scoreFormula = config.Numerical2;
- }
-
- public int GetSpiritWeaponPower(int itemId)
- {
- var score = ItemLogicUtility.Instance.GetEquipScore(itemId);
- Equation.Instance.Clear();
- Equation.Instance.AddKeyValue("equipScoreTotal", score);
- return Equation.Instance.Eval<int>(scoreFormula);
- }
-
- public int CalculatePower(int level)
- {
- Equation.Instance.Clear();
- Equation.Instance.AddKeyValue("equipScoreTotal", CountEquipScore(level));
- var power = Equation.Instance.Eval<int>(scoreFormula);
-
- var propertyContainer = new Properties();
-
- Equation.Instance.Clear();
- var keys = propertyContainer.keys;
- for (int i = 0; i < keys.Count; i++)
- {
- var id = keys[i];
- var value = propertyContainer[id];
- var config = PlayerPropertyConfig.Get(id);
- Equation.Instance.AddKeyValue(config.Parameter, value);
- }
-
- var propertyPower = Equation.Instance.Eval<int>(propertyFormula);
- power += propertyPower;
-
-
- return power;
- }
-
- private int CountEquipScore(int level)
- {
- var score = 0;
- // for (int i = 1; i <= 12; i++)
- // {
- // var equipPosition = new Int2(level, i);
- // var guid = equipModel.GetEquip(equipPosition);
- // if (string.IsNullOrEmpty(guid))
- // {
- // continue;
- // }
-
- // var equip = packModel.GetItemByGuid(guid);
- // if (equip == null)
- // {
- // continue;
- // }
-
- // score += equip.score;
- // }
-
- return score;
- }
-
-
-
- public int CalculatePower(int job, int level, List<EquipInfo> equipInfos)
- {
- var propertyContainer = new Properties();
- var totalScore = 0;
-
-
- Equation.Instance.Clear();
- Equation.Instance.AddKeyValue("equipScoreTotal", totalScore);
- var power = Equation.Instance.Eval<int>(scoreFormula);
-
- Equation.Instance.Clear();
- var keys = propertyContainer.keys;
- for (int i = 0; i < keys.Count; i++)
- {
- var id = keys[i];
- var value = propertyContainer[id];
- var config = PlayerPropertyConfig.Get(id);
- if (config != null)
- {
- Equation.Instance.AddKeyValue(config.Parameter, value);
- }
-
- }
-
- power += Equation.Instance.Eval<int>(propertyFormula);
-
- return power;
- }
-
- class Properties
- {
- Dictionary<int, int> tables = new Dictionary<int, int>();
-
- public List<int> keys { get { return new List<int>(tables.Keys); } }
-
- public int this[int id] { get { return tables[id]; } }
-
- public void Add(int id, int value)
- {
- if (id == 7)
- {
- Add(67, value);
- Add(68, value);
- }
- else
- {
- if (tables.ContainsKey(id))
- {
- tables[id] = tables[id] + value;
- }
- else
- {
- tables[id] = value;
- }
- }
- }
-
- public void AddRange(List<int> ids, List<int> values)
- {
- if (ids.IsNullOrEmpty() || values.IsNullOrEmpty())
- {
- return;
- }
-
- var count = Mathf.Min(ids.Count, values.Count);
- for (int i = 0; i < count; i++)
- {
- Add(ids[i], values[i]);
- }
- }
-
- }
-
- public struct EquipInfo
- {
- public int itemId;
- public int score;
-
- }
-
-}
-
-
diff --git a/Main/System/Equip/EquipModel.cs b/Main/System/Equip/EquipModel.cs
index 62c439e..cb42268 100644
--- a/Main/System/Equip/EquipModel.cs
+++ b/Main/System/Equip/EquipModel.cs
@@ -3,36 +3,63 @@
using UnityEngine;
using System;
using LitJson;
+using UnityEngine.UI;
public class EquipModel : GameSystemManager<EquipModel>
{
- EquipSet equipSet = new EquipSet(0);
+ public bool waitEquipOPPack = false;
+ public event Action<bool, int > OnEquipOPResultAction; //鏄惁鎹笂浜嗘柊瑁呭涓斿垎瑙d簡 瑁呭绱㈠紩
+ public event Action<List<int>, RectTransform> OnItemDropEvent;
+ //鐢ㄤ簬椋樺姩閫昏緫
+ // public Dictionary<int, EquipOnFloorInfo> equipFloorInfo = new Dictionary<int, EquipOnFloorInfo>(); //鐪熷疄鑳屽寘鐨勭储寮曪紝瀵瑰簲鍦版澘瑁呭鐨勪俊鎭�
- public void OnPlayerLoginOk()
- {
-
- }
+ public int[] equipUIEffectLights; //瑁呭鎺夎惤鐗规晥
+ public float[] dropEffectScales; //鎺夎澶囩殑鍔ㄧ敾缂╂斁
+ public Dictionary<int, int> newEquipIDToGuideID = new Dictionary<int, int>(); //瑁呭鎺夎惤id锛屽紩瀵肩殑id
+ public int[] equipUIEffects; //瑁呭TIP闈㈡澘鐗规晥
+ public int[] equipUIGirdEffects; //瑁呭鏍煎瓙鐗规晥
+ public ItemModel selectFloorEquip; //閫変腑鐨勫湴鏉胯澶�
+ public int lastShowEquipIndex = -1; //涓婁竴娆$晫闈㈡樉绀鸿澶囩殑绱㈠紩锛屾嬀鍙栧悗鐗╁搧娑堝け闇�璁板綍涓嬪仛琛ㄧ幇
+ public Queue<int> waitEquipOP = new Queue<int>(); //绛夊緟鎿嶄綔鐨勮澶囷紝闇�瑕佸拰UI浜や簰纭
public override void Init()
{
-
+ DTCA814_tagMCMakeItemAnswer.MakeItemAnswerEvent += OnEquipResult;
+ DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent += BeforePlayerDataInitialize;
+ EventBroadcast.Instance.AddListener<string, BattleDrops, Action>(EventName.BATTLE_DROP_ITEMS, OnDropEvent);
+ ParseConfig();
}
public override void Release()
{
+ DTCA814_tagMCMakeItemAnswer.MakeItemAnswerEvent -= OnEquipResult;
+ DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent -= BeforePlayerDataInitialize;
+ EventBroadcast.Instance.RemoveListener<string, BattleDrops, Action>(EventName.BATTLE_DROP_ITEMS, OnDropEvent);
}
- public Dictionary<int, int> EquipLevelFuncID = new Dictionary<int, int>();
-
- public void OnAfterPlayerDataInitialize()
+ void ParseConfig()
{
+ var config = FuncConfigConfig.Get("DropItem");
+ equipUIEffectLights = JsonMapper.ToObject<int[]>(config.Numerical1);
+ dropEffectScales = JsonMapper.ToObject<float[]>(config.Numerical2);
+ newEquipIDToGuideID = ConfigParse.ParseIntDict(config.Numerical3);
+ config = FuncConfigConfig.Get("EquipTip");
+ equipUIEffects = JsonMapper.ToObject<int[]>(config.Numerical1);
}
-
+ void BeforePlayerDataInitialize()
+ {
+ //鏂嚎閲嶈繛涓嶅鐞�
+ if (DTC0102_tagCDBPlayer.isAfterPlayerDataInitialize)
+ return;
+ selectFloorEquip = null;
+ waitEquipOP.Clear();
+ lastShowEquipIndex = -1;
+ }
public static int GetItemServerEquipPlace(int itemId)
{
@@ -42,44 +69,283 @@
return -1;
}
- var serverEquipPlace = -1;
- switch ((RoleEquipType)config.EquipPlace)
+ if (config.EquipPlace > 0 && config.EquipPlace < 13)
{
- case RoleEquipType.Weapon:
- case RoleEquipType.Weapon2:
- case RoleEquipType.Hat:
- case RoleEquipType.Clothes:
- case RoleEquipType.Belt:
- case RoleEquipType.Trousers:
- case RoleEquipType.Shoes:
- case RoleEquipType.Neck:
- case RoleEquipType.FairyCan1:
- case RoleEquipType.FairyCan2:
- case RoleEquipType.Glove:
- case RoleEquipType.Jade:
- serverEquipPlace = EquipSet.ClientPlaceToServerPlace(new Int2(config.LV, config.EquipPlace));
- break;
- case RoleEquipType.Wing:
- case RoleEquipType.Guard:
- case RoleEquipType.PeerlessWeapon1:
- case RoleEquipType.PeerlessWeapon2:
- serverEquipPlace = EquipSet.ClientPlaceToServerPlace(new Int2(0, config.EquipPlace));
- break;
+ return config.EquipPlace - 1;
}
- return serverEquipPlace;
+
+ return -1;
}
- public int CompareToCurrent(string equipGuid)
+ void OnDropEvent(string guid, BattleDrops drops, Action action)
+ {
+ NotifyItemDrop(drops.dropItemPackIndex, drops.rectTransform);
+ action?.Invoke();
+ }
+
+ //鎺夎惤閫氱煡
+ public void NotifyItemDrop(List<int> indexs, RectTransform rect)
{
- var item = PackManager.Instance.GetItemByGuid(equipGuid);
+ // 鐣岄潰涓嶆樉绀哄垯绔嬪嵆澶勭悊
+ if (!UIManager.Instance.IsOpened<HomeWin>())
+ {
+ for (int i = 0; i < indexs.Count; i++)
+ {
+ CalcFloorEquip(indexs[i]);
+ }
+ }
+ else
+ {
+ OnItemDropEvent?.Invoke(indexs, rect);
+ }
+ }
+
+ public void CalcFloorEquip(int itemIndex)
+ {
+ if (itemIndex == -1)
+ return;
+
+ var item = PackManager.Instance.GetItemByIndex(PackType.DropItem, itemIndex);
if (item == null)
+ return;
+
+ //闈炶嚜鍔ㄦā寮忎笅锛岀瓫閫夎澶囨墦寮�瑁呭鎿嶄綔鐣岄潰
+ if (IsEquip(item))
+ {
+ OpenEquipExchangeWin(item);
+ }
+ else
+ {
+ SendEquipOP(new ushort[] { (ushort)itemIndex }, 0);
+ }
+ }
+
+ private void OnEquipResult(HA814_tagMCMakeItemAnswer info)
+ {
+ if (info.MakeType != (int)MakeType.EquipOP)
+ return;
+ if (info.MakeValue == 0)
+ return;
+
+ waitEquipOPPack = false;
+ bool isDone = false; // 鎹笂鏂拌澶囦笖鍒嗚В浜嗘棫瑁呭
+ //閫変腑鐨勫湴鏉胯澶囪繘琛屽鐞嗭紝鏇挎崲杩樻槸鎵句笅涓�浠讹紝妫�鏌nEquipOPResultAction
+ if (selectFloorEquip != null)
+ {
+ Debug.Log("OnEquipResult selectFloorEquip ID:" + selectFloorEquip.itemId);
+ if (PackManager.Instance.GetItemByIndex(PackType.DropItem, selectFloorEquip.gridIndex) == null)
+ {
+ selectFloorEquip = GetSelectFloorEquip(); //鍒犻櫎宸查�夋嫨鐨勮澶�
+ if (info.MakeValue == 2)
+ isDone = true;
+ }
+ }
+ else
+ {
+ selectFloorEquip = GetSelectFloorEquip();
+ if (info.MakeValue == 2)
+ isDone = true;
+ }
+
+ if (selectFloorEquip == null)
+ {
+ if (UIManager.Instance.IsOpened<EquipExchangeWin>())
+ {
+ UIManager.Instance.CloseWindow<EquipExchangeWin>();
+ }
+ }
+ else
+ {
+ if (!UIManager.Instance.IsOpened<EquipExchangeWin>())
+ {
+ UIManager.Instance.OpenWindow<EquipExchangeWin>();
+ }
+ }
+
+ OnEquipOPResultAction?.Invoke(isDone, lastShowEquipIndex);
+ }
+
+ /// <summary>
+ /// 瑁呭鎿嶄綔, // 0 - 鎷惧彇闈炶澶囩墿鍝侊紱1 - 鍒嗚В锛�2 - 绌挎埓/鏇挎崲
+ /// </summary>
+ /// <param name="itemIndexList"></param>
+ /// <param name="opType"></param>
+ /// <param name="autoDecompose"></param>
+ public void SendEquipOP(ushort[] itemIndexList, byte opType, bool autoDecompose = false)
+ {
+ if (waitEquipOPPack) return;
+
+ // NoteFloorEquip(itemIndexList, opType);
+ var pack = new CB415_tagCSMainDropItemOP();
+ pack.Count = (byte)itemIndexList.Length;
+ pack.IndexList = itemIndexList;
+ pack.OPType = opType;
+ pack.OPValue = (byte)(autoDecompose ? 1 : 0); // 鏇挎崲鍚庢槸鍚﹁嚜鍔ㄥ垎瑙e師瑁呭锛�0鍚�1鏄�
+
+ if (opType > 0)
+ waitEquipOPPack = true;
+ GameNetSystem.Instance.SendInfo(pack);
+ }
+
+ /// <summary>
+ /// equipFloorInfo璁板綍鍦版澘閬撳叿鐨勬渶鏂颁竴娆′俊鎭�,鐢ㄤ簬鏇挎崲鍜屽垎瑙h澶囩殑琛ㄧ幇
+ /// </summary>
+ /// <param name="itemIndexList">鍦版澘閬撳叿绱㈠紩</param>
+ /// <param name="opType"></param>
+ // public void NoteFloorEquip(ushort[] itemIndexList, int opType)
+ // {
+ // equipFloorInfo.Clear();
+ // foreach (var girdIndex in itemIndexList)
+ // {
+ // var equip = PackManager.Instance.GetItemByIndex(PackType.DropItem, girdIndex);
+ // if (equip == null) continue;
+ // equipFloorInfo[girdIndex] = new EquipOnFloorInfo()
+ // {
+ // equipID = equip.itemId,
+ // posX = floorItemCellArr[girdIndex].transform.position.x,
+ // posY = floorItemCellArr[girdIndex].transform.position.y,
+ // opType = opType
+ // };
+ // }
+
+ // }
+
+ public class EquipOnFloorInfo
+ {
+ public int equipID; //閬撳叿鎴栬�呰澶囷紝閬撳叿鍒嗚В瀵瑰簲涓嶅悓璐у竵锛岃澶囧浐瀹氳揣甯�
+ public float posX; //鍏ㄥ眬鍧愭爣 琛ㄧ幇鍐嶈浆鎴恖ocal
+ public float posY;
+ public int opType; // 0 - 鎷惧彇闈炶澶囩墿鍝侊紱1 - 鍒嗚В锛�2 - 绌挎埓/鏇挎崲锛�
+ }
+
+ // public EquipOnFloorInfo FindExchangeEquipInfo()
+ // {
+ // foreach (var info in equipFloorInfo)
+ // {
+ // if (info.Value.opType == 2)
+ // return info.Value;
+ // }
+ // return new EquipOnFloorInfo();
+ // }
+
+ public bool OpenEquipExchangeWin(ItemModel equip)
+ {
+ if (equip == null)
+ return false;
+
+ // if (!IsEquip(equip))
+ // return false;
+
+ waitEquipOP.Enqueue(equip.gridIndex);
+ //鏈洖澶嶈澶囨搷浣滅粨鏋滐紝鍚﹀垯浼氭樉绀烘棫瑁呭
+ if (waitEquipOPPack)
+ return false;
+
+ // 鍚庣画琛ュ厖寮曞鎴栬�呭叾浠栨儏鍐典笅锛屼笉鍏佽鍒囨崲瑁呭鐣岄潰
+ // if (NewBieCenter.Instance.inGuiding)
+ // return;
+
+ if (UIManager.Instance.IsOpened<EquipExchangeWin>())
+ {
+ return false;
+ }
+
+
+ selectFloorEquip = GetSelectFloorEquip();
+ UIManager.Instance.OpenWindow<EquipExchangeWin>();
+
+ return true;
+
+ }
+
+
+ ItemModel GetSelectFloorEquip()
+ {
+ if (waitEquipOP.Count == 0)
+ return null;
+
+ ItemModel item = PackManager.Instance.GetItemByIndex(PackType.DropItem, waitEquipOP.Dequeue());
+ if (AutoFightModel.Instance.isAutoAttack)
+ {
+ //鑷姩鎴樺姏瀵规瘮, 鏉′欢涓嶆弧瓒崇殑鍒嗚В
+ return null;
+
+ }
+
+ return item;
+ }
+
+
+ //绛夌骇
+ public int GetEquipLV(ItemModel equip)
+ {
+ if (equip == null)
{
return 0;
}
+ return equip.GetUseDataFirstValue(22);
+ }
- return equipSet.CompareToCurrent(equipGuid);
+ //鍩虹灞炴�D鍒楄〃
+ public List<int> GetEquipBaseAttrs(ItemModel equip)
+ {
+ if (equip == null)
+ {
+ return new List<int>();
+ }
+ return equip.GetUseData(21);
+ }
+
+
+ //鍩虹灞炴�у�煎垪琛�
+ public List<int> GetEquipBaseValues(ItemModel equip)
+ {
+ if (equip == null)
+ {
+ return new List<int>();
+ }
+ return equip.GetUseData(23);
+ }
+
+ //鎴樻枟灞炴�D鍒楄〃
+ public List<int> GetEquipFightAttrs(ItemModel equip)
+ {
+ if (equip == null)
+ {
+ return new List<int>();
+ }
+ return equip.GetUseData(17);
+ }
+
+ //鎴樻枟灞炴�у�煎垪琛�
+ public List<int> GetEquipFightValues(ItemModel equip)
+ {
+ if (equip == null)
+ {
+ return new List<int>();
+ }
+ return equip.GetUseData(19);
+ }
+
+
+ //寰楀埌瑁呭浣嶅搴旂殑閮ㄤ綅鍚嶇О
+ public string GetEquipPlaceName(int place)
+ {
+
+ return Language.Get("equipPlace" + place);
+ }
+
+ //鏄惁瑁呭
+ public bool IsEquip(ItemModel item)
+ {
+ return item.config.EquipPlace != 0;
+ }
+
+ public bool IsEquip(int itemID)
+ {
+ return ItemConfig.Get(itemID).EquipPlace != 0;
}
}
diff --git a/Main/System/Equip/EquipSet.cs b/Main/System/Equip/EquipSet.cs
deleted file mode 100644
index 80ecb71..0000000
--- a/Main/System/Equip/EquipSet.cs
+++ /dev/null
@@ -1,106 +0,0 @@
-锘縰sing System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
-
-//涓诲姛鑳芥暣濂楄澶�
-public class EquipSet
-{
- public readonly int maxEquipCnt = 12; //鏈�澶ц澶囨牸瀛愭暟
- public readonly int mark; //澶氬鎯呭喌锛屾垨鑰呭娴佹淳瀛樺偍
- public bool unLocked { get { return true; } } //鍚庣画鏍规嵁鐜╂硶瑙i攣鐨勬儏鍐碉紝濡傝喘涔板瓨鍌ㄦ祦娲句綅
-
- public int fightPower {
- get {
- return EquipFightPower.Instance.CalculatePower(mark);
- }
- }
-
- Dictionary<int, EquipSlot> equipSlots = new Dictionary<int, EquipSlot>();
-
- public EquipSet(int mark)
- {
- this.mark = mark;
- for (var i = 1; i <= maxEquipCnt; i++)
- {
- equipSlots[i] = new EquipSlot(i);
- }
-
- }
-
- public void UpdateEquipSlot(int place, string equipGuid)
- {
- if (equipSlots.ContainsKey(place))
- {
- equipSlots[place].equip.value = equipGuid;
- }
- }
-
-
-
- public EquipSlot GetEquipSlot(int place)
- {
- if (!equipSlots.ContainsKey(place))
- {
- return null;
- }
-
- return equipSlots[place];
- }
-
- public string GetEquip(int place)
- {
- if (!equipSlots.ContainsKey(place))
- {
- return null;
- }
-
- return equipSlots[place].equip.value;
- }
-
-
-
- public int CompareToCurrent(string equipGuid)
- {
- var item = PackManager.Instance.GetItemByGuid(equipGuid); //闇�鏀规垚鍦版澘鐗╁搧
- if (item == null)
- {
- return 0;
- }
-
- var place = item.config.EquipPlace;
- if (!equipSlots.ContainsKey(place))
- {
- return 0;
- }
-
- var slot = equipSlots[place];
- var currentEquip = PackManager.Instance.GetItemByGuid(slot.equip.value);
- if (currentEquip == null)
- {
- return 1;
- }
-
- return item.score.CompareTo(currentEquip.score);
- }
-
- public static Int2 ServerPlaceToClientPlace(int serverPlace)
- {
- var config = EquipPlaceMapConfig.Get(serverPlace);
- if (config != null)
- {
- return new Int2(config.LV, config.EquipPlace);
- }
- else
- {
- return Int2.zero;
- }
- }
-
- public static int ClientPlaceToServerPlace(Int2 equipPosition)
- {
- return EquipPlaceMapConfig.GetServerPlace(equipPosition.x, equipPosition.y);
- }
-
-}
-
-
diff --git a/Main/System/Equip/EquipSet.cs.meta b/Main/System/Equip/EquipSet.cs.meta
deleted file mode 100644
index 78440b6..0000000
--- a/Main/System/Equip/EquipSet.cs.meta
+++ /dev/null
@@ -1,12 +0,0 @@
-fileFormatVersion: 2
-guid: 5e6ca401fb2c59844b89e981c4a58bc0
-timeCreated: 1551096917
-licenseType: Pro
-MonoImporter:
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Main/System/Equip/EquipSlot.cs b/Main/System/Equip/EquipSlot.cs
deleted file mode 100644
index 599a32c..0000000
--- a/Main/System/Equip/EquipSlot.cs
+++ /dev/null
@@ -1,20 +0,0 @@
-锘縰sing System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
-
-//瑁呭浣嶇疆涓婄殑淇℃伅锛堝崟鏍煎瓙锛夛紝澶氭祦娲惧彲鐢�
-public class EquipSlot
-{
- public int equipPosition;
- public readonly LogicString equip = new LogicString();
- public int itemId;
-
- public EquipSlot(int equipPosition)
- {
- this.equipPosition = equipPosition;
- }
-
-
-}
-
-
diff --git a/Main/System/Equip/EquipSlot.cs.meta b/Main/System/Equip/EquipSlot.cs.meta
deleted file mode 100644
index e03634b..0000000
--- a/Main/System/Equip/EquipSlot.cs.meta
+++ /dev/null
@@ -1,12 +0,0 @@
-fileFormatVersion: 2
-guid: e1fa9aacd2e109c4c954083ce08738e4
-timeCreated: 1551097235
-licenseType: Pro
-MonoImporter:
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Main/System/Equip/EquipTipWin.cs b/Main/System/Equip/EquipTipWin.cs
new file mode 100644
index 0000000..ec865c8
--- /dev/null
+++ b/Main/System/Equip/EquipTipWin.cs
@@ -0,0 +1,125 @@
+锘縰sing System;
+using System.Collections.Generic;
+using Cysharp.Threading.Tasks;
+using UnityEngine;
+using UnityEngine.UI;
+
+//瑁呭TIP鐣岄潰
+public class EquipTipWin : UIBase
+{
+ [SerializeField] Image equipImage;
+ [SerializeField] Text itemName;
+ [SerializeField] OutlineEx itemNameOutline;
+ [SerializeField] Text qualityName;
+ [SerializeField] OutlineEx qualityNameOutline;
+ [SerializeField] Text placeName;
+ [SerializeField] Text lvText;
+ [SerializeField] Image bgFlower; //鑳屾櫙鑺辩汗鍙樿壊
+ [SerializeField] List<Text> baseAttrNames;
+ [SerializeField] List<Text> baseAttrValues;
+ [SerializeField] GameObject fightAttrGameObj;
+ [SerializeField] List<GameObject> fightAttrLine;
+ [SerializeField] List<Text> fightAttrNames;
+ [SerializeField] List<Text> fightAttrValues;
+
+ [SerializeField] UIEffectPlayer uieffect;
+ [SerializeField] RectTransform bgRect;
+
+ ItemModel equip;
+ protected override void OnPreOpen()
+ {
+ equip = PackManager.Instance.GetItemByGuid(ItemTipUtility.mainTipData.guid);
+ Display(equip);
+ }
+
+ protected override void OnOpen()
+ {
+ //鐗规晥鏄剧ず渚濊禆rect鐨勬帓鐗堬紝鏀惧湪涓嬩竴甯�
+ RefreshEffect(equip).Forget();
+ }
+
+ protected override void OnPreClose()
+ {
+ equip = null;
+ }
+
+ public void Display(ItemModel equip)
+ {
+
+ equipImage.SetOrgSprite(equip.config.IconKey);
+ itemName.text = UIHelper.AppendColor(equip.config.ItemColor, equip.config.ItemName, true, 1);
+ itemNameOutline.OutlineColor = UIHelper.GetUIOutlineColor(equip.config.ItemColor);
+ qualityName.text = UIHelper.GetQualityNameWithColor(equip.config.ItemColor, Language.Get("equipQualityFormat"));
+ qualityNameOutline.OutlineColor = UIHelper.GetUIOutlineColor(equip.config.ItemColor);
+ placeName.text = EquipModel.Instance.GetEquipPlaceName(equip.config.EquipPlace);
+ lvText.text = Language.Get("EquipExchangeWin7", EquipModel.Instance.GetEquipLV(equip));
+ bgFlower.color = UIHelper.GetUIColor(equip.config.ItemColor);
+
+
+ var baseAttrs = EquipModel.Instance.GetEquipBaseAttrs(equip);
+ var baseValues = EquipModel.Instance.GetEquipBaseValues(equip);
+ var fightAttrs = EquipModel.Instance.GetEquipFightAttrs(equip);
+ var fightValues = EquipModel.Instance.GetEquipFightValues(equip);
+
+ for (var i = 0; i < baseAttrNames.Count; i++)
+ {
+ if (i >= baseAttrs.Count)
+ {
+ baseAttrNames[i].text = "";
+ baseAttrValues[i].text = "";
+ }
+ else
+ {
+ baseAttrNames[i].text = PlayerPropertyConfig.Get(baseAttrs[i]).Name;
+ baseAttrValues[i].text = PlayerPropertyConfig.GetValueDescription(baseAttrs[i], baseValues[i]);
+ }
+ }
+
+ if (fightAttrs.IsNullOrEmpty())
+ {
+ fightAttrGameObj.SetActive(false);
+ }
+ else
+ {
+ fightAttrGameObj.SetActive(true);
+ for (var i = 0; i < fightAttrNames.Count; i++)
+ {
+ if (i >= fightAttrs.Count)
+ {
+ fightAttrNames[i].SetActive(false);
+ }
+ else
+ {
+ fightAttrNames[i].SetActive(true);
+ fightAttrNames[i].text = PlayerPropertyConfig.Get(fightAttrs[i]).Name;
+ fightAttrValues[i].text = PlayerPropertyConfig.GetValueDescription(fightAttrs[i], fightValues[i]);
+ }
+ }
+ }
+
+ }
+
+ //寤惰繜澶勭悊鐗规晥澶у皬
+ async UniTask RefreshEffect(ItemModel equip)
+ {
+ await UniTask.DelayFrame(5);
+ int effectID = EquipModel.Instance.equipUIEffects[Math.Min(equip.config.ItemColor, EquipModel.Instance.equipUIEffects.Length) - 1];
+ if (effectID == 0)
+ {
+ uieffect.Stop();
+ }
+ else
+ {
+ uieffect.effectId = effectID;
+ //璁$畻楂樺害缂╂斁姣斾緥 鐗规晥鏄剧ず渚濊禆rect鐨勬帓鐗�
+ uieffect.transform.localScale = new Vector3(0.98f, bgRect.rect.height / uieffect.GetComponent<RectTransform>().rect.height, 1);
+ uieffect.Play();
+ }
+ }
+
+}
+
+
+
+
+
diff --git a/Main/Config/Configs/EquipGSParamConfig.cs.meta b/Main/System/Equip/EquipTipWin.cs.meta
similarity index 83%
copy from Main/Config/Configs/EquipGSParamConfig.cs.meta
copy to Main/System/Equip/EquipTipWin.cs.meta
index 142c67b..5bc25e6 100644
--- a/Main/Config/Configs/EquipGSParamConfig.cs.meta
+++ b/Main/System/Equip/EquipTipWin.cs.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: f510c442e570ac446af81fa008cc0367
+guid: c4548b7cf21c8394fb9dc6e8f52676ee
MonoImporter:
externalObjects: {}
serializedVersion: 2
diff --git a/Main/System/Equip/FloorItemCell.cs b/Main/System/Equip/FloorItemCell.cs
new file mode 100644
index 0000000..9264178
--- /dev/null
+++ b/Main/System/Equip/FloorItemCell.cs
@@ -0,0 +1,101 @@
+锘縰sing DG.Tweening;
+using System;
+using System.Linq;
+using UnityEngine;
+using UnityEngine.EventSystems;
+using UnityEngine.UI;
+
+public class FloorItemCell : MonoBehaviour, IPointerClickHandler
+{
+
+ [SerializeField] Image itemImage;
+ [SerializeField] UIEffectPlayer uieff;
+ [SerializeField] RectTransform scaleObject; //閰嶅悎鍝佽川鍋氱壒鏁堢缉鏀�
+
+ int itemIndex = -1;
+ bool isPlaying = false;
+
+ Vector2 startPos = new Vector2(10000, 10000); //璧峰浣嶇疆锛岀敤浜庨噸缃�
+ /// <summary>
+ /// 鎾斁鎺夎惤鐗╁搧
+ /// </summary>
+ /// <param name="index">鎺夎惤鑳屽寘绱㈠紩</param>
+ /// <param name="isAnimate">鏄惁鎾斁鎺夎惤鍔ㄧ敾</param>
+ public void Display(int index, bool isAnimate, RectTransform rect)
+ {
+ itemIndex = index;
+ float duration = 0.5f / AutoFightModel.Instance.fightSpeed; //鎺夎惤鏃堕棿
+ var item = PackManager.Instance.GetItemByIndex(PackType.DropItem, index);
+ if (item == null)
+ {
+ this.transform.SetActive(false);
+ return;
+ }
+ itemImage.SetOrgSprite(item.config.IconKey);
+ int effectID = EquipModel.Instance.equipUIEffectLights[Math.Min(item.config.ItemColor, EquipModel.Instance.equipUIEffectLights.Length) - 1];
+ if (effectID == 0)
+ {
+ uieff.Stop();
+ }
+ else
+ {
+ uieff.effectId = effectID;
+ float scale = EquipModel.Instance.dropEffectScales[Math.Min(item.config.ItemColor, EquipModel.Instance.equipUIEffectLights.Length) - 1];
+ scaleObject.localScale = new Vector3(scale, scale, 1);
+ 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));
+ }
+ if (isAnimate)
+ {
+ isPlaying = true;
+ //闅忔満鏂瑰悜杩斿洖1鎴栬��-1
+ int randDir = UnityEngine.Random.Range(0, 2) == 0 ? 1 : -1;
+
+ this.transform.localPosition = startPos;
+ this.transform.DOLocalPath(new Vector3[] { startPos,
+ new Vector3(startPos.x + randDir * 15, startPos.y + 30f, 0),
+ new Vector3(startPos.x + randDir * 35, startPos.y + UnityEngine.Random.Range(-140, -130), 0) }, duration, PathType.CatmullRom).SetEase(Ease.InOutSine).OnComplete(CompleteDrop);
+ }
+ else
+ {
+ this.transform.localPosition = startPos;
+ // 鎵嬪姩鐐瑰嚮鎴栬�呰嚜鍔ㄦā寮忎笅澶勭悊
+ // EquipModel.Instance.CalcFloorEquip(itemIndex);
+ // itemIndex = -1;
+ }
+ }
+
+ public void OnPointerClick(PointerEventData eventData)
+ {
+ if (!isPlaying)
+ CompleteDrop();
+ }
+
+ void CompleteDrop()
+ {
+ EquipModel.Instance.CalcFloorEquip(itemIndex);
+ isPlaying = false;
+ itemIndex = -1;
+ }
+
+ // void OnDisable()
+ // {
+ // CompleteDrop();
+ // }
+}
+
+
+
diff --git a/Main/Config/Configs/EquipGSParamConfig.cs.meta b/Main/System/Equip/FloorItemCell.cs.meta
similarity index 83%
copy from Main/Config/Configs/EquipGSParamConfig.cs.meta
copy to Main/System/Equip/FloorItemCell.cs.meta
index 142c67b..d1b9ef3 100644
--- a/Main/Config/Configs/EquipGSParamConfig.cs.meta
+++ b/Main/System/Equip/FloorItemCell.cs.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: f510c442e570ac446af81fa008cc0367
+guid: ded146761f9ff1a4888dae05204a45b8
MonoImporter:
externalObjects: {}
serializedVersion: 2
diff --git a/Main/System/Equip/ItemsOnFloor.cs b/Main/System/Equip/ItemsOnFloor.cs
new file mode 100644
index 0000000..f3f8555
--- /dev/null
+++ b/Main/System/Equip/ItemsOnFloor.cs
@@ -0,0 +1,118 @@
+锘縰sing Cysharp.Threading.Tasks;
+using DG.Tweening;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using UnityEngine;
+using UnityEngine.UI;
+
+public class ItemsOnFloor : MonoBehaviour
+{
+ [SerializeField] RectTransform floorUI; //鎺夎惤閬撳叿鏄剧ず鐨勭埗绫�
+ [SerializeField] FloorItemCell floorItemCell; //闈炶澶囨樉绀虹粍浠�
+ [SerializeField] MoneyMoveByPath moneyMoveByPathCell; //鎺夎惤鐗╅噾閽�
+
+ FloorItemCell[] floorItemCells = new FloorItemCell[20]; //鍖呭惈闈炶澶囩殑鎴樺埄鍝佹帀钀�
+ MoneyMoveByPath[] moneyMoveByPathArr = new MoneyMoveByPath[20]; //鎺夎惤璐у竵锛岄噾閽憋紝缁忛獙绛�
+
+
+ void Awake()
+ {
+ for (int i = 0; i < floorItemCells.Length; i++)
+ {
+ //灏嗛鍒朵綋瀹炰緥鍖栧埌鐣岄潰涓�
+ var inst = Instantiate(floorItemCell, floorUI);
+ inst.gameObject.name = "floorItemCell" + i;
+ inst.transform.localPosition = Vector3.zero;
+ floorItemCells[i] = inst;
+ }
+ for (int i = 0; i < moneyMoveByPathArr.Length; i++)
+ {
+ var mmbpath = Instantiate(moneyMoveByPathCell, floorUI);
+ mmbpath.gameObject.name = "moneyMoveByPath" + i;
+ mmbpath.transform.localPosition = Vector3.zero;
+ moneyMoveByPathArr[i] = mmbpath;
+ }
+ }
+
+
+ //涓荤晫闈㈠垏鎹㈡ā寮忚Е鍙�
+ private void OnEnable()
+ {
+ //涓荤晫闈㈡墦寮�鍜屾樉闅愰兘瑕佸埛鏂�
+ Display();
+ EquipModel.Instance.OnItemDropEvent += NotifyPlayItemDrop;
+ PackManager.Instance.DeleteItemEvent += DeleteDropItem;
+ }
+
+
+ private void OnDisable()
+ {
+ EquipModel.Instance.OnItemDropEvent -= NotifyPlayItemDrop;
+ PackManager.Instance.DeleteItemEvent -= DeleteDropItem;
+
+ }
+
+
+ void NotifyPlayItemDrop(List<int> itemIndexs, RectTransform rect)
+ {
+ Display(true, itemIndexs, rect);
+ }
+
+
+ void DeleteDropItem(PackType packType, string guid, int itemID, int index, int clearType)
+ {
+ if (packType != PackType.DropItem)
+ return;
+
+ floorItemCells[index].SetActive(false);
+ if (clearType == 1 || index >= moneyMoveByPathArr.Length)
+ {
+ return;
+ }
+
+ if (!EquipModel.Instance.IsEquip(itemID))
+ {
+ return;
+ }
+
+ moneyMoveByPathArr[index].transform.localPosition = floorItemCells[index].transform.localPosition;
+ moneyMoveByPathArr[index].SetActive(true);
+ moneyMoveByPathArr[index].PlayAnimation(42, 6);
+ }
+
+ /// <summary>
+ /// 鎺夎惤杩囩▼鐨勮〃鐜� 鐣岄潰鏍煎瓙缁勪欢椤哄簭鍜岃儗鍖呮牸瀛愰『搴忎竴鑷�
+ /// </summary>
+ /// <param name="isAnimate"></param>
+ /// <param name="showCount"></param>
+ public void Display(bool isAnimate = false, List<int> indexList = null, RectTransform rect = null)
+ {
+ for (int i = 0; i < floorItemCells.Length; i++)
+ {
+ var item = floorItemCells[i];
+ var equipModel = PackManager.Instance.GetItemByIndex(PackType.DropItem, i);
+ if (equipModel == null)
+ {
+ //瀵圭┖鐗╁搧杩涜闅愯棌闃茶寖
+ item.SetActive(false);
+ continue;
+ }
+ if (indexList != null && !indexList.Contains(i))
+ {
+ //涓嶅共娑夊叾浠栨帀钀界墿鍝�
+ continue;
+ }
+
+ item.SetActive(true);
+ item.Display(i, isAnimate, rect);
+ }
+ }
+
+
+
+
+}
+
+
+
diff --git a/Main/Config/Configs/EquipGSParamConfig.cs.meta b/Main/System/Equip/ItemsOnFloor.cs.meta
similarity index 83%
copy from Main/Config/Configs/EquipGSParamConfig.cs.meta
copy to Main/System/Equip/ItemsOnFloor.cs.meta
index 142c67b..10d3f96 100644
--- a/Main/Config/Configs/EquipGSParamConfig.cs.meta
+++ b/Main/System/Equip/ItemsOnFloor.cs.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: f510c442e570ac446af81fa008cc0367
+guid: e285e681ab9565647a21421b59fdc98a
MonoImporter:
externalObjects: {}
serializedVersion: 2
diff --git a/Main/System/GeneralConfig/GeneralDefine.cs b/Main/System/GeneralConfig/GeneralDefine.cs
index d3d89bf..dfd2bd8 100644
--- a/Main/System/GeneralConfig/GeneralDefine.cs
+++ b/Main/System/GeneralConfig/GeneralDefine.cs
@@ -11,7 +11,6 @@
public static Dictionary<int, int> MoneyDisplayModel { get; private set; }
public static int playerMaxLevel { get; private set; }
- public static Dictionary<int, string> equipPlaceNameDict { get; private set; }
public static Dictionary<int, int> moneyDisplayIds { get; private set; }
public static int expDisplayId { get; private set; }
@@ -110,19 +109,6 @@
// wingEquipLimits = ConfigParse.GetDic<int, int>(GetInputString("WingRealmLimit", 1));
// int i = 0;
// int[] equipPlaces = GetIntArray("EquipArea", 1);
- // string[] equipPlacesNames = GetStringArray("EquipArea", 2);
- // equipPlaceNameDict = new Dictionary<int, string>();
- // for (i = 0; i < equipPlaces.Length; i++)
- // {
- // if (!equipPlaceNameDict.ContainsKey(equipPlaces[i]))
- // {
- // equipPlaceNameDict.Add(equipPlaces[i], equipPlacesNames[i]);
- // }
- // else
- // {
- // Debug.LogError("EquipArea : 瑁呭浣嶇疆閲嶅");
- // }
- // }
// var _trailBossJson = LitJson.JsonMapper.ToObject(GetInputString("MuneKadoTrialBossHead", 1));
// trailBossHeadIcons = new Dictionary<int, string>();
// foreach (var _key in _trailBossJson.Keys)
diff --git a/Main/System/Hero/HeroManager.cs b/Main/System/Hero/HeroManager.cs
index 01aceb6..b7259a0 100644
--- a/Main/System/Hero/HeroManager.cs
+++ b/Main/System/Hero/HeroManager.cs
@@ -65,7 +65,7 @@
}
}
- void DeleteHero(PackType packType, string guid)
+ void DeleteHero(PackType packType, string guid, int itemID, int index, int clearType)
{
if (packType == PackType.Hero)
{
diff --git a/Main/System/ItemTip/ItemTipUtility.cs b/Main/System/ItemTip/ItemTipUtility.cs
index 18e63b2..76035e2 100644
--- a/Main/System/ItemTip/ItemTipUtility.cs
+++ b/Main/System/ItemTip/ItemTipUtility.cs
@@ -334,7 +334,7 @@
switch (packType)
{
case PackType.Equip:
- // mainTipData = CreateNormalEquipData(guid, operatable);
+ mainTipData = new TipData() { guid = guid };
break;
default:
// if (item.isAuction)
@@ -370,9 +370,9 @@
switch (tipType)
{
- // case TipType.Equip:
- // WindowCenter.Instance.Open<EquipTipWin>();
- // break;
+ case TipType.Equip:
+ UIManager.Instance.OpenWindow<EquipTipWin>();
+ break;
// case TipType.PetMount:
// WindowCenter.Instance.Open<PetMountTipWin>();
// break;
@@ -404,9 +404,9 @@
- // static TipData CreateNormalEquipData(string guid, bool operatable)
+ // static TipData CreateNormalEquipData(string guid)
// {
- // var item = packModel.GetItemByGuid(guid);
+ // var item = PackManager.Instance.GetItemByGuid(guid);
// if (item == null)
// {
// return default(TipData);
@@ -886,7 +886,6 @@
isAuction = item.isAuction,
isEquiped = isEquiped,
isPreview = false,
- score = item.score,
isOverdue = ItemLogicUtility.Instance.IsOverdue(guid),
auctionSurplusTime = item.isAuction ? item.auctionSurplusTime : 0,
overdueSurplusTime = item.overdueSurplusTime,
diff --git a/Main/System/KnapSack/Logic/ItemLogicUtility.cs b/Main/System/KnapSack/Logic/ItemLogicUtility.cs
index c8ac004..750cbf2 100644
--- a/Main/System/KnapSack/Logic/ItemLogicUtility.cs
+++ b/Main/System/KnapSack/Logic/ItemLogicUtility.cs
@@ -57,7 +57,6 @@
void OnBeforePlayerDataInitialize()
{
isPackResetOk = true;
- ClearSortedBetterEquip();
}
#region 璁$畻瑁呭璇勫垎
@@ -174,42 +173,7 @@
}
- public int GetEquipScore(int itemId, Dictionary<int, List<int>> useDataDic = null, bool isPreview = false)
- {
- var config = ItemConfig.Get(itemId);
- if (config == null) return 0;
- if (config.EquipPlace == 0)
- {
- return 0;
- }
-
- var properties = new EquipSorceProperties();
-
- if (IsCustomItem(itemId))
- {
- properties.AddBaseProperties(config.EffectValueA1, equipBaseProperties);
- properties.AddCustomProperties(itemId);
- return CalculateEquipScore(config.EffectValueA1, properties);
- }
-
- properties.AddBaseProperties(itemId, equipBaseProperties);
-
-
- if (useDataDic != null)
- {
- if (useDataDic.ContainsKey((int)ItemUseDataKey.legendAttrID))
- {
- properties.AddRange(useDataDic[(int)ItemUseDataKey.legendAttrID], useDataDic[(int)ItemUseDataKey.legendAttrValue]);
- }
-
- if (useDataDic.ContainsKey((int)ItemUseDataKey.outOfPrintAttrID))
- {
- properties.AddRange(useDataDic[(int)ItemUseDataKey.outOfPrintAttrID], useDataDic[(int)ItemUseDataKey.outOfPrintAttrValue]);
- }
- }
-
- return CalculateEquipScore(itemId, properties, useDataDic);
- }
+
// private Dictionary<int, int> GetEquipLegendProperties(int itemId)
// {
@@ -259,15 +223,9 @@
/// <param name="itemId"></param>
/// <returns></returns>
private Dictionary<PropertyType, float> curEquipAttrDict = new Dictionary<PropertyType, float>(); //瀛樺偍褰撳墠瑁呭灞炴�у搴旂殑鏁板�� key 灞炴�� value 灞炴�у��
- private int CalculateEquipScore(int itemId, EquipSorceProperties properties, Dictionary<int, List<int>> useDataDic = null)
+ private void CalculateEquipAttr(int itemId, EquipSorceProperties properties)
{
var config = ItemConfig.Get(itemId);
- if (config == null || !GeneralDefine.CompareEquipPlaces.Contains(config.EquipPlace))
- {
- return 0;
- }
-
- //properties.AddRange(GetEquipShenProperties(itemId));
var minAttack = properties.ContainsKey((int)PropertyType.MinAtk) ? properties[(int)PropertyType.MinAtk] : 0;
var maxAttack = properties.ContainsKey((int)PropertyType.MaxAtk) ? properties[(int)PropertyType.MaxAtk] : 0;
@@ -276,10 +234,8 @@
properties[(int)PropertyType.MinAtk] = minAttack + attack;
properties[(int)PropertyType.MaxAtk] = maxAttack + attack;
- Equation.Instance.Clear();
curEquipAttrDict.Clear();
- var GSProValueDict = EquipGSParamConfig.GetTagGsProValueDict(config.LV, config.ItemColor, config.SuiteiD > 0 ? 1 : 0, config.StarLevel);
foreach (var key in properties.Keys)
{
var attrType = (PropertyType)key;
@@ -295,53 +251,12 @@
curEquipAttrDict.Add(attrType, properties[key]);
break;
default:
- if (GSProValueDict != null && GSProValueDict.ContainsKey(attrType))
- {
- var curProValue = properties[key] * GSProValueDict[attrType];
- curEquipAttrDict.Add(attrType, curProValue);
- }
- else
- {
- curEquipAttrDict.Add(attrType, properties[key]);
- }
+ curEquipAttrDict.Add(attrType, properties[key]);
break;
}
}
- foreach (var key in curEquipAttrDict.Keys)
- {
- var propertyConfig = PlayerPropertyConfig.Get((int)key);
- if (propertyConfig != null)
- {
- Equation.Instance.AddKeyValue(propertyConfig.Parameter, curEquipAttrDict[key]);
- }
- }
-
- var skillScore = 0;
- if (useDataDic != null && useDataDic.ContainsKey((int)ItemUseDataKey.equipSkills))
- {
- for (int i = 0; i < useDataDic[(int)ItemUseDataKey.equipSkills].Count; i++)
- {
- skillScore += equipSkillScores[useDataDic[(int)ItemUseDataKey.equipSkills][i]];
- }
- }
- else
- {
-
- if (config.AddSkill1 != 0 && equipSkillScores.ContainsKey(config.AddSkill1))
- {
- skillScore += equipSkillScores[config.AddSkill1];
- }
-
- if (config.AddSkill2 != 0 && equipSkillScores.ContainsKey(config.AddSkill2))
- {
- skillScore += equipSkillScores[config.AddSkill2];
- }
-
- }
-
-
- return skillScore + Equation.Instance.Eval<int>(normalGSFormula);
+
}
#endregion
@@ -940,49 +855,7 @@
// }
#endregion
- #region 鑳屽寘鏁寸悊鍚庡ソ鐨勫悓绫诲瀷鏈�濂界殑瑁呭
- Dictionary<int, Dictionary<int, ItemModel>> itemModelDict = new Dictionary<int, Dictionary<int, ItemModel>>(); // key1 瑁呭浣嶇疆绱㈠紩 key2 鑳屽寘浣嶇疆绱㈠紩
-
- public void ClearSortedBetterEquip()
- {
- itemModelDict.Clear();
- }
-
- public void SetBagSortBetterEquipList(ItemModel itemModel)
- {
- if (itemModel == null || itemModel.packType != PackType.Item) return;
-
- if (!IsCanPutOn(itemModel)) return;
-
- int equipPlace = itemModel.config.EquipPlace;
- if (!itemModelDict.ContainsKey(equipPlace))
- {
- var dict = new Dictionary<int, ItemModel>();
- if (IsFightUp(itemModel.itemId, itemModel.score) == 1)
- {
- dict.Add(itemModel.gridIndex, itemModel);
- itemModelDict.Add(equipPlace, dict);
- }
- }
- else
- {
- if (IsFightUp(itemModel.itemId, itemModel.score) == 1)
- {
- itemModelDict[equipPlace].Add(itemModel.gridIndex, itemModel);
- }
- }
-
- }
-
- public ItemModel GetBagSortBetterEquip(int equipPlace, int index)
- {
- ItemModel itemModel = null;
- if (itemModelDict.ContainsKey(equipPlace))
- {
- itemModelDict[equipPlace].TryGetValue(index, out itemModel);
- }
- return itemModel;
- }
+
bool IsCanPutOn(ItemModel item)
{
@@ -1009,7 +882,6 @@
return true;
}
- #endregion
#region 寰楀埌鐗╁搧鐨勫搧璐ㄩ鑹�
private Dictionary<int, int> wingRefineQualityDict;
diff --git a/Main/System/KnapSack/Logic/ItemModel.cs b/Main/System/KnapSack/Logic/ItemModel.cs
index bb054fd..4950563 100644
--- a/Main/System/KnapSack/Logic/ItemModel.cs
+++ b/Main/System/KnapSack/Logic/ItemModel.cs
@@ -9,7 +9,7 @@
public ItemConfig config { get; private set; }
public ItemInfo itemInfo { get; private set; }
- public int score { get; private set; }
+ private int score;
public Dictionary<int, List<int>> useDataDict { get; private set; }
public string guid { get { return itemInfo == null ? string.Empty : itemInfo.guid; } }
diff --git a/Main/System/KnapSack/Logic/SinglePack.cs b/Main/System/KnapSack/Logic/SinglePack.cs
index 325bfb2..ceea737 100644
--- a/Main/System/KnapSack/Logic/SinglePack.cs
+++ b/Main/System/KnapSack/Logic/SinglePack.cs
@@ -1,4 +1,5 @@
锘縰sing System.Collections.Generic;
+using System.Linq;
public class SinglePack
{
@@ -207,6 +208,11 @@
return count;
}
+ public List<ItemModel> GetItems()
+ {
+ return items.Values.ToList();
+ }
+
public List<ItemModel> GetItems(FilterParams filterParams)
{
var list = new List<ItemModel>();
@@ -353,7 +359,7 @@
itemIDs.Clear();
}
- public struct FilterParams
+ public class FilterParams
{
public List<int> levels;
public List<int> qualitys;
diff --git a/Main/System/KnapSack/New/CommonItemBaisc.cs b/Main/System/KnapSack/New/CommonItemBaisc.cs
index ff3afdc..2298e1d 100644
--- a/Main/System/KnapSack/New/CommonItemBaisc.cs
+++ b/Main/System/KnapSack/New/CommonItemBaisc.cs
@@ -195,7 +195,7 @@
public virtual void Init(ItemModel model, bool isCompare = false)
{
itemId = model.itemId;
- InitUI(model.guid, model.itemId, (ulong)model.count, model.score, model.isAuction, model.packType, isCompare, model.useDataDict);
+ InitUI(model.guid, model.itemId, (ulong)model.count, model.isAuction, model.packType, isCompare, model.useDataDict);
}
/// <summary>
@@ -205,10 +205,10 @@
public virtual void Init(ItemCellModel model)
{
itemId = model.itemId;
- InitUI(model.guid, model.itemId, model.count, model.score, false, model.packType, model.isCompare, model.useDataDic);
+ InitUI(model.guid, model.itemId, model.count, false, model.packType, model.isCompare, model.useDataDic);
}
- private void InitUI(string guid, int itemId, ulong count, int score, bool isAuction, PackType type, bool isCompare, Dictionary<int, List<int>> useDataDic)
+ private void InitUI(string guid, int itemId, ulong count, bool isAuction, PackType type, bool isCompare, Dictionary<int, List<int>> useDataDic)
{
var config = ItemConfig.Get(itemId);
if (config == null) return;
@@ -317,11 +317,11 @@
return 99;
}
- if (ItemLogicUtility.Instance.IsRealmEquip(itemId))
- {
- return EquipModel.Instance.CompareToCurrent(guid);
- }
- else
+ // if (ItemLogicUtility.Instance.IsRealmEquip(itemId))
+ // {
+ // return EquipModel.Instance.CompareToCurrent(guid);
+ // }
+ // else
{
return 0;
}
diff --git a/Main/System/KnapSack/PackManager.cs b/Main/System/KnapSack/PackManager.cs
index 568630d..b351c6e 100644
--- a/Main/System/KnapSack/PackManager.cs
+++ b/Main/System/KnapSack/PackManager.cs
@@ -14,7 +14,7 @@
public event Action<PackType, string, bool> ChangeItemEvent; // 鑳屽寘绫诲瀷锛孏UID锛屾槸鍚﹀垱寤�
//鍒犻櫎鐗╁搧锛屽彲鑳芥壒閲忓垹闄ゆ敞鎰忔晥鐜�
- public event Action<PackType, string> DeleteItemEvent; // 鑳屽寘绫诲瀷锛孏UID
+ public event Action<PackType, string, int, int, int> DeleteItemEvent; // 鑳屽寘绫诲瀷锛孏UID, 鐗╁搧ID锛岀储寮�, 鍒犻櫎鍘熷洜
// 鍗曠墿鍝佸埛鏂� 鍦ㄥ緱鍒版柊鐗╁搧銆佺墿鍝佹暟閲忕殑鏀瑰彉锛屾竻鐞嗚鐗╁搧鏃跺潎浼氳Е鍙� ; 浣�0725鏁翠釜鑳屽寘鍒锋柊涓嶈Е鍙戯紝濡傛灉鏈夐渶瑕佸崟鐙暟閲忓埛鏂颁簨浠跺彟澶栧鐞�
// 瑙﹀彂姣旇緝棰戠箒锛岀晫闈娇鐢ㄦ椂鍙互鍋氫釜姹囨�诲悗寤惰繜鍒锋柊
@@ -25,8 +25,6 @@
public event Action<int> refreshItemDayUseCountEvent; //鍒锋柊鐗╁搧姣忔棩浣跨敤鏁伴噺
public event Action<int> refreshItemSumUseCountEvent; //鍒锋柊鐗╁搧鎬讳娇鐢ㄦ暟閲�
public event Action<PackType, string, bool> RefreshItemLockEvent; //鐗╁搧閿佸畾鍒锋柊 鑳屽寘绫诲瀷锛実uid锛岄攣瀹氱姸鎬�
-
- public bool isPlayBetterEquipEffect { get; set; } //鏁寸悊鑳屽寘鏃舵槸鍚︽挱鏀剧壒鏁�
private Dictionary<PackType, SinglePack> playerPackDict = new Dictionary<PackType, SinglePack>();
@@ -111,7 +109,6 @@
itemSumUseCntDict.Clear();
itemGUIDDict.Clear();
PackGirdServerBuyCountDict.Clear();
- isPlayBetterEquipEffect = false;
}
@@ -181,10 +178,6 @@
playerPackDict.Add(packType, new SinglePack(packType));
}
- if (isPlayBetterEquipEffect)
- {
- ItemLogicUtility.Instance.ClearSortedBetterEquip();
- }
for (int i = 0; i < packInfo.ItemCount; i++)
{
@@ -192,10 +185,7 @@
var item = playerPackDict[packType].UpdateItem(itemInfo);
AddItemGUIDDict(item, true);
- if (isPlayBetterEquipEffect)
- {
- ItemLogicUtility.Instance.SetBagSortBetterEquipList(GetItemByGuid(itemInfo.guid));
- }
+
}
if (refrechPackEvent != null)
@@ -208,7 +198,6 @@
public void UpdateItem(H0704_tagRolePackRefresh serverItem)
{
- isPlayBetterEquipEffect = false;
SetLookIndex(null);
PackType type = (PackType)serverItem.PackType;
if (!playerPackDict.ContainsKey(type))
@@ -321,7 +310,6 @@
public void RefreshItemCount(H0707_tagItemCountRefresh refresh)
{
SetLookIndex(null);
- isPlayBetterEquipEffect = false;
PackType type = (PackType)refresh.PackType;
SinglePack singlePack = null;
playerPackDict.TryGetValue(type, out singlePack);
@@ -367,7 +355,6 @@
public void RemoveItem(H0709_tagClearItem clearItem)
{
- isPlayBetterEquipEffect = false;
SetLookIndex(null);
PackType type = (PackType)clearItem.PackType;
@@ -385,9 +372,9 @@
guid = itemModel.guid;
int itemId = itemModel.itemId;
- DeleteItemDictByGUID(type, itemModel.guid);
-
singlePack.RemoveItem(clearItem.ItemIndex);
+ DeleteItemDictByGUID(type, itemModel.guid,itemId, clearItem.ItemIndex, clearItem.ClearType);
+
if (RefreshItemEvent != null)
{
RefreshItemEvent(type, clearItem.ItemIndex, itemId);
@@ -411,7 +398,6 @@
public void UseItemSuccess(H0706_tagUseItemSuccess success)
{
- isPlayBetterEquipEffect = false;
SetLookIndex(null);
if (success.PlayerID != PlayerDatas.Instance.baseData.PlayerID)
{
@@ -441,14 +427,14 @@
ChangeItemEvent?.Invoke(itemModel.packType, itemModel.guid, showNewItem);
}
- void DeleteItemDictByGUID(PackType type, string guid)
+ void DeleteItemDictByGUID(PackType type, string guid, int itemID = 0, int index = 0, int clearType = -1)
{
if (itemGUIDDict.ContainsKey(guid))
{
if (itemGUIDDict[guid].packType == type)
{
itemGUIDDict.Remove(guid);
- DeleteItemEvent?.Invoke(type, guid);
+ DeleteItemEvent?.Invoke(type, guid, itemID, index, clearType);
}
}
}
@@ -740,6 +726,18 @@
}
}
+ public List<ItemModel> GetItems(PackType packType)
+ {
+ if (playerPackDict.ContainsKey(packType))
+ {
+ return playerPackDict[packType].GetItems();
+ }
+ else
+ {
+ return null;
+ }
+ }
+
//閫氳繃id鎵剧墿鍝侊紝娉ㄦ剰妫�鏌ユ槸鍚︽寚瀹氳儗鍖�
public string GetItemGUIDByID(int itemId, bool includeAuction = true, PackType packType = PackType.Item)
{
diff --git a/Main/System/Main/AutoFightModel.cs b/Main/System/Main/AutoFightModel.cs
new file mode 100644
index 0000000..1439254
--- /dev/null
+++ b/Main/System/Main/AutoFightModel.cs
@@ -0,0 +1,26 @@
+锘縰sing System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Text;
+
+using UnityEngine;
+public class AutoFightModel : GameSystemManager<AutoFightModel>
+{
+ public int fightSpeed = 1; //鎴樻枟鍊嶆暟锛氬�艰秺澶ц秺蹇紝褰卞搷鎴樻枟琛ㄧ幇锛屾帀钀介�熷害绛�
+
+ public bool isAutoAttack; //鑷姩鏀诲嚮
+ public override void Init()
+ {
+
+ }
+
+ public override void Release()
+ {
+
+ }
+
+ void ParseConfig()
+ {
+ }
+
+}
diff --git a/Main/Config/Configs/EquipGSParamConfig.cs.meta b/Main/System/Main/AutoFightModel.cs.meta
similarity index 83%
copy from Main/Config/Configs/EquipGSParamConfig.cs.meta
copy to Main/System/Main/AutoFightModel.cs.meta
index 142c67b..356587f 100644
--- a/Main/Config/Configs/EquipGSParamConfig.cs.meta
+++ b/Main/System/Main/AutoFightModel.cs.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: f510c442e570ac446af81fa008cc0367
+guid: ba186d3dcc7ee6144b80ba4a293e11de
MonoImporter:
externalObjects: {}
serializedVersion: 2
diff --git a/Main/System/Main/EquipOnMainUI.cs b/Main/System/Main/EquipOnMainUI.cs
new file mode 100644
index 0000000..501f06b
--- /dev/null
+++ b/Main/System/Main/EquipOnMainUI.cs
@@ -0,0 +1,144 @@
+锘縰sing UnityEngine;
+
+using DG.Tweening;
+using Cysharp.Threading.Tasks;
+
+
+public class EquipOnMainUI : MonoBehaviour
+{
+
+ [SerializeField] RectTransform[] slotEquips; //瑁呭鏍煎瓙
+ [SerializeField] RectTransform[] flyEquips;
+ [SerializeField] RectTransform flyStartPos;
+
+
+ EquipCell[] m_EquipSlots;
+ EquipCell[] m_EquipFlySlots;
+
+ void Awake()
+ {
+ if (m_EquipSlots == null)
+ {
+ m_EquipSlots = new EquipCell[slotEquips.Length];
+ for (int i = 0; i < slotEquips.Length; i++)
+ {
+ m_EquipSlots[i] = slotEquips[i].GetComponent<EquipCell>();
+ }
+ }
+
+ if (m_EquipFlySlots == null)
+ {
+ m_EquipFlySlots = new EquipCell[flyEquips.Length];
+ for (int i = 0; i < flyEquips.Length; i++)
+ {
+ m_EquipFlySlots[i] = flyEquips[i].GetComponent<EquipCell>();
+ }
+ }
+ }
+
+ //涓荤晫闈㈠垏鎹㈡ā寮忚Е鍙�
+ private void OnEnable()
+ {
+
+ PackManager.Instance.refrechPackEvent += OnRefrechPackEvent;
+ //packModel.refreshItemCountEvent += PackModel_refreshItemCountEvent;
+ EquipModel.Instance.OnEquipOPResultAction += OnEquipResult;
+ DisplaySlotEquip();
+ for (int i = 0; i < flyEquips.Length; i++)
+ {
+ flyEquips[i].SetActive(false);
+ }
+ }
+
+
+ private void OnDisable()
+ {
+ PackManager.Instance.refrechPackEvent -= OnRefrechPackEvent;
+ //packModel.refreshItemCountEvent -= PackModel_refreshItemCountEvent;
+ EquipModel.Instance.OnEquipOPResultAction -= OnEquipResult;
+ }
+
+
+
+
+ void OnRefrechPackEvent(PackType type)
+ {
+ if (type == PackType.Equip)
+ {
+ DisplaySlotEquip();
+ }
+ }
+
+
+
+ private void OnEquipResult(bool isDone, int index)
+ {
+ //绌挎埓鎴栬�� 鏇挎崲涓斿垎瑙f垚鍔燂紝鎵嶅仛椋樼殑琛ㄧ幇锛屾湭鍒嗚В鐨勪笉鍋氳〃鐜�
+ if (!isDone)
+ {
+ return;
+ }
+ FlyToEquipGird(index);
+ }
+
+
+
+ //鏄剧ず瑁呭鏍煎瓙
+ void DisplaySlotEquip()
+ {
+ for (int i = 0; i < slotEquips.Length; i++)
+ {
+ var equipItem = PackManager.Instance.GetItemByIndex(PackType.Equip, i);
+ m_EquipSlots[i].Init(equipItem);
+ }
+ }
+
+ void FlyToEquipGird(int equipIndex)
+ {
+ var equipInfo = PackManager.Instance.GetItemByIndex(PackType.Equip, equipIndex);
+ var flyEquip = m_EquipFlySlots[equipIndex];
+ if (equipInfo == null)
+ {
+ flyEquip.SetActive(false);
+ return;
+ }
+ int itemID = equipInfo.config.ID;
+ flyEquip.Init(equipInfo);
+ flyEquip.SetActive(true);
+
+ flyEquip.transform.localPosition = new Vector3(flyStartPos.localPosition.x + Random.Range(-80, 80), flyStartPos.localPosition.y + Random.Range(-20, 20), 0);
+ FlyToEquipCell(flyEquip, equipIndex, equipInfo).Forget();
+
+
+ }
+
+ async UniTask FlyToEquipCell(EquipCell flyEquip, int equipIndex, ItemModel equipInfo)
+ {
+ //绛夊緟鐣岄潰鍏抽棴鍚庯紝鎵嶅鐞嗗悗缁�昏緫
+ while (UIManager.Instance.IsOpened<EquipExchangeWin>())
+ {
+ await UniTask.Yield();
+ }
+
+
+ flyEquip.transform.DOMove(new Vector3(slotEquips[equipIndex].position.x, slotEquips[equipIndex].position.y, 0), 0.5f).OnComplete(() =>
+ {
+ flyEquip.SetActive(false);
+
+ slotEquips[equipIndex].SetActive(true);
+ m_EquipSlots[equipIndex].Init(equipInfo);
+
+ //itemCell鍙樺ぇ鍐嶅彉鍥�1鍊�
+ slotEquips[equipIndex].transform.DOScale(Vector3.one * 1.3f, 0.3f).OnComplete(() =>
+ {
+ slotEquips[equipIndex].transform.DOScale(Vector3.one, 0.3f);
+ });
+ });
+}
+
+}
+
+
+
+
+
diff --git a/Main/Config/Configs/EquipGSParamConfig.cs.meta b/Main/System/Main/EquipOnMainUI.cs.meta
similarity index 83%
copy from Main/Config/Configs/EquipGSParamConfig.cs.meta
copy to Main/System/Main/EquipOnMainUI.cs.meta
index 142c67b..57a004e 100644
--- a/Main/Config/Configs/EquipGSParamConfig.cs.meta
+++ b/Main/System/Main/EquipOnMainUI.cs.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: f510c442e570ac446af81fa008cc0367
+guid: 9e81838537ed3f3438cb3559673725f8
MonoImporter:
externalObjects: {}
serializedVersion: 2
diff --git a/Main/System/Main/FightPowerManager.cs b/Main/System/Main/FightPowerManager.cs
new file mode 100644
index 0000000..dfc2a0f
--- /dev/null
+++ b/Main/System/Main/FightPowerManager.cs
@@ -0,0 +1,236 @@
+锘縰sing System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+
+public class FightPowerManager : Singleton<FightPowerManager>
+{
+ string propertyFormula;
+
+ public FightPowerManager()
+ {
+ var config = FuncConfigConfig.Get("HeroAttrFormula");
+ propertyFormula = config.Numerical1;
+ }
+
+
+ //瑁呭鎴樺姏涓烘渶缁堟�绘垬鍔涚殑缁撴灉姣旓紙鎻愬崌鏁翠釜瑙掕壊鎬绘垬鍔涳級
+ public int CalculatePower(int level)
+ {
+ // Equation.Instance.Clear();
+ // Equation.Instance.AddKeyValue("equipScoreTotal", CountEquipScore(level));
+ // var power = Equation.Instance.Eval<int>(scoreFormula);
+
+ // var propertyContainer = new Properties();
+
+ // Equation.Instance.Clear();
+ // var keys = propertyContainer.keys;
+ // for (int i = 0; i < keys.Count; i++)
+ // {
+ // var id = keys[i];
+ // var value = propertyContainer[id];
+ // var config = PlayerPropertyConfig.Get(id);
+ // Equation.Instance.AddKeyValue(config.Parameter, value);
+ // }
+
+ // var propertyPower = Equation.Instance.Eval<int>(propertyFormula);
+ // power += propertyPower;
+
+
+ return 0;
+ }
+
+ //鍜岃韩涓婅澶囧姣�
+ public long GetFightPowerChange(ItemModel item)
+ {
+ return 0;
+ }
+
+
+
+
+ class Properties
+ {
+ Dictionary<int, int> tables = new Dictionary<int, int>();
+
+ public List<int> keys { get { return new List<int>(tables.Keys); } }
+
+ public int this[int id] { get { return tables[id]; } }
+
+ public void Add(int id, int value)
+ {
+ if (id == 7)
+ {
+ Add(67, value);
+ Add(68, value);
+ }
+ else
+ {
+ if (tables.ContainsKey(id))
+ {
+ tables[id] = tables[id] + value;
+ }
+ else
+ {
+ tables[id] = value;
+ }
+ }
+ }
+
+ public void AddRange(List<int> ids, List<int> values)
+ {
+ if (ids.IsNullOrEmpty() || values.IsNullOrEmpty())
+ {
+ return;
+ }
+
+ var count = Mathf.Min(ids.Count, values.Count);
+ for (int i = 0; i < count; i++)
+ {
+ Add(ids[i], values[i]);
+ }
+ }
+
+ }
+
+
+
+ #region 璁$畻鎴樻枟鍔�
+ public static readonly string FightPowerFormula = "FightpowerFormula";
+
+ // public static int GetFightPower(Dictionary<int, int> _propertyDict)
+ // {
+ // Equation.Instance.Clear();
+ // if (_propertyDict == null || _propertyDict.Count == 0)
+ // {
+ // return 0;
+ // }
+
+ // foreach (var _key in _propertyDict.Keys)
+ // {
+ // PlayerPropertyConfig cfg = PlayerPropertyConfig.Get(_key);
+ // if (cfg != null)
+ // {
+ // if (_key == 7)
+ // {
+ // Equation.Instance.AddKeyValue("MinAtk", _propertyDict[_key]);
+ // Equation.Instance.AddKeyValue("MaxAtk", _propertyDict[_key]);
+ // }
+ // else if (_key == 24)
+ // {
+ // Equation.Instance.AddKeyValue("PetMinAtk", _propertyDict[_key]);
+ // Equation.Instance.AddKeyValue("PetMaxAtk", _propertyDict[_key]);
+ // }
+ // else
+ // {
+ // ulong attrValue = (ulong)_propertyDict[_key];
+ // var fightParm = GetFightPowerParmByAttrId(_key);
+ // if (_key == 11)
+ // {
+ // var playerLv = PlayerDatas.Instance.baseData.LV;
+ // var paramConfig = FightPowerParamConfig.Get(playerLv);
+ // Equation.Instance.AddKeyValue("AtkSpeedParameter", paramConfig.AtkSpeedParameter);
+ // }
+ // else
+ // {
+ // if (fightParm != 0)
+ // {
+ // attrValue = attrValue * (ulong)fightParm;
+ // }
+ // }
+ // Equation.Instance.AddKeyValue(cfg.Parameter, attrValue);
+ // }
+ // }
+
+ // }
+ // FuncConfigConfig funcCfg = FuncConfigConfig.Get(FightPowerFormula);
+ // return Equation.Instance.Eval<int>(funcCfg.Numerical1);
+ // }
+
+ // public static int GetFightPowerParmByAttrId(int attrId)
+ // {
+ // int playerLv = PlayerDatas.Instance.baseData.LV;
+ // FightPowerParamConfig paramConfig = FightPowerParamConfig.Get(playerLv);
+ // PlayerPropertyConfig cfg = PlayerPropertyConfig.Get(attrId);
+ // if (paramConfig == null || cfg == null) return 0;
+
+ // switch (cfg.Parameter)
+ // {
+ // case "Hit":
+ // return paramConfig.Hit;
+ // case "Miss":
+ // return paramConfig.Miss;
+ // case "IgnoreDefRate":
+ // return paramConfig.IgnoreDefRate;
+ // case "DamChanceDef":
+ // return paramConfig.DamChanceDef;
+ // case "FaintRate":
+ // return paramConfig.FaintRate;
+ // case "LuckyHitRateReduce":
+ // return paramConfig.LuckyHitRateReduce;
+ // case "SkillAtkRate":
+ // return paramConfig.SkillAtkRate;
+ // case "SkillAtkRateReduce":
+ // return paramConfig.SkillAtkRateReduce;
+ // case "DamagePerPVP":
+ // return paramConfig.DamagePerPVP;
+ // case "DamagePerPVPReduce":
+ // return paramConfig.DamagePerPVPReduce;
+ // case "DamBackPer":
+ // return paramConfig.DamBackPer;
+ // case "IgnoreDefRateReduce":
+ // return paramConfig.IgnoreDefRateReduce;
+ // case "FaintDefRate":
+ // return paramConfig.FaintDefRate;
+ // case "AtkSpeedParameter":
+ // return paramConfig.AtkSpeedParameter;
+ // case "JobAHurtAddPer":
+ // return paramConfig.JobAHurtAddPer;
+ // case "JobBHurtAddPer":
+ // return paramConfig.JobBHurtAddPer;
+ // case "JobCHurtAddPer":
+ // return paramConfig.JobCHurtAddPer;
+ // case "JobAAtkReducePer":
+ // return paramConfig.JobAAtkReducePer;
+ // case "JobBAtkReducePer":
+ // return paramConfig.JobBAtkReducePer;
+ // case "JobCAtkReducePer":
+ // return paramConfig.JobCAtkReducePer;
+ // case "SuperHitRate":
+ // return paramConfig.SuperHitRate;
+ // case "LuckyHitRate":
+ // return paramConfig.LuckyHitRate;
+ // case "SuperHitRateReduce":
+ // return paramConfig.SuperHitRateReduce;
+ // case "FinalHurtPer":
+ // return paramConfig.FinalHurtPer;
+ // case "FinalHurtReducePer":
+ // return paramConfig.FinalHurtReducePer;
+ // case "NPCHurtAddPer":
+ // return paramConfig.NPCHurtAddPer;
+ // case "NormalHurtPer":
+ // return paramConfig.NormalHurtPer;
+ // case "FabaoHurtPer":
+ // return paramConfig.FabaoHurtPer;
+ // case "AffairSpeedPer":
+ // return paramConfig.AffairSpeedPer;
+ // case "FamilyBossHurtPer":
+ // return paramConfig.FamilyBossHurtPer;
+ // case "FamilyWarHPPer":
+ // return paramConfig.FamilyWarHPPer;
+ // case "FamilyWarAtkPer":
+ // return paramConfig.FamilyWarAtkPer;
+ // case "FamilySitExpPer":
+ // return paramConfig.FamilySitExpPer;
+ // case "BossFinalHurtPer":
+ // return paramConfig.BossFinalHurtPer;
+ // }
+
+ // return 0;
+ // }
+
+ #endregion
+
+}
+
+
diff --git a/Main/System/Equip/EquipFightPower.cs.meta b/Main/System/Main/FightPowerManager.cs.meta
similarity index 100%
rename from Main/System/Equip/EquipFightPower.cs.meta
rename to Main/System/Main/FightPowerManager.cs.meta
diff --git a/Main/System/Main/HomeWin.cs b/Main/System/Main/HomeWin.cs
index 047a210..1ccc79c 100644
--- a/Main/System/Main/HomeWin.cs
+++ b/Main/System/Main/HomeWin.cs
@@ -27,6 +27,8 @@
[SerializeField] Button changeHeroPosBtn;
+ [SerializeField] Button autoBtn;
+
/// <summary>
/// 鍒濆鍖栫粍浠�
/// </summary>
@@ -37,11 +39,34 @@
{
UIManager.Instance.OpenWindow<MainBossEnterWin>();
});
-
+
changeHeroPosBtn.AddListener(() =>
{
HeroUIManager.Instance.selectTeamType = TeamType.Story;
UIManager.Instance.OpenWindow<HeroPosWin>();
+ });
+
+ 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();
+ }
});
}
@@ -126,7 +151,14 @@
taskText.text = taskConfig.TaskDescribe;
taskNumText.text = string.Format("({0}/{1})", task.CurValue, taskConfig.NeedValue);
taskNumText.color = task.CurValue >= taskConfig.NeedValue ? UIHelper.GetUIColor(TextColType.NavyYellow) : UIHelper.GetUIColor(TextColType.Red);
- taskEffect.SetActive(TaskManager.Instance.GetMainTaskState() == 2);
+ if (TaskManager.Instance.GetMainTaskState() == 2)
+ {
+ taskEffect.Play();
+ }
+ else
+ {
+ taskEffect.Stop();
+ }
awardIcon.SetOrgSprite(ItemConfig.Get(taskConfig.AwardItemList[0][0]).IconKey);
awardCnt.text = taskConfig.AwardItemList[0][1].ToString();
}
diff --git a/Main/System/Main/MoneyMoveByPath.cs b/Main/System/Main/MoneyMoveByPath.cs
new file mode 100644
index 0000000..fcef22c
--- /dev/null
+++ b/Main/System/Main/MoneyMoveByPath.cs
@@ -0,0 +1,115 @@
+锘縰sing DG.Tweening;
+using System.Collections.Generic;
+using UnityEngine;
+
+//鑾峰緱璐у竵鍔ㄧ敾
+public class MoneyMoveByPath : MonoBehaviour
+{
+ [Header("绗竴娈靛姩鐢荤Щ鍔ㄦ椂闂�")]
+ public float duration1 = 1f; // 鍔ㄧ敾鎸佺画鏃堕棿
+ [Header("闅忔満鍒濆宸﹀彸闂磋窛")]
+ public float spacing = 50f; // 璁剧疆鍥剧墖涔嬮棿鐨勯棿闅�
+ [Header("X鍙傝�冨亸绉诲��")]
+ public float XPath = 50f;
+ [Header("Y鍙傝�冨亸绉诲��")]
+ public float YPath = 100f;
+ [Header("Y鍙傝�冨亸绉诲��")]
+ public AnimationCurve heightCurve; // 鐢ㄤ簬瀹氫箟璺緞楂樺害鐨勬洸绾�
+ [Header("绗簩娈靛姩鐢婚鍒扮洰鐨勫湴")]
+ public float duration2 = 0.4f; // 鍔ㄧ敾鎸佺画鏃堕棿
+ public Transform targetPosition;
+ List<ImageEx> imgMoneys = new List<ImageEx>();
+
+ /// <summary>
+ /// 鎾斁鎺夎惤鍔ㄧ敾
+ /// </summary>
+ /// <param name="targetPosition">鐩殑鍦板潗鏍�</param>
+ /// <param name="moneyType">璐у竵绫诲瀷</param>
+ /// <param name="num">鎺夊嚑涓揣甯�</param>
+ public void PlayAnimation(int moneyType, int num)
+ {
+ int createImgCnt = 0;
+ if (imgMoneys.IsNullOrEmpty())
+ {
+ createImgCnt = num;
+ }
+ else
+ {
+ createImgCnt = Mathf.Max(0, num - imgMoneys.Count);
+ }
+ if (createImgCnt > 0)
+ {
+ for (int i = 0; i < createImgCnt; i++)
+ {
+ var imgMoney = new GameObject("moneyIcon" + i);
+ imgMoney.AddMissingComponent<ImageEx>();
+ //鎸傜埗鑺傜偣
+ imgMoney.transform.SetParentEx(this.transform, Vector3.zero, Quaternion.identity, Vector3.one);
+ var moneyImg = imgMoney.GetComponent<ImageEx>();
+ moneyImg.SetSprite(StringUtility.Contact("Money_Type_", moneyType));
+ moneyImg.raycastTarget = false;
+ moneyImg.GetComponent<RectTransform>().sizeDelta = new Vector2(40, 40);
+ imgMoneys.Add(moneyImg);
+ }
+ }
+
+ //閫氳繃 heightCurve 鐢熸垚璺緞锛屾椂闂翠负x 鎬绘椂闂翠负1锛寉涓洪珮搴︼紝鍋忕Щ閲忎负100
+ int pointCount = 30;
+ Vector3[] points = new Vector3[pointCount];
+ for (int i = 0; i < pointCount; i++)
+ {
+ float x = i / (pointCount - 1f);
+ float y = heightCurve.Evaluate(x) * YPath;
+ points[i] = new Vector3(x * XPath, y, 0);
+
+ }
+
+
+
+
+ for (int i = 0; i < imgMoneys.Count; i++)
+ {
+ var moneyImg = imgMoneys[i];
+
+ if (num <= i)
+ {
+ moneyImg.transform.localScale = Vector3.zero;
+ }
+ else
+ {
+ moneyImg.transform.localScale = Vector3.one;
+ int randDir = Random.Range(0, 2) == 0 ? 1 : -1;
+ float offsetX = Random.Range(0, spacing);
+
+ // x y 闅忔満涓嬪樊寮�
+ float randX = Random.Range(0.2f, 1f);
+ float randY = Random.Range(0.6f, 1f);
+ Vector3[] points2 = new Vector3[pointCount];
+ for (int j = 0; j < points.Length; j++)
+ {
+ points2[j] = new Vector3((points[j].x + offsetX)* randDir * randX, points[j].y * randY, points[j].z);
+ }
+ moneyImg.transform.localPosition = points2[0];
+
+
+ moneyImg.transform.DOLocalPath(points2, duration1, PathType.CatmullRom).SetEase(Ease.InOutSine).OnComplete(() =>
+ {
+ if (targetPosition != null)
+ {
+ //绉诲姩鍒扮洰鏍囦綅缃�
+ moneyImg.transform.DOMove(targetPosition.position, duration2).OnComplete(() =>
+ {
+ moneyImg.transform.localScale = Vector3.zero;
+ });
+ }
+ else
+ {
+ moneyImg.transform.localScale = Vector3.zero;
+ }
+ });
+
+
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/Main/Config/Configs/EquipGSParamConfig.cs.meta b/Main/System/Main/MoneyMoveByPath.cs.meta
similarity index 83%
copy from Main/Config/Configs/EquipGSParamConfig.cs.meta
copy to Main/System/Main/MoneyMoveByPath.cs.meta
index 142c67b..08bb533 100644
--- a/Main/Config/Configs/EquipGSParamConfig.cs.meta
+++ b/Main/System/Main/MoneyMoveByPath.cs.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: f510c442e570ac446af81fa008cc0367
+guid: 4bf9701377419a14f9d4969bc2138ac5
MonoImporter:
externalObjects: {}
serializedVersion: 2
diff --git a/Main/System/Message/HrefAnalysis.cs b/Main/System/Message/HrefAnalysis.cs
index 9d57751..ff1c108 100644
--- a/Main/System/Message/HrefAnalysis.cs
+++ b/Main/System/Message/HrefAnalysis.cs
@@ -261,7 +261,7 @@
{
colorType = text.colorType == RichText.ColorType.Dark ? 0 : 1;
}
- presentHrefInfo.unlineColor = UIHelper.GetUIColor(quality, colorType == 1);
+ presentHrefInfo.unlineColor = UIHelper.GetUIColorByFunc(quality, colorType == 1);
}
}
break;
diff --git a/Main/System/Tip/ConfirmCancel.cs b/Main/System/Tip/ConfirmCancel.cs
index 9e73ac6..dabaeca 100644
--- a/Main/System/Tip/ConfirmCancel.cs
+++ b/Main/System/Tip/ConfirmCancel.cs
@@ -123,7 +123,7 @@
public static Action<bool> OnToggleSingleConfirmEvent;
public static Action<bool, bool> OnToggleConfirmEventEx;
//甯oggle鐨勭‘璁ゅ拰鍙栨秷
- public static void ToggleConfirmCancel(string title, string content, string toggleTxt, Action<bool, bool> func, bool _toggle = false)
+ public static void ToggleConfirmCancel(string title, string content, string toggleTxt, Action<bool, bool> func, string okName = "", bool _toggle = false)
{
generalTitle = title;
generalContent = content;
@@ -131,7 +131,7 @@
OnToggleSingleConfirmEvent = null;
OnToggleConfirmEvent = func;
toggleOpenState = _toggle;
- OKName = null;
+ OKName = okName;
CancelName = null;
if (!UIManager.Instance.IsOpened<ToggleConfirmWin>())
{
diff --git a/Main/Utility/EnumHelper.cs b/Main/Utility/EnumHelper.cs
index 837e293..e4f43ec 100644
--- a/Main/Utility/EnumHelper.cs
+++ b/Main/Utility/EnumHelper.cs
@@ -411,29 +411,16 @@
{
Weapon = 1, // 涓绘墜
Weapon2 = 2, // 鍓墜
- Hat = 3, // 甯藉瓙
+ Hat = 3, // 澶寸洈
Clothes = 4, // 琛f湇
Belt = 5, // 鑵板甫
Trousers = 6, // 瑁ゅ瓙
Shoes = 7, // 闉嬪瓙
- Glove = 8, //鎵嬪
- Neck = 9, //椤归摼
- FairyCan1 = 10, //浠欏櫒
- FairyCan2 = 11, //浠欏櫒
- Jade = 12, //鐜変僵
-
- Wing = 13, //缈呰唨
- Guard = 14, //瀹堟姢
-
- PeerlessWeapon1 = 16,//缁濅笘姝﹀櫒
- PeerlessWeapon2 = 17,//缁濅笘鍓墜
-
- Mount = 19, //褰撳墠鐨勫潗楠�
-
- FashionWeapon = 20,//鏃惰姝﹀櫒
- FashionClothes = 21, //鏃惰琛f湇
- FashionWeapon2 = 22,//鏃惰鍓墜
-
+ Wristband = 8, //鎶よ厱
+ Shawl = 9, //鎶偐
+ Neck = 10, //椤归摼
+ Ring= 11, //鎴掓寚
+ Amulet = 12, //鎶ょ
retMax,
};
@@ -808,6 +795,7 @@
RuneCompound = 22,//绗﹀嵃鍚堟垚
GatherSoulCompound = 23,//鑱氶瓊鍚堟垚
GatherSoulDecompose = 24,//鑱氶瓊鍒嗚В
+ EquipOP, // 25 涓荤晫闈㈣澶囧垎瑙�/鏇挎崲鍥炲 瀵瑰簲 B4 15 涓荤嚎鎺夎惤鐗╁搧鎿嶄綔 #tagCSMainDropItemOP
}
@@ -1062,22 +1050,22 @@
//鍝佽川鏂囧瓧鎻忚竟棰滆壊
public enum QualityTextColType
{
- None = -1,
- itemcucao = 0, //绮楃硻
- itemputong = 1, //鏅��
- itemjingliang = 2, //绮捐壇
- itemxiyou = 3, //绋�鏈�
- itemshishi = 4, //鍙茶瘲
- itemchuanqi = 5, //浼犲
- itemshenhua = 6, //绁炶瘽
- itemwuxia = 7, //鏃犳殗
- itemanjin = 8, //鏆楅噾
- itemjueyi = 9, //缁濊壓
- itemyuanzu = 10, //鍏冪
- itembuxiu = 11, //涓嶆溄
- itemyonghen = 12, //姘告亽
+ None = 0,
+ itemcucao = 1, //绮楃硻
+ itemputong = 2, //鏅��
+ itemjingliang = 3, //绮捐壇
+ itemxiyou = 4, //绋�鏈�
+ itemshishi = 5, //鍙茶瘲
+ itemchuanqi = 6, //浼犲
+ itemshenhua = 7, //绁炶瘽
+ itemwuxia = 8, //鏃犳殗
+ itemanjin = 9, //鏆楅噾
+ itemjueyi = 10, //缁濊壓
+ itemyuanzu = 11, //鍏冪
+ itembuxiu = 12, //涓嶆溄
+ itemyonghen = 13, //姘告亽
- red = 13, //绾㈣壊
+ red = 14, //绾㈣壊
}
public enum TextColType
diff --git a/Main/Utility/UIHelper.cs b/Main/Utility/UIHelper.cs
index f18134d..665b56e 100644
--- a/Main/Utility/UIHelper.cs
+++ b/Main/Utility/UIHelper.cs
@@ -372,7 +372,7 @@
if (num >= T)
{
- return StringUtility.Contact(numto2Decimals(num / T).ToString("0.##"), Language.Get("L1070_0"));
+ return StringUtility.Contact(numto2Decimals(num / T).ToString("0.##"), Language.Get("L1070_0"));
}
else if (num >= B)
{
@@ -507,7 +507,7 @@
public static readonly Color s_BrightPurpleColor = new Color32(218, 72, 213, 255);
public static readonly Color s_BrightBlueColor = new Color32(0, 107, 227, 255); //006BE3FF
public static readonly Color s_BrightOrangeColor = new Color32(255, 103, 1, 255); //FF6701FF
- public static readonly Color s_BrightWhiteColor = new Color32(104, 104, 104, 255); //686868
+ public static readonly Color s_BrightWhiteColor = new Color32(255, 255, 255, 255); //ffffff //new Color32(104, 104, 104, 255); //686868
public static readonly Color s_BrightGreenColor = new Color32(36, 139, 18, 255); //248b12
public static readonly Color s_DarkPinkColor = new Color32(255, 124, 124, 255);
@@ -597,43 +597,62 @@
// return name;
// }
- //鐗╁搧 鍚勫姛鑳藉搧璐�
+
+
+ //鐗╁搧 鍚勫姛鑳藉搧璐� 浠庣簿鑹�1鍝佽川 瀵瑰簲 3寮�濮�
public static Color GetUIColorByFunc(int itemColor, bool bright = true)
{
- return GetUIColor(itemColor + 1, bright);
+ return GetUIColor(itemColor + 2, bright);
}
- //瀵瑰簲鍝佽川(鏍�)锛涚墿鍝� 鍚勫姛鑳藉搧璐ㄤ粠2寮�濮� 鐢℅etUIColorByFunc
+ //瀵瑰簲鍝佽川(鏍�)锛涚墿鍝� 鍚勫姛鑳藉搧璐� 鐢℅etUIColorByFunc
public static Color GetUIColor(int itemColor, bool bright = true)
{
switch (itemColor)
{
case 0:
- return GetUIColor(TextColType.Gray, bright);
case 1:
- return GetUIColor(TextColType.White, bright);
+ return GetUIColor(TextColType.Gray, bright);
case 2:
- return GetUIColor(TextColType.itemjingliang, bright);
+ return GetUIColor(TextColType.White, bright);
case 3:
- return GetUIColor(TextColType.itemxiyou, bright);
+ return GetUIColor(TextColType.itemjingliang, bright);
case 4:
- return GetUIColor(TextColType.itemshishi, bright);
+ return GetUIColor(TextColType.itemxiyou, bright);
case 5:
- return GetUIColor(TextColType.itemchuanqi, bright);
+ return GetUIColor(TextColType.itemshishi, bright);
case 6:
- return GetUIColor(TextColType.itemshenhua, bright);
+ return GetUIColor(TextColType.itemchuanqi, bright);
case 7:
- return GetUIColor(TextColType.itemwuxia, bright);
+ return GetUIColor(TextColType.itemshenhua, bright);
case 8:
- return GetUIColor(TextColType.itemanjin, bright);
+ return GetUIColor(TextColType.itemwuxia, bright);
case 9:
- return GetUIColor(TextColType.itemjueyi, bright);
+ return GetUIColor(TextColType.itemanjin, bright);
case 10:
- return GetUIColor(TextColType.itemyuanzu, bright);
case 11:
- return GetUIColor(TextColType.itembuxiu, bright);
case 12:
+ case 13:
+ case 14:
+ return GetUIColor(TextColType.itemjueyi, bright);
+ case 15:
+ case 16:
+ case 17:
+ case 18:
+ case 19:
+ return GetUIColor(TextColType.itemyuanzu, bright);
+ case 20:
+ case 21:
+ case 22:
+ case 23:
+ case 24:
+ return GetUIColor(TextColType.itembuxiu, bright);
+ case 25:
+ case 26:
+ case 27:
+ case 28:
+ case 29:
return GetUIColor(TextColType.itemyonghen, bright);
@@ -712,16 +731,53 @@
return bright ? s_BrightWhiteColor : s_DarkWhiteColor;
}
- //瀵瑰簲鍝佽川(鏍�)锛涚墿鍝� 鍚勫姛鑳藉搧璐ㄤ粠2寮�濮� 鐢℅etUIOutlineColorByFunc
+ //瀵瑰簲鍝佽川(鏍�)锛涚墿鍝� 鍚勫姛鑳藉搧璐� 鐢℅etUIOutlineColorByFunc
public static Color GetUIOutlineColor(int quality)
{
- return GetUIOutlineColor((QualityTextColType)quality);
+ switch (quality)
+ {
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ case 5:
+ case 6:
+ case 7:
+ case 8:
+ case 9:
+ return GetUIOutlineColor((QualityTextColType)quality);
+ case 10:
+ case 11:
+ case 12:
+ case 13:
+ case 14:
+ return GetUIOutlineColor(QualityTextColType.itemjueyi);
+ case 15:
+ case 16:
+ case 17:
+ case 18:
+ case 19:
+ return GetUIOutlineColor(QualityTextColType.itemyuanzu);
+ case 20:
+ case 21:
+ case 22:
+ case 23:
+ case 24:
+ return GetUIOutlineColor(QualityTextColType.itembuxiu);
+ case 25:
+ case 26:
+ case 27:
+ case 28:
+ case 29:
+ return GetUIOutlineColor(QualityTextColType.itemyonghen);
+ }
+ return GetUIOutlineColor(QualityTextColType.itemputong);
}
- //鐗╁搧 鍚勫姛鑳藉搧璐�
+ //鐗╁搧 鍚勫姛鑳藉搧璐� 浠庣簿鑹�1鍝佽川 瀵瑰簲 3寮�濮�
public static Color GetUIOutlineColorByFunc(int quality)
{
- return GetUIOutlineColor((QualityTextColType)(quality + 1));
+ return GetUIOutlineColor((QualityTextColType)(quality + 2));
}
//鎻忚竟棰滆壊锛屽搴斿搧璐�(鏍�)
@@ -774,7 +830,7 @@
return new Color32(0, 0, 0, 128);
}
- private static Regex m_TextColorRegex = new Regex("<color=#[0-9a-zA-Z]+>(.*)</color>", RegexOptions.Singleline);
+ // private static Regex m_TextColorRegex = new Regex("<color=#[0-9a-zA-Z]+>(.*)</color>", RegexOptions.Singleline);
public static string AppendColor(TextColType type, string msg, bool bright = true)
{
@@ -788,7 +844,7 @@
{
case TextColType.None:
case TextColType.White:
- return StringUtility.Contact("<color=#", bright ? "686868" : "f7f7f7", ">", msg, "</color>");
+ return StringUtility.Contact("<color=#", bright ? "ffffff" : "ffffff", ">", msg, "</color>");
case TextColType.titleSelectColor:
return StringUtility.Contact("<color=#7F4139>", msg, "</color>");
case TextColType.titleUnSelectColor:
@@ -798,23 +854,56 @@
case TextColType.Pink:
return StringUtility.Contact("<color=#", bright ? "f6408d" : "ff7c7c", ">", msg, "</color>");
case TextColType.Green:
- return StringUtility.Contact("<color=#", bright ? "109d06" : "35e122", ">", msg, "</color>");
+ return StringUtility.Contact("<color=#", bright ? "109d06" : "2ae337", ">", msg, "</color>");
case TextColType.NavyBrown:
- return StringUtility.Contact("<color=#", "6e4c31", ">", msg, "</color>");
+ return StringUtility.Contact("<color=#6e4c31>", msg, "</color>");
case TextColType.DarkGreen:
- return StringUtility.Contact("<color=#", "109d06", ">", msg, "</color>");
+ return StringUtility.Contact("<color=#109d06>", msg, "</color>");
case TextColType.Black:
- return StringUtility.Contact("<color=#", "000000", ">", msg, "</color>");
+ return StringUtility.Contact("<color=#000000>", msg, "</color>");
case TextColType.LightWhite:
- return StringUtility.Contact("<color=#", "f5f646", ">", msg, "</color>");
+ return StringUtility.Contact("<color=f5f646>", msg, "</color>");
case TextColType.LightGreen:
- return StringUtility.Contact("<color=#", "8ddc11", ">", msg, "</color>");
+ return StringUtility.Contact("<color=#8ddc11>", msg, "</color>");
case TextColType.Gray:
- return StringUtility.Contact("<color=#", "84797b", ">", msg, "</color>");
+ return StringUtility.Contact("<color=#84797b>", msg, "</color>");
case TextColType.lightYellow:
- return StringUtility.Contact("<color=#", "fcedb9", ">", msg, "</color>");
+ return StringUtility.Contact("<color=#fcedb9>", msg, "</color>");
case TextColType.NavyYellow:
- return StringUtility.Contact("<color=#", "f2ee02", ">", msg, "</color>");
+ return StringUtility.Contact("<color=#f2ee02>", msg, "</color>");
+ case TextColType.itemjingliang:
+ // 729de4 绮捐壇
+ return StringUtility.Contact("<color=#729de4>", msg, "</color>");
+ case TextColType.itemxiyou:
+ // c87bfa绋�鏈�
+ return StringUtility.Contact("<color=#c87bfa>", msg, "</color>");
+ case TextColType.itemshishi:
+ // f6de56 鍙茶瘲
+ return StringUtility.Contact("<color=#f6de56>", msg, "</color>");
+ case TextColType.itemchuanqi:
+ // fe8534 浼犲
+ return StringUtility.Contact("<color=#fe8534>", msg, "</color>");
+ case TextColType.itemshenhua:
+ // fe4a47 绁炶瘽
+ return StringUtility.Contact("<color=#fe4a47>", msg, "</color>");
+ case TextColType.itemwuxia:
+ // eb5ce9 鏃犵憰
+ return StringUtility.Contact("<color=#eb5ce9>", msg, "</color>");
+ case TextColType.itemanjin:
+ // f9e29f 鏆楅噾
+ return StringUtility.Contact("<color=#f9e29f>", msg, "</color>");
+ case TextColType.itemjueyi:
+ // cdfef2 缁濊壓
+ return StringUtility.Contact("<color=#cdfef2>", msg, "</color>");
+ case TextColType.itemyuanzu:
+ // dfbbed 鍏冪
+ return StringUtility.Contact("<color=#dfbbed>", msg, "</color>");
+ case TextColType.itembuxiu:
+ // 5eeff2 涓嶆溄
+ return StringUtility.Contact("<color=#5eeff2>", msg, "</color>");
+ case TextColType.itemyonghen:
+ // f5b4ea 姘告亽
+ return StringUtility.Contact("<color=#f5b4ea>", msg, "</color>");
}
return msg;
}
@@ -876,36 +965,66 @@
}
}
- public static string AppendColor(int itemColor, string msg, bool bright = true)
+ //鐗╁搧 鍚勫姛鑳藉搧璐� 浠庣簿鑹�1鍝佽川 瀵瑰簲 3寮�濮�
+ /// <summary>
+ /// 棰滆壊瀹氫箟鏍规嵁鍒嗙粍澶勭悊锛屽鏅�氱墿鍝佺殑棰滆壊绮捐壇鏄�1寮�濮嬶紝鏍戝拰瑁呭涔熸槸绮楃硻1寮�濮嬶紝闇�瑕佽皟鏁村尮閰�
+ /// </summary>
+ /// <param name="itemColor"></param>
+ /// <param name="msg"></param>
+ /// <param name="bright"></param>
+ /// <param name="colorGroupType"></param>
+ /// <returns></returns>
+ public static string AppendColor(int itemColor, string msg, bool bright = true, int colorGroupType = 0)
{
+ if (colorGroupType == 0)
+ {
+ itemColor = itemColor + 2;
+ }
+
switch (itemColor)
{
- case 0:
- return AppendColor(TextColType.Gray, msg, bright);
case 1:
- return AppendColor(TextColType.White, msg, bright);
+ return AppendColor(TextColType.Gray, msg, bright);
case 2:
- return AppendColor(TextColType.itemjingliang, msg, bright);
+ return AppendColor(TextColType.White, msg, bright);
case 3:
- return AppendColor(TextColType.itemxiyou, msg, bright);
+ return AppendColor(TextColType.itemjingliang, msg, bright);
case 4:
- return AppendColor(TextColType.itemshishi, msg, bright);
+ return AppendColor(TextColType.itemxiyou, msg, bright);
case 5:
- return AppendColor(TextColType.itemchuanqi, msg, bright);
+ return AppendColor(TextColType.itemshishi, msg, bright);
case 6:
- return AppendColor(TextColType.itemshenhua, msg, bright);
+ return AppendColor(TextColType.itemchuanqi, msg, bright);
case 7:
- return AppendColor(TextColType.itemwuxia, msg, bright);
+ return AppendColor(TextColType.itemshenhua, msg, bright);
case 8:
- return AppendColor(TextColType.itemanjin, msg, bright);
+ return AppendColor(TextColType.itemwuxia, msg, bright);
case 9:
- return AppendColor(TextColType.itemjueyi, msg, bright);
+ return AppendColor(TextColType.itemanjin, msg, bright);
case 10:
- return AppendColor(TextColType.itemyuanzu, msg, bright);
case 11:
- return AppendColor(TextColType.itembuxiu, msg, bright);
case 12:
+ case 13:
+ case 14:
+ return AppendColor(TextColType.itemjueyi, msg, bright);
+ case 15:
+ case 16:
+ case 17:
+ case 18:
+ case 19:
+ return AppendColor(TextColType.itemyuanzu, msg, bright);
+ case 20:
+ case 21:
+ case 22:
+ case 23:
+ case 24:
+ return AppendColor(TextColType.itembuxiu, msg, bright);
+ case 25:
+ case 26:
+ case 27:
+ case 28:
+ case 29:
return AppendColor(TextColType.itemyonghen, msg, bright);
}
@@ -931,141 +1050,7 @@
}
#endregion
- #region 璁$畻鎴樻枟鍔�
- public static readonly string FightPowerFormula = "FightpowerFormula";
-
- // public static int GetFightPower(Dictionary<int, int> _propertyDict)
- // {
- // Equation.Instance.Clear();
- // if (_propertyDict == null || _propertyDict.Count == 0)
- // {
- // return 0;
- // }
-
- // foreach (var _key in _propertyDict.Keys)
- // {
- // PlayerPropertyConfig cfg = PlayerPropertyConfig.Get(_key);
- // if (cfg != null)
- // {
- // if (_key == 7)
- // {
- // Equation.Instance.AddKeyValue("MinAtk", _propertyDict[_key]);
- // Equation.Instance.AddKeyValue("MaxAtk", _propertyDict[_key]);
- // }
- // else if (_key == 24)
- // {
- // Equation.Instance.AddKeyValue("PetMinAtk", _propertyDict[_key]);
- // Equation.Instance.AddKeyValue("PetMaxAtk", _propertyDict[_key]);
- // }
- // else
- // {
- // ulong attrValue = (ulong)_propertyDict[_key];
- // var fightParm = GetFightPowerParmByAttrId(_key);
- // if (_key == 11)
- // {
- // var playerLv = PlayerDatas.Instance.baseData.LV;
- // var paramConfig = FightPowerParamConfig.Get(playerLv);
- // Equation.Instance.AddKeyValue("AtkSpeedParameter", paramConfig.AtkSpeedParameter);
- // }
- // else
- // {
- // if (fightParm != 0)
- // {
- // attrValue = attrValue * (ulong)fightParm;
- // }
- // }
- // Equation.Instance.AddKeyValue(cfg.Parameter, attrValue);
- // }
- // }
-
- // }
- // FuncConfigConfig funcCfg = FuncConfigConfig.Get(FightPowerFormula);
- // return Equation.Instance.Eval<int>(funcCfg.Numerical1);
- // }
-
- // public static int GetFightPowerParmByAttrId(int attrId)
- // {
- // int playerLv = PlayerDatas.Instance.baseData.LV;
- // FightPowerParamConfig paramConfig = FightPowerParamConfig.Get(playerLv);
- // PlayerPropertyConfig cfg = PlayerPropertyConfig.Get(attrId);
- // if (paramConfig == null || cfg == null) return 0;
-
- // switch (cfg.Parameter)
- // {
- // case "Hit":
- // return paramConfig.Hit;
- // case "Miss":
- // return paramConfig.Miss;
- // case "IgnoreDefRate":
- // return paramConfig.IgnoreDefRate;
- // case "DamChanceDef":
- // return paramConfig.DamChanceDef;
- // case "FaintRate":
- // return paramConfig.FaintRate;
- // case "LuckyHitRateReduce":
- // return paramConfig.LuckyHitRateReduce;
- // case "SkillAtkRate":
- // return paramConfig.SkillAtkRate;
- // case "SkillAtkRateReduce":
- // return paramConfig.SkillAtkRateReduce;
- // case "DamagePerPVP":
- // return paramConfig.DamagePerPVP;
- // case "DamagePerPVPReduce":
- // return paramConfig.DamagePerPVPReduce;
- // case "DamBackPer":
- // return paramConfig.DamBackPer;
- // case "IgnoreDefRateReduce":
- // return paramConfig.IgnoreDefRateReduce;
- // case "FaintDefRate":
- // return paramConfig.FaintDefRate;
- // case "AtkSpeedParameter":
- // return paramConfig.AtkSpeedParameter;
- // case "JobAHurtAddPer":
- // return paramConfig.JobAHurtAddPer;
- // case "JobBHurtAddPer":
- // return paramConfig.JobBHurtAddPer;
- // case "JobCHurtAddPer":
- // return paramConfig.JobCHurtAddPer;
- // case "JobAAtkReducePer":
- // return paramConfig.JobAAtkReducePer;
- // case "JobBAtkReducePer":
- // return paramConfig.JobBAtkReducePer;
- // case "JobCAtkReducePer":
- // return paramConfig.JobCAtkReducePer;
- // case "SuperHitRate":
- // return paramConfig.SuperHitRate;
- // case "LuckyHitRate":
- // return paramConfig.LuckyHitRate;
- // case "SuperHitRateReduce":
- // return paramConfig.SuperHitRateReduce;
- // case "FinalHurtPer":
- // return paramConfig.FinalHurtPer;
- // case "FinalHurtReducePer":
- // return paramConfig.FinalHurtReducePer;
- // case "NPCHurtAddPer":
- // return paramConfig.NPCHurtAddPer;
- // case "NormalHurtPer":
- // return paramConfig.NormalHurtPer;
- // case "FabaoHurtPer":
- // return paramConfig.FabaoHurtPer;
- // case "AffairSpeedPer":
- // return paramConfig.AffairSpeedPer;
- // case "FamilyBossHurtPer":
- // return paramConfig.FamilyBossHurtPer;
- // case "FamilyWarHPPer":
- // return paramConfig.FamilyWarHPPer;
- // case "FamilyWarAtkPer":
- // return paramConfig.FamilyWarAtkPer;
- // case "FamilySitExpPer":
- // return paramConfig.FamilySitExpPer;
- // case "BossFinalHurtPer":
- // return paramConfig.BossFinalHurtPer;
- // }
-
- // return 0;
- // }
-
- #endregion
+
#region 寰楀埌閲戦挶鏁伴噺鏍规嵁閲戦挶绫诲瀷
@@ -1267,14 +1252,10 @@
#endregion
- #region 寰楀埌瑁呭浣嶅搴旂殑閮ㄤ綅鍚嶇О
- public static string GetEquipPlaceName(int place)
+ #region 寰楀埌瑁呭浣嶆垨鑰呯绂忔爲鍝佽川鍚嶇О 甯﹂鑹�
+ public static string GetQualityNameWithColor(int quality, string format="{0}")
{
- if (GeneralDefine.equipPlaceNameDict.ContainsKey(place))
- {
- return GeneralDefine.equipPlaceNameDict[place];
- }
- return "";
+ return AppendColor(quality, string.Format(format, Language.Get("equipQuality" + quality)), true, 1);
}
#endregion
--
Gitblit v1.8.0