|
@@ -154,7 +154,10 @@ namespace Fort23.Mono
|
|
|
{
|
|
|
if (skills[i] == null)
|
|
|
continue;
|
|
|
- if(!IsMainGongFaChange(skills[i].skillConfig))
|
|
|
+ if (!IsMainGongFaChange(skills[i].skillConfig))
|
|
|
+ continue;
|
|
|
+
|
|
|
+ if (!IsPassiveGongFaChange(skills[i].skillConfig))
|
|
|
continue;
|
|
|
allKongSkill[indexList[i]].SetSKill(skills[i]);
|
|
|
allUseSkill[indexList[i]] = skills[i];
|
|
@@ -508,13 +511,27 @@ namespace Fort23.Mono
|
|
|
//直接上功法
|
|
|
if (skillKongWidget.SkillInfo == null && dianjiSkillKongWidget == null && selectSkillConfig != null)
|
|
|
{
|
|
|
- if (!IsMainGongFaChange(selectSkillConfig.skillConfig))
|
|
|
+ if (selectSkillConfig.skillConfig.SkillType == 1)
|
|
|
{
|
|
|
- TipMessagePanel.OpenTipMessagePanel("主动功法已经上满");
|
|
|
- CloseSelect();
|
|
|
- return;
|
|
|
+ if (!IsMainGongFaChange(selectSkillConfig.skillConfig))
|
|
|
+ {
|
|
|
+ TipMessagePanel.OpenTipMessagePanel("主动功法已经上满");
|
|
|
+ CloseSelect();
|
|
|
+ return;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
+ if (selectSkillConfig.skillConfig.SkillType == 2)
|
|
|
+ {
|
|
|
+ if (!IsPassiveGongFaChange(selectSkillConfig.skillConfig))
|
|
|
+ {
|
|
|
+ TipMessagePanel.OpenTipMessagePanel("被动功法已经上满");
|
|
|
+ CloseSelect();
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
isAlter = true;
|
|
|
|
|
|
skillKongWidget.SetSKill(selectSkillConfig);
|
|
@@ -524,12 +541,27 @@ namespace Fort23.Mono
|
|
|
//替换功法
|
|
|
else if (skillKongWidget.SkillInfo != null && dianjiSkillKongWidget == null && selectSkillConfig != null)
|
|
|
{
|
|
|
- if (!IsMainGongFaChange(selectSkillConfig.skillConfig) && allUseSkill[skillKongWidget.SkillInfo.index].skillConfig.SkillType != 1)
|
|
|
+ if (allUseSkill[skillKongWidget.SkillInfo.index].skillConfig.SkillType == 1)
|
|
|
{
|
|
|
- TipMessagePanel.OpenTipMessagePanel("主动功法已经上满");
|
|
|
- CloseSelect();
|
|
|
- return;
|
|
|
+ if (!IsMainGongFaChange(selectSkillConfig.skillConfig) && allUseSkill[skillKongWidget.SkillInfo.index].skillConfig.SkillType != 1)
|
|
|
+ {
|
|
|
+ TipMessagePanel.OpenTipMessagePanel("主动功法已经上满");
|
|
|
+ CloseSelect();
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if (allUseSkill[skillKongWidget.SkillInfo.index].skillConfig.SkillType == 2)
|
|
|
+ {
|
|
|
+ if (!IsPassiveGongFaChange(selectSkillConfig.skillConfig) && allUseSkill[skillKongWidget.SkillInfo.index].skillConfig.SkillType != 2)
|
|
|
+ {
|
|
|
+ TipMessagePanel.OpenTipMessagePanel("被动功法已经上满");
|
|
|
+ CloseSelect();
|
|
|
+ return;
|
|
|
+ }
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
isAlter = true;
|
|
|
allUseSkill[skillKongWidget.SkillInfo.index] = null;
|
|
|
skillKongWidget.SetSKill(selectSkillConfig);
|
|
@@ -669,7 +701,7 @@ namespace Fort23.Mono
|
|
|
}
|
|
|
|
|
|
|
|
|
- Text_GongFaCount.text = $"功法数量{GetMainGongFaCount()}/4";
|
|
|
+ Text_GongFaCount.text = $"功法数量{GetMainGongFaCount()}/{PlayerManager.Instance.myHero.powerUpConfig.MaxActiveGongfaNum}";
|
|
|
}
|
|
|
|
|
|
private async void OnClick(ItemWidgetBasic obj)
|
|
@@ -695,7 +727,7 @@ namespace Fort23.Mono
|
|
|
Btn_RemoveGongFa.gameObject.SetActive(false);
|
|
|
|
|
|
|
|
|
- if (!IsMainGongFaChange(skillWidget.skillConfigId.skillConfig))
|
|
|
+ if (!IsMainGongFaChange(skillWidget.skillConfigId.skillConfig) || !IsPassiveGongFaChange(skillWidget.skillConfigId.skillConfig))
|
|
|
{
|
|
|
SelectSkill(skillWidget.skillConfigId, true);
|
|
|
}
|
|
@@ -706,6 +738,10 @@ namespace Fort23.Mono
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ /// <summary>
|
|
|
+ /// 获得主功法数量
|
|
|
+ /// </summary>
|
|
|
+ /// <returns></returns>
|
|
|
private int GetMainGongFaCount()
|
|
|
{
|
|
|
int count = 0;
|
|
@@ -720,9 +756,39 @@ namespace Fort23.Mono
|
|
|
return count;
|
|
|
}
|
|
|
|
|
|
+ /// <summary>
|
|
|
+ /// 获得被动功法数量
|
|
|
+ /// </summary>
|
|
|
+ /// <returns></returns>
|
|
|
+ private int GetPassiveGongFaCount()
|
|
|
+ {
|
|
|
+ int count = 0;
|
|
|
+ for (var i = 0; i < allUseSkill.Length; i++)
|
|
|
+ {
|
|
|
+ if (allUseSkill[i] != null && allUseSkill[i].skillConfig.SkillType == 2)
|
|
|
+ {
|
|
|
+ count++;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return count;
|
|
|
+ }
|
|
|
+
|
|
|
private bool IsMainGongFaChange(SkillConfig s)
|
|
|
{
|
|
|
- if (GetMainGongFaCount() < 4 || s.SkillType != 1)
|
|
|
+ if (GetMainGongFaCount() < PlayerManager.Instance.myHero.powerUpConfig.MaxActiveGongfaNum || s.SkillType != 1)
|
|
|
+ {
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private bool IsPassiveGongFaChange(SkillConfig s)
|
|
|
+ {
|
|
|
+ if (GetPassiveGongFaCount() < PlayerManager.Instance.myHero.powerUpConfig.MaxPassiveGongfaNum || s.SkillType != 2)
|
|
|
{
|
|
|
return true;
|
|
|
}
|
|
@@ -730,7 +796,6 @@ namespace Fort23.Mono
|
|
|
{
|
|
|
return false;
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
|
|
|
public void HindIScorllListWidget(IScorllListWidget widget)
|