| System/DailyQuest/DailyQuestWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/NewBieGuidance/FunctionalGuideCenter.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/NewBieGuidance/NewBieCenter.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Treasure/HumanTreasureWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Treasure/HumanTreasureWin.cs.meta | 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Treasure/TreasureBaseWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Treasure/TreasureCollectBriefInfoBehaviour.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Treasure/TreasureComponent.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Treasure/TreasureData.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Treasure/TreasureLevelUpWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Treasure/TreasureMeridianBehaviour.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Treasure/UI3DTreasureSelectStage.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
System/DailyQuest/DailyQuestWin.cs
@@ -515,40 +515,15 @@ if (gotoTreasureId == 0) { var result = treasures.FindLast((x) => { Treasure treasure; if (treasureModel.TryGetTreasure(x, out treasure)) { var humanTreasure = treasure as HumanTreasure; var config = TreasureConfig.Get(humanTreasure.id); return humanTreasure != null && (humanTreasure.humanState == HumanTreasureState.CastSoul); } else { return false; } } ); if (result != 0) { gotoTreasureId = result; } } if (gotoTreasureId == 0) { for (int i = 0; i < treasures.Count; i++) { Treasure treasure; if (treasureModel.TryGetTreasure(treasures[i], out treasure)) { var humanTreasure = treasure as HumanTreasure; if (humanTreasure != null && (humanTreasure.humanState == HumanTreasureState.Locked || humanTreasure.humanState == HumanTreasureState.Challenge)) if (treasure != null && (treasure.state == TreasureState.Locked || treasure.state == TreasureState.Collecting)) { gotoTreasureId = humanTreasure.id; gotoTreasureId = treasure.id; break; } } @@ -573,27 +548,7 @@ private bool IsTreasureCollectSoul(int _treasureId) { Treasure treasure; if (treasureModel.TryGetTreasure(_treasureId, out treasure)) { var humanTreasure = treasure as HumanTreasure; if (humanTreasure.humanState == HumanTreasureState.CastSoul) { foreach (var achievementGroup in treasure.achievementGroups.Values) { if (achievementGroup.IsAwardable()) { return true; } } } return false; } else { return false; } return false; } private bool IsDungeon()//是否在副本中 System/NewBieGuidance/FunctionalGuideCenter.cs
@@ -301,16 +301,7 @@ case GuideTriggerType.TreasureCollectSoul: return IsTreasureCollectSoul(config.Condition); case GuideTriggerType.TreasureAwaken: Treasure treasureAwaken; if (treasureModel.TryGetTreasure(config.Condition, out treasureAwaken)) { var humanTreasure = treasureAwaken as HumanTreasure; return humanTreasure != null && humanTreasure.castSoulRedpoint != null && humanTreasure.castSoulRedpoint.state == RedPointState.Simple; } else { return false; } return false; case GuideTriggerType.Map: return PlayerDatas.Instance.baseData.MapID == config.Condition; case GuideTriggerType.BranchQuestCando: @@ -342,27 +333,7 @@ private bool IsTreasureCollectSoul(int _treasureId) { Treasure treasure; if (treasureModel.TryGetTreasure(_treasureId, out treasure)) { var humanTreasure = treasure as HumanTreasure; if (humanTreasure != null && humanTreasure.humanState == HumanTreasureState.CastSoul) { foreach (var achievementGroup in treasure.achievementGroups.Values) { if (achievementGroup.IsAwardable()) { return true; } } } return false; } else { return false; } return false; } } System/NewBieGuidance/NewBieCenter.cs
@@ -327,16 +327,7 @@ case GuideTriggerType.TreasureCollectSoul: return IsTreasureCollectSoul(config.Condition); case GuideTriggerType.TreasureAwaken: Treasure treasureAwaken; if (treasureModel.TryGetTreasure(config.Condition, out treasureAwaken)) { var humanTreasure = treasureAwaken as HumanTreasure; return humanTreasure != null && humanTreasure.castSoulRedpoint != null && humanTreasure.castSoulRedpoint.state == RedPointState.Simple; } else { return false; } return false; case GuideTriggerType.QuestCanAccept: return taskmodel.currentMission == config.Condition && taskmodel.currentMissionState == 0; case GuideTriggerType.QuestCanDo: @@ -422,27 +413,7 @@ private bool IsTreasureCollectSoul(int _treasureId) { Treasure treasure; if (treasureModel.TryGetTreasure(_treasureId, out treasure)) { var humanTreasure = treasure as HumanTreasure; if (humanTreasure != null && humanTreasure.humanState == HumanTreasureState.CastSoul) { foreach (var achievementGroup in treasure.achievementGroups.Values) { if (achievementGroup.IsAwardable()) { return true; } } } return false; } else { return false; } return false; } private bool IsComposeEnough(int _secondType) System/Treasure/HumanTreasureWin.cs
New file @@ -0,0 +1,192 @@ //-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Thursday, May 03, 2018 //-------------------------------------------------------- using System; using System.Collections; using System.Collections.Generic; using System.Linq; using UnityEngine; using UnityEngine.UI; namespace Snxxz.UI { [XLua.Hotfix] public class HumanTreasureWin : Window { [SerializeField] PositionTween m_PositionTween; [SerializeField] Image m_TreasureName; [SerializeField] Text m_TreasureStory; [SerializeField] Image m_SkillIcon; [SerializeField] Text m_SkillName; [SerializeField] Text m_SkillType; [SerializeField] Text m_SkillDescription; [SerializeField] Transform m_ContainerUnlock; [SerializeField] Button m_Challenge; [SerializeField] Transform m_ContainerCondition; [SerializeField] Text m_Condition; bool animationStep = false; TreasureModel model { get { return ModelCenter.Instance.GetModel<TreasureModel>(); } } AchievementModel achievementModel { get { return ModelCenter.Instance.GetModel<AchievementModel>(); } } protected override void BindController() { } protected override void AddListeners() { } protected override void OnPreOpen() { Display(); TreasureBaseWin.allowSelectTreasure += AllowSelectTreasure; model.treasureSelectedEvent += TreasureSelectedEvent; } protected override void OnActived() { base.OnActived(); DisplayAnimation(); } protected override void OnAfterOpen() { } protected override void OnPreClose() { TreasureBaseWin.allowSelectTreasure -= AllowSelectTreasure; model.treasureSelectedEvent -= TreasureSelectedEvent; animationStep = false; } protected override void OnAfterClose() { } void Display() { DisplayBase(); DisplayCondition(); } void DisplayBase() { var config = TreasureConfig.Get(model.selectedTreasure); m_TreasureName.SetSprite(config.TreasureNameIcon); m_TreasureStory.text = config.Story; Treasure treasure; if (model.TryGetTreasure(model.selectedTreasure, out treasure)) { var skillId = treasure.unlockSkill; var skillConfig = SkillConfig.Get(skillId); m_SkillIcon.SetSprite(skillConfig.IconName); m_SkillName.text = skillConfig.SkillName; m_SkillDescription.text = skillConfig.Description; m_SkillType.text = skillConfig.HurtType == 1 ? "PVP" : "PVE";// skillConfig.HurtType == 2 ? "PVE" : string.Empty; } } void DisplayCondition() { Treasure treasure; if (!model.TryGetTreasure(model.selectedTreasure, out treasure)) { return; } var state = treasure.state; Achievement achievement = null; int achievementId = 0; bool unlockAchievement = false; if (model.TryGetTreasureUnlockAchievement(treasure.id, out achievementId)) { if (achievementModel.TryGetAchievement(achievementId, out achievement)) { unlockAchievement = true; } } m_Challenge.gameObject.SetActive(!unlockAchievement || achievement.completed); m_ContainerCondition.gameObject.SetActive(unlockAchievement && !achievement.completed); if (state == TreasureState.Collected) { m_Challenge.gameObject.SetActive(false); m_ContainerCondition.gameObject.SetActive(false); } if (model.IsVersionUnOpenTreasure(treasure.id)) { m_Condition.text = Language.Get("TreasureNoOpen"); return; } if (unlockAchievement && !achievement.completed) { var config = SuccessConfig.Get(achievementId); var _missionId = config.Condition[0]; var _taskConfig = PyTaskConfig.Get(_missionId); if (_taskConfig == null) { return; } switch (config.Type) { case 1: m_Condition.text = Language.Get("TreasureChallengeLv", config.Condition[0]); break; case 3: m_Condition.text = Language.Get("TreasureGetRequire", _taskConfig.lv); break; } } } void DisplayAnimation() { animationStep = true; m_ContainerUnlock.gameObject.SetActive(false); m_PositionTween.Play(); UI3DTreasureSelectStage.Instance.Tween(OnTreasureTweenComplete); } private void OnTreasureTweenComplete() { animationStep = false; m_ContainerUnlock.gameObject.SetActive(true); } private void TreasureSelectedEvent(int obj) { Display(); UI3DTreasureSelectStage.Instance.SetEndState(); } private bool AllowSelectTreasure(int treasureId) { if (NewBieCenter.Instance.inGuiding || animationStep) { return false; } return true; } } } System/Treasure/HumanTreasureWin.cs.meta
System/Treasure/TreasureBaseWin.cs
@@ -141,7 +141,7 @@ m_TreasureTitle.SetSprite("XT_FB_45"); m_Left.image.SetSprite("XT_FB_33"); m_Right.image.SetSprite("XT_FB_34"); WindowCenter.Instance.Open<TreasureLevelUpWin>(); WindowCenter.Instance.Open<HumanTreasureWin>(); break; case TreasureCategory.Demon: m_TreasureTitle.SetSprite("XT_FB_46"); System/Treasure/TreasureCollectBriefInfoBehaviour.cs
@@ -395,8 +395,7 @@ Treasure treasure; if (model.TryGetTreasure(humanTreasures[i], out treasure)) { var humanTreasure = treasure as HumanTreasure; if (humanTreasure != null && humanTreasure.humanState == HumanTreasureState.Challenge) if (treasure != null && treasure.state == TreasureState.Collecting) { return humanTreasures[i]; } @@ -408,52 +407,17 @@ private int GetAwakenAbleTreasure() { for (int i = 0; i < humanTreasures.Count; i++) { Treasure treasure; if (model.TryGetTreasure(humanTreasures[i], out treasure)) { var humanTreasure = treasure as HumanTreasure; if (humanTreasure != null && humanTreasure.castSoulRedpoint != null && humanTreasure.castSoulRedpoint.state == RedPointState.Simple) { return humanTreasures[i]; } } } return 0; } private int GetCanCollectSoulTreasure() { for (int i = 0; i < humanTreasures.Count; i++) { if (IsTreasureCollectSoul(humanTreasures[i])) { return humanTreasures[i]; } } return 0; } private int GetAwakenUnderwayTreasure1() { return humanTreasures.Find((x) => { Treasure treasure; if (model.TryGetTreasure(x, out treasure)) { var humanTreasure = treasure as HumanTreasure; var config = TreasureConfig.Get(humanTreasure.id); return humanTreasure != null && humanTreasure.humanState == HumanTreasureState.CastSoul && humanTreasure.stage < config.PreferredStage; } else { return false; } } ); return 0; } private int GetNextChallengeTreasure() @@ -463,8 +427,7 @@ Treasure treasure; if (model.TryGetTreasure(humanTreasures[i], out treasure)) { var humanTreasure = treasure as HumanTreasure; if (humanTreasure != null && humanTreasure.humanState == HumanTreasureState.Locked) if (treasure != null && treasure.state == TreasureState.Locked) { return humanTreasures[i]; } @@ -476,81 +439,12 @@ private int GetPotentialUpAbleTreasure() { for (int i = 0; i < humanTreasures.Count; i++) { Treasure treasure; if (model.TryGetTreasure(humanTreasures[i], out treasure)) { var humanTreasure = treasure as HumanTreasure; if (humanTreasure != null && humanTreasure.skillLevelUpRedpoint.state == RedPointState.Simple) { return humanTreasures[i]; } } } return 0; } private int GetPotentialUpTreasure(int _lastPotentialLevel) { for (int i = 0; i < humanTreasures.Count; i++) { Treasure treasure; if (model.TryGetTreasure(humanTreasures[i], out treasure)) { var humanTreasure = treasure as HumanTreasure; if (humanTreasure != null && humanTreasure.humanState == HumanTreasureState.Potential) { var lastPotential = humanTreasure.potentials[humanTreasure.potentials.Count - 1]; if (lastPotential.level < _lastPotentialLevel) { return humanTreasures[i]; } } } } for (int i = 0; i < humanTreasures.Count; i++) { Treasure treasure; if (model.TryGetTreasure(humanTreasures[i], out treasure)) { var humanTreasure = treasure as HumanTreasure; if (humanTreasure != null && humanTreasure.humanState == HumanTreasureState.Potential) { return humanTreasures[i]; } } } return 0; } private bool IsTreasureCollectSoul(int _treasureId) { Treasure treasure; if (model.TryGetTreasure(_treasureId, out treasure)) { var humanTreasure = treasure as HumanTreasure; if (humanTreasure.humanState == HumanTreasureState.CastSoul) { foreach (var achievementGroup in treasure.achievementGroups.Values) { if (achievementGroup.IsAwardable()) { return true; } } } return false; } else { return false; } } System/Treasure/TreasureComponent.cs
@@ -467,71 +467,70 @@ { return; } var _human = _treasure as HumanTreasure; var count = 0; if (_human.castSoulRedpoint.state == RedPointState.Simple) { if (m_StageUpRedpool == null) { var _prefab = UILoader.LoadPrefab("Dian_JueXing"); m_StageUpRedpool = GameObjectPoolManager.Instance.RequestPool(_prefab); } stageUpRed = m_StageUpRedpool.Request().transform; stageUpRed.gameObject.SetActive(true); stageUpRed.SetParent(root); stageUpRed.transform.localPosition = Vector3.zero; stageUpRed.LookAt(UI3DTreasureSelectStage.Instance.center); if (stageUpRed != null) { var _param = UI3DTreasureSelectStage.Instance.stageUpParam; count++; stageUpRed.transform.localPosition = GetRedpointPosition(count); stageUpRed.transform.localScale = _param.scale; } LayerUtility.SetLayer(stageUpRed.gameObject, LayerUtility.UILayer, true); } if (_human.achievementRedpoint.state == RedPointState.Simple) { if (m_AchievementRedpool == null) { var _prefab = UILoader.LoadPrefab("Dian_JiHun"); m_AchievementRedpool = GameObjectPoolManager.Instance.RequestPool(_prefab); } achievementRed = m_AchievementRedpool.Request().transform; achievementRed.gameObject.SetActive(true); achievementRed.SetParent(root); achievementRed.transform.localPosition = Vector3.zero; achievementRed.LookAt(UI3DTreasureSelectStage.Instance.center); if (achievementRed != null) { var _param = UI3DTreasureSelectStage.Instance.achievementParam; count++; achievementRed.transform.localPosition = GetRedpointPosition(count); achievementRed.transform.localScale = _param.scale; } LayerUtility.SetLayer(achievementRed.gameObject, LayerUtility.UILayer, true); } if (_human.skillLevelUpRedpoint.state == RedPointState.Simple) { if (m_PotentialRedpool == null) { var _prefab = UILoader.LoadPrefab("Dian_Gong"); m_PotentialRedpool = GameObjectPoolManager.Instance.RequestPool(_prefab); } potentialRed = m_PotentialRedpool.Request().transform; potentialRed.gameObject.SetActive(true); potentialRed.SetParent(root); potentialRed.transform.localPosition = Vector3.zero; potentialRed.LookAt(UI3DTreasureSelectStage.Instance.center); if (potentialRed != null) { var _param = UI3DTreasureSelectStage.Instance.potentialParam; count++; potentialRed.transform.localPosition = GetRedpointPosition(count); potentialRed.transform.localScale = _param.scale; } LayerUtility.SetLayer(potentialRed.gameObject, LayerUtility.UILayer, true); } //var count = 0; //if (_human.castSoulRedpoint.state == RedPointState.Simple) //{ // if (m_StageUpRedpool == null) // { // var _prefab = UILoader.LoadPrefab("Dian_JueXing"); // m_StageUpRedpool = GameObjectPoolManager.Instance.RequestPool(_prefab); // } // stageUpRed = m_StageUpRedpool.Request().transform; // stageUpRed.gameObject.SetActive(true); // stageUpRed.SetParent(root); // stageUpRed.transform.localPosition = Vector3.zero; // stageUpRed.LookAt(UI3DTreasureSelectStage.Instance.center); // if (stageUpRed != null) // { // var _param = UI3DTreasureSelectStage.Instance.stageUpParam; // count++; // stageUpRed.transform.localPosition = GetRedpointPosition(count); // stageUpRed.transform.localScale = _param.scale; // } // LayerUtility.SetLayer(stageUpRed.gameObject, LayerUtility.UILayer, true); //} //if (_human.achievementRedpoint.state == RedPointState.Simple) //{ // if (m_AchievementRedpool == null) // { // var _prefab = UILoader.LoadPrefab("Dian_JiHun"); // m_AchievementRedpool = GameObjectPoolManager.Instance.RequestPool(_prefab); // } // achievementRed = m_AchievementRedpool.Request().transform; // achievementRed.gameObject.SetActive(true); // achievementRed.SetParent(root); // achievementRed.transform.localPosition = Vector3.zero; // achievementRed.LookAt(UI3DTreasureSelectStage.Instance.center); // if (achievementRed != null) // { // var _param = UI3DTreasureSelectStage.Instance.achievementParam; // count++; // achievementRed.transform.localPosition = GetRedpointPosition(count); // achievementRed.transform.localScale = _param.scale; // } // LayerUtility.SetLayer(achievementRed.gameObject, LayerUtility.UILayer, true); //} //if (_human.skillLevelUpRedpoint.state == RedPointState.Simple) //{ // if (m_PotentialRedpool == null) // { // var _prefab = UILoader.LoadPrefab("Dian_Gong"); // m_PotentialRedpool = GameObjectPoolManager.Instance.RequestPool(_prefab); // } // potentialRed = m_PotentialRedpool.Request().transform; // potentialRed.gameObject.SetActive(true); // potentialRed.SetParent(root); // potentialRed.transform.localPosition = Vector3.zero; // potentialRed.LookAt(UI3DTreasureSelectStage.Instance.center); // if (potentialRed != null) // { // var _param = UI3DTreasureSelectStage.Instance.potentialParam; // count++; // potentialRed.transform.localPosition = GetRedpointPosition(count); // potentialRed.transform.localScale = _param.scale; // } // LayerUtility.SetLayer(potentialRed.gameObject, LayerUtility.UILayer, true); //} } public Vector3 GetRedpointPosition(int _count) @@ -563,19 +562,6 @@ return; } bool _update = false; if(_treasure.skillLevelUpRedpoint.id==_id || _treasure.achievementRedpoint.id == _id) { _update = true; } if(_treasure is HumanTreasure) { var _human = _treasure as HumanTreasure; if(_human.castSoulRedpoint.id==_id) { _update = true; } } if (_update) { RequestRedpoint(); System/Treasure/TreasureData.cs
@@ -300,70 +300,6 @@ } } public class HumanTreasure : Treasure { TreasureModel model { get { return ModelCenter.Instance.GetModel<TreasureModel>(); } } HumanTreasureState m_State = HumanTreasureState.Locked; public HumanTreasureState humanState { get { return m_State; } private set { m_State = value; model.HumanTreasureStateChange(base.id); } } public HumanTreasure(int _id, int[] _potentialIds, Redpoint _skillLevelUpRedpoint, Redpoint _achievementPoint , Redpoint _castSoulPoint) : base(_id, _potentialIds, _skillLevelUpRedpoint, _achievementPoint) { castSoulRedpoint = _castSoulPoint; } public void UpdateTreasureState() { if (state == TreasureState.Locked) { humanState = HumanTreasureState.Locked; return; } if (state == TreasureState.Collecting) { humanState = HumanTreasureState.Challenge; return; } if (IsHighestStage && FuncOpen.Instance.IsFuncOpen(82)) { foreach (var potential in potentials) { var config = SkillConfig.Get(potential.id); var level = potential.level; var isMax = level >= config.SkillMaxLV; if (!isMax) { humanState = HumanTreasureState.Potential; return; } } humanState = HumanTreasureState.Complete; } else { humanState = HumanTreasureState.CastSoul; } } public Redpoint castSoulRedpoint { get; private set; } } public class AchievementGroup { AchievementModel model { get { return ModelCenter.Instance.GetModel<AchievementModel>(); } } System/Treasure/TreasureLevelUpWin.cs
File was deleted System/Treasure/TreasureMeridianBehaviour.cs
@@ -30,7 +30,7 @@ Treasure m_Treasure; TreasureStage m_TreasureStage; TreasureLevelUpWin m_TreasureLevelUpWin; HumanTreasureWin m_TreasureLevelUpWin; int stageIndex = 0; int lineState = 0; @@ -82,7 +82,7 @@ { if (m_TreasureLevelUpWin != null) { m_TreasureLevelUpWin.OnLineStepComplete -= OnLineStepComplete; //m_TreasureLevelUpWin.OnLineStepComplete -= OnLineStepComplete; } } @@ -112,11 +112,11 @@ m_IconBottom.transform.localScale = _scale * Vector3.one; } public void Display(int _stage, int _stageIndex, TreasureLevelUpWin _win) public void Display(int _stage, int _stageIndex, HumanTreasureWin _win) { m_TreasureLevelUpWin = _win; m_TreasureLevelUpWin.OnLineStepComplete -= OnLineStepComplete; m_TreasureLevelUpWin.OnLineStepComplete += OnLineStepComplete; //m_TreasureLevelUpWin.OnLineStepComplete -= OnLineStepComplete; //m_TreasureLevelUpWin.OnLineStepComplete += OnLineStepComplete; stageIndex = _stageIndex; if (model.TryGetTreasure(model.selectedTreasure, out m_Treasure)) { System/Treasure/UI3DTreasureSelectStage.cs
@@ -1101,8 +1101,9 @@ var _timer = 0f; while (_timer < _duration && IsOpen && IsCloser) { var _target = 0.62f * _timer / _duration; renderCamera.rect = new Rect(-_target, 0, 1, 1); var offset = currentCategory == TreasureCategory.Human ? 0.3f : -0.62f; var _target = offset * _timer / _duration; renderCamera.rect = new Rect(_target, 0, 1, 1); yield return null; _timer += Time.deltaTime; } @@ -1122,7 +1123,8 @@ public void SetEndState() { renderCamera.rect = new Rect(-0.62f, 0, 1, 1); var offset = currentCategory == TreasureCategory.Human ? 0.3f : -0.62f; renderCamera.rect = new Rect(offset, 0, 1, 1); var config = ScriptableObjectLoader.LoadSoTreasure3DConfig(selectTreasure); renderCamera.transform.localPosition = config.renderCameraParam.position; }