From ee41c1b1aee9fb8e7dcfdc05113bc74e0da7ffb0 Mon Sep 17 00:00:00 2001
From: client_linchunjie <461730578@qq.com>
Date: 星期三, 26 九月 2018 16:21:30 +0800
Subject: [PATCH] 3687 天赋功能
---
System/Skill/TalentModel.cs | 48 ++++++++++++++++++++++-
Core/NetworkPackage/DTCFile/ServerPack/H03_MainCharacter/DTC0310_tagRoleSkillChange.cs | 2
System/Skill/TalentWin.cs | 36 +++++++++++++++++
3 files changed, 81 insertions(+), 5 deletions(-)
diff --git a/Core/NetworkPackage/DTCFile/ServerPack/H03_MainCharacter/DTC0310_tagRoleSkillChange.cs b/Core/NetworkPackage/DTCFile/ServerPack/H03_MainCharacter/DTC0310_tagRoleSkillChange.cs
index 4ab3a4a..af0faa5 100644
--- a/Core/NetworkPackage/DTCFile/ServerPack/H03_MainCharacter/DTC0310_tagRoleSkillChange.cs
+++ b/Core/NetworkPackage/DTCFile/ServerPack/H03_MainCharacter/DTC0310_tagRoleSkillChange.cs
@@ -41,7 +41,7 @@
model.UpdateTreasurePotentialInfo(vNetData.OldSkillID, vNetData.NewSkillID);
-
+ ModelCenter.Instance.GetModel<TalentModel>().UpdateTalentSkill(vNetData.OldSkillID, vNetData.NewSkillID);
if (vNetData != null)
{
// horsemodel.MountSkill0310(vNetData.NewSkillID);
diff --git a/System/Skill/TalentModel.cs b/System/Skill/TalentModel.cs
index bc2e15e..4044745 100644
--- a/System/Skill/TalentModel.cs
+++ b/System/Skill/TalentModel.cs
@@ -54,6 +54,8 @@
}
}
+ bool serverInited = false;
+
public event Action selectTalentTypeEvnet;
public event Action selectSeriesEvent;
public event Action selectSkillEvent;
@@ -72,10 +74,12 @@
{
talent.level = 0;
}
+ serverInited = false;
}
public void OnPlayerLoginOk()
{
+ serverInited = true;
}
public override void UnInit()
@@ -91,6 +95,8 @@
}
}
+ public int talentResetBook { get; private set; }
+ public int storeId { get; private set; }
void ParseConfig()
{
var configs = Config.Instance.GetAllValues<TalentConfig>();
@@ -112,6 +118,20 @@
talentTreeDict.Add(skillConfig.UseType, talentTree);
}
talentTree.Add(configs[i], skillConfig.SkillTypeID);
+ }
+ }
+ var config = Config.Instance.Get<FuncConfigConfig>("");
+ if (config != null)
+ {
+ talentResetBook = int.Parse(config.Numerical1);
+ }
+ var storeConfigs = Config.Instance.GetAllValues<StoreConfig>();
+ for (int i = 0; i < storeConfigs.Count; i++)
+ {
+ if (storeConfigs[i].ItemID == talentResetBook)
+ {
+ storeId = storeConfigs[i].ID;
+ break;
}
}
}
@@ -187,7 +207,7 @@
var requireSeries = skillConfig.RequireSeries();
if (GetSeriesPoint(talentConfig.type, requireSeries) < requireSeriesPoint)
{
- error = 4;
+ error = 3;
return false;
}
}
@@ -198,7 +218,7 @@
{
if (learnTalent.level < skillConfig.LearnSkillLV)
{
- error = 5;
+ error = 4;
return false;
}
}
@@ -209,7 +229,15 @@
public void ProcessLevelUpError(int error)
{
-
+ switch (error)
+ {
+ case 2:
+ break;
+ case 3:
+ break;
+ case 4:
+ break;
+ }
}
#region 鏈嶅姟绔暟鎹�
@@ -220,6 +248,20 @@
UpdateRedpoint();
}
+
+ public void UpdateTalentSkill(int _oldSkillId, int _newSkillId)
+ {
+ var config = Config.Instance.Get<SkillConfig>(_newSkillId);
+ if (talentSkills.ContainsKey(config.SkillTypeID))
+ {
+ var talentSkill = talentSkills[config.SkillTypeID];
+ talentSkill.level = config.SkillLV;
+ if (talentSkillUpdate != null)
+ {
+ talentSkillUpdate(config.SkillTypeID);
+ }
+ }
+ }
#endregion
#region 绾㈢偣
diff --git a/System/Skill/TalentWin.cs b/System/Skill/TalentWin.cs
index 186864e..d1b82ea 100644
--- a/System/Skill/TalentWin.cs
+++ b/System/Skill/TalentWin.cs
@@ -51,6 +51,7 @@
#endif
TalentModel model { get { return ModelCenter.Instance.GetModel<TalentModel>(); } }
+ PlayerPackModel pack { get { return ModelCenter.Instance.GetModel<PlayerPackModel>(); } }
#region Built-in
protected override void BindController()
{
@@ -130,6 +131,7 @@
DisplayTalentType();
DisplaySelectSkill();
DisplayTalentPoint();
+ DisplayLevelUp();
}
void DisplaySkills()
@@ -197,7 +199,8 @@
if (requireSeriesPoint != 0 && index < m_SelectConditions.Length)
{
m_SelectConditions[index].gameObject.SetActive(true);
- m_SelectConditions[index].text = StringUtility.Contact(0, "/", requireSeriesPoint);
+ m_SelectConditions[index].text = StringUtility.Contact(model.GetSeriesPoint(talentConfig.type,
+ skillConfig.RequireSeries()), "/", requireSeriesPoint);
index++;
}
}
@@ -285,6 +288,7 @@
DisplaySkillInfo();
DisplayConditions();
DisplaySkillEffect();
+ DisplayLevelUp();
}
}
@@ -317,6 +321,15 @@
model.selectTalentType = model.selectTalentType == 1 ? 2 : 1;
}
+ private void DisplayLevelUp()
+ {
+ TalentSkill talent;
+ if (model.TryGetTalent(model.selectSkill, out talent))
+ {
+ m_AddPointBtnText.text = talent.level >= talent.maxLevel ? "宸叉弧绾�" : "鍔犵偣";
+ }
+ }
+
private void AddPoint()
{
TalentSkill talent;
@@ -333,7 +346,28 @@
private void ResetPoint()
{
+ var count = pack.GetItemCountByID(PackType.rptItem, model.talentResetBook);
+ if (count > 0)
+ {
+ ConfirmCancel.ShowItemConfirm(Language.Get(""), model.talentResetBook, 1, () =>
+ {
+ });
+ }
+ else
+ {
+ if (model.storeId != 0)
+ {
+ var storeConfig = Config.Instance.Get<StoreConfig>(model.storeId);
+ ConfirmCancel.ShowPopConfirm(Language.Get(""), Language.Get("", storeConfig.MoneyNumber), (bool isOk) =>
+ {
+ if (isOk)
+ {
+ ModelCenter.Instance.GetModel<StoreModel>().SendBuyShopItem(storeConfig, 1);
+ }
+ });
+ }
+ }
}
void DisplayTalentLayout(TalentTreeScriptable config)
--
Gitblit v1.8.0