From e53af2bb643ac8f24ced6ca8449347c1f0cc028f Mon Sep 17 00:00:00 2001
From: client_Wu Xijin <364452445@qq.com>
Date: 星期六, 02 三月 2019 17:50:46 +0800
Subject: [PATCH] 3555 新版装备功能开发
---
Core/GameEngine/Model/Config/EquipSuitConfig.cs | 12 +--
Core/GameEngine/Model/TelPartialConfig/PartialEquipSuitConfig.cs | 38 ++++++++++++
Core/GameEngine/Model/Config/EquipSuitConfig.cs.meta | 2
System/Equip/EquipSuitPropertyWidget.cs | 33 +++++++++-
Core/GameEngine/Model/TelPartialConfig/PlayerPropertyConfig.cs | 25 ++++++++
Core/GameEngine/Model/TelPartialConfig/PartialEquipSuitConfig.cs.meta | 12 ++++
6 files changed, 110 insertions(+), 12 deletions(-)
diff --git a/Core/GameEngine/Model/Config/EquipSuitConfig.cs b/Core/GameEngine/Model/Config/EquipSuitConfig.cs
index 5a9a2e3..9aca6d5f 100644
--- a/Core/GameEngine/Model/Config/EquipSuitConfig.cs
+++ b/Core/GameEngine/Model/Config/EquipSuitConfig.cs
@@ -18,8 +18,9 @@
public readonly int suiteID;
public readonly int suiteCnt;
public readonly int star;
- public readonly int[] attr;
+ public readonly Int2 attr;
public readonly int skillID;
+ public readonly string description;
public EquipSuitConfig()
{
@@ -41,14 +42,11 @@
int.TryParse(tables[4],out star);
- string[] attrStringArray = tables[5].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
- attr = new int[attrStringArray.Length];
- for (int i=0;i<attrStringArray.Length;i++)
- {
- int.TryParse(attrStringArray[i],out attr[i]);
- }
+ Int2.TryParse(tables[5],out attr);
int.TryParse(tables[6],out skillID);
+
+ description = tables[7];
}
catch (Exception ex)
{
diff --git a/Core/GameEngine/Model/Config/EquipSuitConfig.cs.meta b/Core/GameEngine/Model/Config/EquipSuitConfig.cs.meta
index 42138ef..5ed985f 100644
--- a/Core/GameEngine/Model/Config/EquipSuitConfig.cs.meta
+++ b/Core/GameEngine/Model/Config/EquipSuitConfig.cs.meta
@@ -1,6 +1,6 @@
fileFormatVersion: 2
guid: 0293f3c320d15774eb4424928e85e47a
-timeCreated: 1551517326
+timeCreated: 1551518813
licenseType: Pro
MonoImporter:
serializedVersion: 2
diff --git a/Core/GameEngine/Model/TelPartialConfig/PartialEquipSuitConfig.cs b/Core/GameEngine/Model/TelPartialConfig/PartialEquipSuitConfig.cs
new file mode 100644
index 0000000..d55ec29
--- /dev/null
+++ b/Core/GameEngine/Model/TelPartialConfig/PartialEquipSuitConfig.cs
@@ -0,0 +1,38 @@
+锘縰sing System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using Snxxz.UI;
+
+public partial class EquipSuitConfig : IConfigPostProcess
+{
+
+ static Dictionary<int, List<EquipSuitConfig>> equipSuitConfigs = new Dictionary<int, List<EquipSuitConfig>>();
+
+ public void OnConfigParseCompleted()
+ {
+ var key = suiteID * 100 + suiteCnt;
+ if (!equipSuitConfigs.ContainsKey(key))
+ {
+ equipSuitConfigs[key] = new List<EquipSuitConfig>();
+ }
+
+ equipSuitConfigs[key].Add(this);
+ }
+
+ public static List<EquipSuitConfig> GetConfigs(int job, int level, EquipSuitType type)
+ {
+ var key = (job * 100 + level) * 100 + (int)type;
+ if (equipSuitConfigs.ContainsKey(key))
+ {
+ return equipSuitConfigs[key];
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+
+
+
+}
diff --git a/Core/GameEngine/Model/TelPartialConfig/PartialEquipSuitConfig.cs.meta b/Core/GameEngine/Model/TelPartialConfig/PartialEquipSuitConfig.cs.meta
new file mode 100644
index 0000000..5249be9
--- /dev/null
+++ b/Core/GameEngine/Model/TelPartialConfig/PartialEquipSuitConfig.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 60087776027a201428218496bd6d5a8f
+timeCreated: 1551517526
+licenseType: Pro
+MonoImporter:
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Core/GameEngine/Model/TelPartialConfig/PlayerPropertyConfig.cs b/Core/GameEngine/Model/TelPartialConfig/PlayerPropertyConfig.cs
index 68b39cd..42d1778 100644
--- a/Core/GameEngine/Model/TelPartialConfig/PlayerPropertyConfig.cs
+++ b/Core/GameEngine/Model/TelPartialConfig/PlayerPropertyConfig.cs
@@ -27,4 +27,29 @@
m_PropCfgs.TryGetValue(type, out list);
return list;
}
+
+ public static string GetPropertyDescription(int propertyId, int value)
+ {
+ var config = Get(propertyId);
+ if (config == null)
+ {
+ return string.Empty;
+ }
+
+ if (config.ISPercentage == 0)
+ {
+ return value.ToString();
+ }
+ else if (config.ISPercentage == 1)
+ {
+ return (float)Math.Round(value / 100f, 1) + "%";
+ }
+ else if (config.ISPercentage == 2)
+ {
+ return ((float)Math.Round(value / 100f, 1)).ToString();
+ }
+
+ return string.Empty;
+ }
+
}
diff --git a/System/Equip/EquipSuitPropertyWidget.cs b/System/Equip/EquipSuitPropertyWidget.cs
index 62be395..5d96463 100644
--- a/System/Equip/EquipSuitPropertyWidget.cs
+++ b/System/Equip/EquipSuitPropertyWidget.cs
@@ -21,13 +21,20 @@
EquipModel model { get { return ModelCenter.Instance.GetModel<EquipModel>(); } }
EquipStarModel starModel { get { return ModelCenter.Instance.GetModel<EquipStarModel>(); } }
+ PackModel packModel { get { return ModelCenter.Instance.GetModel<PackModel>(); } }
public void Display(int level)
{
+ m_SuitName.text = EquipSuitConfig.GetConfigs(PlayerDatas.Instance.baseData.Job, level, EquipSuitType.TwoSuit)[0].name;
+ for (int i = 1; i <= 8; i++)
+ {
+ var equip = packModel.GetItemByGuid(model.GetEquipSet(level).GetEquip(i));
+ m_SuitEquipNames[i - 1].color = UIHelper.GetUIColor(equip.config.SuiteiD > 0 ? TextColType.Green : TextColType.Gray);
+ }
+
m_TwoSuit.Display(model.GetEquipSuitEntry(level, EquipSuitType.TwoSuit));
m_FiveSuit.Display(model.GetEquipSuitEntry(level, EquipSuitType.FiveSuit));
-
- m_EightSuitDescription.text = "";
+ m_EightSuitDescription.text = GetEightSuitDescription(level);
}
public void Dispose()
@@ -38,10 +45,28 @@
private string GetEightSuitDescription(int level)
{
var lines = new List<string>();
+ var configs = EquipSuitConfig.GetConfigs(PlayerDatas.Instance.baseData.Job, level, EquipSuitType.EightSuit);
+ for (int i = 0; i < configs.Count; i++)
+ {
+ var config = configs[i];
+ var description = string.Empty;
+ if (config.skillID > 0)
+ {
+ description = config.description;
+ }
+ else
+ {
+ var propertyConfig = PlayerPropertyConfig.Get(config.attr.x);
+ var propertyDescription = PlayerPropertyConfig.GetPropertyDescription(config.attr.x, config.attr.y);
+ description = StringUtility.Contact(propertyConfig.Name, " +", propertyDescription);
+ }
+ var line = string.Format("{0}鏄熻澶囷細 {1}", config.star, description);
+ var starLevel = starModel.GetSuitLevel(level, EquipSuitType.EightSuit);
+ lines.Add(UIHelper.AppendStringColor(config.star >= starLevel ? TextColType.Green : TextColType.Gray, line));
+ }
-
- return string.Empty;
+ return string.Join("\n", lines.ToArray());
}
}
--
Gitblit v1.8.0