From efd076ce4e03d63f99f326fa22b672dbcace557d Mon Sep 17 00:00:00 2001
From: client_Zxw <826696702@qq.com>
Date: 星期二, 12 三月 2019 15:09:50 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts
---
System/EquipTrain/EquipTrainPropertyBarBehaviour.cs | 55 +++++++++---------
System/EquipTrain/EquipTrainWin.cs | 4
System/EquipTrain/EquipTrainModel.cs | 76 +++++++++++++++++++-----
3 files changed, 89 insertions(+), 46 deletions(-)
diff --git a/System/EquipTrain/EquipTrainModel.cs b/System/EquipTrain/EquipTrainModel.cs
index 6b59de2..2f89ea2 100644
--- a/System/EquipTrain/EquipTrainModel.cs
+++ b/System/EquipTrain/EquipTrainModel.cs
@@ -27,6 +27,12 @@
public override void Init()
{
ParseConfig();
+
+ var levels = equipModel.GetAllEquipSets();
+ foreach (var level in levels)
+ {
+ equipTrains[level] = new EquipTrainSet(level);
+ }
}
public override void UnInit()
@@ -178,6 +184,32 @@
return;
}
+ if (invevitable)
+ {
+ var properties = GetTrainedProperties(selectedLevel.value, selectedPlace.value);
+ var type = GetTrainType(selectedPlace.value);
+ var trainLevel = GetTrainLevel(selectedLevel.value, selectedPlace.value);
+ var data = EquipWashConfig.Get(type, trainLevel);
+ var isPerfect = false;
+ switch (index)
+ {
+ case 1:
+ isPerfect = properties[index - 1] >= data.config.attMax1;
+ break;
+ case 2:
+ isPerfect = properties[index - 1] >= data.config.attMax2;
+ break;
+ case 3:
+ isPerfect = properties[index - 1] >= data.config.attMax3;
+ break;
+ }
+
+ if (isPerfect)
+ {
+ return;
+ }
+ }
+
if (propertyBars.Count > index)
{
propertyBars[index].inevitable.value = invevitable;
@@ -255,17 +287,29 @@
return TrainState.Empty;
}
- var currentStarLevel = GetTrainLevel(equip.config.LV, equip.config.EquipPlace);
- var absoluteMax = GetMaxTrainLevel(equip.config.EquipPlace);
- if (currentStarLevel >= absoluteMax)
+ var type = GetTrainType(place);
+ var currentStarLevel = GetTrainLevel(level, place);
+ var absoluteMax = GetMaxTrainLevel(place);
+ var data = EquipWashConfig.Get(type, Mathf.Clamp(currentStarLevel, 1, absoluteMax));
+ if (data == null)
{
- return TrainState.MaxLevel;
+ return TrainState.Empty;
}
- var relativeMax = GetMaxTrainLevel(equip.config.LV, equip.config.EquipPlace);
- if (currentStarLevel >= relativeMax)
+ var properties = GetTrainedProperties(level, place);
+ var isFull = properties.x >= data.config.attMax1 && properties.y >= data.config.attMax2 && properties.z >= data.config.attMax3;
+ if (isFull)
{
- return TrainState.StarLimit;
+ if (currentStarLevel >= absoluteMax)
+ {
+ return TrainState.MaxLevel;
+ }
+
+ var relativeMax = GetMaxTrainLevel(equip.config.LV, equip.config.EquipPlace);
+ if (currentStarLevel >= relativeMax)
+ {
+ return TrainState.StarLimit;
+ }
}
return TrainState.Allowable;
@@ -316,7 +360,7 @@
var unSavedProperties = GetUnSavedProperties(level, place);
var trainedProperties = GetTrainedProperties(level, place);
var trainLevel = GetTrainLevel(level, place);
- var data = EquipWashConfig.Get(GetTrainType(place), Mathf.Clamp(trainLevel + 1, 1, absoluteMax));
+ var data = EquipWashConfig.Get(GetTrainType(place), Mathf.Clamp(trainLevel, 1, absoluteMax));
if (data != null)
{
@@ -370,25 +414,23 @@
private TrainOperateType CalculateTrainOperateType(int level, int place)
{
- var currentLevel = GetTrainLevel(level, place);
- var maxLevel = GetMaxTrainLevel(level, place);
- if (maxLevel > 0 && currentLevel >= maxLevel)
- {
- return TrainOperateType.Max;
- }
-
var unSavedProperties = GetUnSavedProperties(level, place);
if (unSavedProperties != Int3.zero)
{
return TrainOperateType.Save;
}
- var trainable = GetEquipPlaceTrainState(level, place) == TrainState.Allowable;
- if (trainable)
+ var trainState = GetEquipPlaceTrainState(level, place);
+ if (trainState == TrainState.Allowable)
{
return TrainOperateType.Train;
}
+ if (trainState == TrainState.StarLimit || trainState == TrainState.MaxLevel)
+ {
+ return TrainOperateType.Max;
+ }
+
return TrainOperateType.None;
}
diff --git a/System/EquipTrain/EquipTrainPropertyBarBehaviour.cs b/System/EquipTrain/EquipTrainPropertyBarBehaviour.cs
index c71f351..3b7386e 100644
--- a/System/EquipTrain/EquipTrainPropertyBarBehaviour.cs
+++ b/System/EquipTrain/EquipTrainPropertyBarBehaviour.cs
@@ -48,16 +48,19 @@
m_Progress.value = 0;
m_Value.text = "0";
m_DeltaValue.gameObject.SetActive(false);
+ m_Inevitable.gameObject.SetActive(true);
break;
case EquipTrainModel.TrainState.StarLimit:
m_Progress.value = 1;
m_Value.text = string.Format("{0}/{1}", propertyBar.propertyValue, propertyBar.upperLimit);
- m_DeltaValue.gameObject.SetActive(false);
+ m_DeltaValue.gameObject.SetActive(true);
+ m_Inevitable.gameObject.SetActive(false);
break;
case EquipTrainModel.TrainState.MaxLevel:
m_Progress.value = 1;
m_Value.text = string.Format("{0}/{1}", propertyBar.propertyValue, propertyBar.upperLimit);
- m_DeltaValue.gameObject.SetActive(false);
+ m_DeltaValue.gameObject.SetActive(true);
+ m_Inevitable.gameObject.SetActive(false);
break;
case EquipTrainModel.TrainState.Allowable:
m_Inevitable.gameObject.SetActive(true);
@@ -69,11 +72,6 @@
private void DisplayDynamicInfo(bool force)
{
- if (force || propertyBar.inevitable.dirty)
- {
- m_Inevitable.isOn = propertyBar.inevitable.Fetch();
- }
-
if (force || propertyBar.propertyValue.dirty)
{
var value = propertyBar.propertyValue.Fetch();
@@ -89,38 +87,41 @@
var inevitable = propertyBar.inevitable.Fetch();
m_Inevitable.isOn = inevitable;
- if (operateType == EquipTrainModel.TrainOperateType.Train)
+
+ var isPerfect = propertyBar.upperLimit > 0 && propertyBar.propertyValue.value >= propertyBar.upperLimit;
+ if (isPerfect)
{
- var isPerfect = propertyBar.upperLimit > 0 && propertyBar.propertyValue.value >= propertyBar.upperLimit;
- if (isPerfect)
- {
- m_DeltaValue.text = "瀹岀編";
- m_DeltaValue.color = UIHelper.GetUIColor(TextColType.Green, true);
- }
- else
- {
- m_DeltaValue.text = inevitable ? "蹇呭" : "";
- }
+ m_DeltaValue.text = "瀹岀編";
+ m_DeltaValue.color = UIHelper.GetUIColor(TextColType.Green, true);
}
else
{
- if (deltaValue > 0)
+ if (operateType == EquipTrainModel.TrainOperateType.Train)
{
- m_DeltaValue.text = string.Format("+{0}", deltaValue);
+ m_DeltaValue.text = inevitable ? "蹇呭" : "";
m_DeltaValue.color = UIHelper.GetUIColor(TextColType.Green, true);
- }
- else if (deltaValue < 0)
- {
- m_DeltaValue.text = string.Format("-{0}", deltaValue);
- m_DeltaValue.color = UIHelper.GetUIColor(TextColType.Red, true);
}
else
{
- m_DeltaValue.text = "";
- m_DeltaValue.color = UIHelper.GetUIColor(TextColType.Green, true);
+ if (deltaValue > 0)
+ {
+ m_DeltaValue.text = string.Format("+{0}", deltaValue);
+ m_DeltaValue.color = UIHelper.GetUIColor(TextColType.Green, true);
+ }
+ else if (deltaValue < 0)
+ {
+ m_DeltaValue.text = deltaValue.ToString();
+ m_DeltaValue.color = UIHelper.GetUIColor(TextColType.Red, true);
+ }
+ else
+ {
+ m_DeltaValue.text = string.Format("+{0}", deltaValue);
+ m_DeltaValue.color = UIHelper.GetUIColor(TextColType.Green, true);
+ }
}
}
+
}
}
diff --git a/System/EquipTrain/EquipTrainWin.cs b/System/EquipTrain/EquipTrainWin.cs
index 01d33d8..d175990 100644
--- a/System/EquipTrain/EquipTrainWin.cs
+++ b/System/EquipTrain/EquipTrainWin.cs
@@ -141,7 +141,7 @@
{
var trainLevel = model.equipTrainLevel.Fetch();
m_TrainLevel.text = string.Format("{0}绾ф礂缁�", trainLevel);
- m_MaxLevelContainer.gameObject.SetActive(trainLevel > 0 && trainLevel >= model.equipTrainMaxLevel.value);
+ m_MaxLevelContainer.gameObject.SetActive(trainLevel > 1 && trainLevel >= model.equipTrainMaxLevel.value);
}
if (force || model.equipTrainMaxLevel.dirty)
@@ -213,7 +213,7 @@
var type = EquipTrainModel.GetTrainType(place);
var trainLevel = model.GetTrainLevel(level, place);
var config = EquipWashConfig.Get(type, trainLevel + 1);
- m_InevitableMaterial.Display(false, own, need, config.mustCosts[need - 1]);
+ m_InevitableMaterial.Display(false, need, own, config.mustCosts[need - 1]);
}
else
{
--
Gitblit v1.8.0