| Core/GameEngine/Model/Config/DungeonConfig.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Core/GameEngine/Model/Config/DungeonConfig.cs.meta | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Dungeon/DungeonBreifInfo.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Dungeon/DungeonData.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Dungeon/DungeonFairyFeastHintWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Dungeon/DungeonFairyFeastHintWin.cs.meta | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Dungeon/DungeonModel.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/FairyAu/FairyFeastRankBehaviour.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/FairyAu/FairyFeastRankBehaviour.cs.meta | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Message/RichMoveEvent.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/WindowBase/WindowCenter.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
Core/GameEngine/Model/Config/DungeonConfig.cs
@@ -1,113 +1,117 @@ //-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Friday, May 18, 2018 //-------------------------------------------------------- using UnityEngine; using System; namespace TableConfig { public partial class DungeonConfig : ConfigBase { //-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Thursday, August 30, 2018 //-------------------------------------------------------- public int ID { get ; private set ; } public int DataMapID { get ; private set ; } public int LineID { get ; private set ; } public int MapID { get ; private set ; } public string FBName { get ; private set; } public int LVLimitMin { get ; private set ; } public int LVLimitMax { get ; private set ; } public int JobRankLimit { get ; private set ; } public int TicketID { get ; private set ; } public int[] TicketCostCnt; public int TicketPrice { get ; private set ; } public int SweepLVLimit { get ; private set ; } public int SweepItemID { get ; private set ; } public int SweepCostCnt { get ; private set ; } public string StepTime { get ; private set; } public int[] BossActorID; public int[] Rewards; public string Description { get ; private set; } public int AutomaticATK { get ; private set ; } public int MapButton { get ; private set ; } public int ShowNewItemTip { get ; private set ; } public override string getKey() using UnityEngine; using System; namespace TableConfig { public partial class DungeonConfig : ConfigBase { public int ID { get; private set; } public int DataMapID { get; private set; } public int LineID { get; private set; } public int MapID { get; private set; } public string FBName { get; private set; } public int LVLimitMin { get; private set; } public int LVLimitMax { get; private set; } public int JobRankLimit { get; private set; } public int TicketID { get; private set; } public int[] TicketCostCnt; public int TicketPrice { get; private set; } public int SweepLVLimit { get; private set; } public int SweepItemID { get; private set; } public int SweepCostCnt { get; private set; } public string StepTime { get; private set; } public int[] BossActorID; public int[] Rewards; public string[] RewardCountDescriptions; public string Description { get; private set; } public int AutomaticATK { get; private set; } public int MapButton { get; private set; } public int ShowNewItemTip { get; private set; } public override string getKey() { return ID.ToString(); } public override void Parse() { try } public override void Parse() { try { ID=IsNumeric(rawContents[0]) ? int.Parse(rawContents[0]):0; DataMapID=IsNumeric(rawContents[1]) ? int.Parse(rawContents[1]):0; LineID=IsNumeric(rawContents[2]) ? int.Parse(rawContents[2]):0; MapID=IsNumeric(rawContents[3]) ? int.Parse(rawContents[3]):0; FBName = rawContents[4].Trim(); LVLimitMin=IsNumeric(rawContents[5]) ? int.Parse(rawContents[5]):0; LVLimitMax=IsNumeric(rawContents[6]) ? int.Parse(rawContents[6]):0; JobRankLimit=IsNumeric(rawContents[7]) ? int.Parse(rawContents[7]):0; TicketID=IsNumeric(rawContents[8]) ? int.Parse(rawContents[8]):0; string[] TicketCostCntStringArray = rawContents[9].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries); TicketCostCnt = new int[TicketCostCntStringArray.Length]; for (int i=0;i<TicketCostCntStringArray.Length;i++) { int.TryParse(TicketCostCntStringArray[i],out TicketCostCnt[i]); } TicketPrice=IsNumeric(rawContents[10]) ? int.Parse(rawContents[10]):0; SweepLVLimit=IsNumeric(rawContents[11]) ? int.Parse(rawContents[11]):0; SweepItemID=IsNumeric(rawContents[12]) ? int.Parse(rawContents[12]):0; SweepCostCnt=IsNumeric(rawContents[13]) ? int.Parse(rawContents[13]):0; StepTime = rawContents[14].Trim(); string[] BossActorIDStringArray = rawContents[15].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries); BossActorID = new int[BossActorIDStringArray.Length]; for (int i=0;i<BossActorIDStringArray.Length;i++) { int.TryParse(BossActorIDStringArray[i],out BossActorID[i]); } string[] RewardsStringArray = rawContents[16].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries); Rewards = new int[RewardsStringArray.Length]; for (int i=0;i<RewardsStringArray.Length;i++) { int.TryParse(RewardsStringArray[i],out Rewards[i]); } Description = rawContents[17].Trim(); AutomaticATK=IsNumeric(rawContents[18]) ? int.Parse(rawContents[18]):0; MapButton=IsNumeric(rawContents[19]) ? int.Parse(rawContents[19]):0; ShowNewItemTip=IsNumeric(rawContents[20]) ? int.Parse(rawContents[20]):0; ID = IsNumeric(rawContents[0]) ? int.Parse(rawContents[0]) : 0; DataMapID = IsNumeric(rawContents[1]) ? int.Parse(rawContents[1]) : 0; LineID = IsNumeric(rawContents[2]) ? int.Parse(rawContents[2]) : 0; MapID = IsNumeric(rawContents[3]) ? int.Parse(rawContents[3]) : 0; FBName = rawContents[4].Trim(); LVLimitMin = IsNumeric(rawContents[5]) ? int.Parse(rawContents[5]) : 0; LVLimitMax = IsNumeric(rawContents[6]) ? int.Parse(rawContents[6]) : 0; JobRankLimit = IsNumeric(rawContents[7]) ? int.Parse(rawContents[7]) : 0; TicketID = IsNumeric(rawContents[8]) ? int.Parse(rawContents[8]) : 0; string[] TicketCostCntStringArray = rawContents[9].Trim().Split(StringUtility.splitSeparator, StringSplitOptions.RemoveEmptyEntries); TicketCostCnt = new int[TicketCostCntStringArray.Length]; for (int i = 0; i < TicketCostCntStringArray.Length; i++) { int.TryParse(TicketCostCntStringArray[i], out TicketCostCnt[i]); } TicketPrice = IsNumeric(rawContents[10]) ? int.Parse(rawContents[10]) : 0; SweepLVLimit = IsNumeric(rawContents[11]) ? int.Parse(rawContents[11]) : 0; SweepItemID = IsNumeric(rawContents[12]) ? int.Parse(rawContents[12]) : 0; SweepCostCnt = IsNumeric(rawContents[13]) ? int.Parse(rawContents[13]) : 0; StepTime = rawContents[14].Trim(); string[] BossActorIDStringArray = rawContents[15].Trim().Split(StringUtility.splitSeparator, StringSplitOptions.RemoveEmptyEntries); BossActorID = new int[BossActorIDStringArray.Length]; for (int i = 0; i < BossActorIDStringArray.Length; i++) { int.TryParse(BossActorIDStringArray[i], out BossActorID[i]); } string[] RewardsStringArray = rawContents[16].Trim().Split(StringUtility.splitSeparator, StringSplitOptions.RemoveEmptyEntries); Rewards = new int[RewardsStringArray.Length]; for (int i = 0; i < RewardsStringArray.Length; i++) { int.TryParse(RewardsStringArray[i], out Rewards[i]); } RewardCountDescriptions = rawContents[17].Trim().Split(StringUtility.splitSeparator, StringSplitOptions.RemoveEmptyEntries); Description = rawContents[18].Trim(); AutomaticATK = IsNumeric(rawContents[19]) ? int.Parse(rawContents[19]) : 0; MapButton = IsNumeric(rawContents[20]) ? int.Parse(rawContents[20]) : 0; ShowNewItemTip = IsNumeric(rawContents[21]) ? int.Parse(rawContents[21]) : 0; } catch (Exception ex) { DebugEx.Log(ex); } } } } } } } } Core/GameEngine/Model/Config/DungeonConfig.cs.meta
@@ -1,6 +1,6 @@ fileFormatVersion: 2 guid: d37aba7003df6ba498b9a3429748d8bf timeCreated: 1526648349 timeCreated: 1535597382 licenseType: Pro MonoImporter: serializedVersion: 2 System/Dungeon/DungeonBreifInfo.cs
@@ -21,6 +21,7 @@ [SerializeField] Text m_Description; [SerializeField] Button m_AddCntBtn; [SerializeField] ItemBehaviour[] m_Rewards; [SerializeField] Text[] m_RewardCounts; Dungeon dungeon; DungeonModel model { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } } @@ -106,7 +107,7 @@ if (dungeon.mapId == 31160) { var dungeonLevelMin = model.DungeonMap(dungeon.mapId, 0); var dungeonMinConfig= Config.Instance.Get<DungeonConfig>(dungeonLevelMin); var dungeonMinConfig = Config.Instance.Get<DungeonConfig>(dungeonLevelMin); if (dungeonMinConfig != null) { levelLimitMin = dungeonMinConfig.LVLimitMin; @@ -124,7 +125,7 @@ if (i < dungeonConfig.Rewards.Length) { behaviour.gameObject.SetActive(true); behaviour.showCount = true; behaviour.showCount = false; behaviour.SetItem(dungeonConfig.Rewards[i], 0); } else @@ -133,6 +134,23 @@ } } if (m_RewardCounts != null) { for (int i = 0; i < m_RewardCounts.Length; i++) { var behaviour = m_RewardCounts[i]; if (i < dungeonConfig.RewardCountDescriptions.Length) { behaviour.gameObject.SetActive(true); behaviour.text = dungeonConfig.RewardCountDescriptions[i]; } else { behaviour.gameObject.SetActive(false); } } } CheckAchievementGuide(); } System/Dungeon/DungeonData.cs
@@ -104,6 +104,8 @@ public int topScore; public int isFullExp; public int leaderID; public FairyFeastRank[] familyPartyRank; public FairyFeastTop familyPartyTop; public long totalExp { @@ -142,6 +144,19 @@ } } public struct FairyFeastRank { public int rank; public string name; public int cnt; } public struct FairyFeastTop { public string name; public int cnt; } public struct ServerItem { public int ItemID; System/Dungeon/DungeonFairyFeastHintWin.cs
New file @@ -0,0 +1,136 @@ //-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Wednesday, August 29, 2018 //-------------------------------------------------------- using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; namespace Snxxz.UI { public class DungeonFairyFeastHintWin : Window { [SerializeField] Button m_FairyFeast; [SerializeField] Text m_FairyFeastBtnTxt; [SerializeField] Button m_QuestionRank; [SerializeField] Text m_QuestionRankBtnTxt; [SerializeField] DungeonTargetBehaviour m_TargetBehaviour; [SerializeField] RectTransform m_ContainerRank; [SerializeField] FairyFeastRankBehaviour[] m_RankBehaviours; [SerializeField] FairyFeastRankBehaviour m_TopRank; [SerializeField] DungeonMultipleTaskWin.SelectEffect m_SelectEffect; DungeonModel model { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } } int currentSelect = 0; #region Built-in protected override void BindController() { m_FairyFeast.onClick.AddListener(() => { Select(0); }); m_QuestionRank.onClick.AddListener(() => { Select(1); }); } protected override void AddListeners() { } protected override void OnPreOpen() { Select(0); model.updateMissionEvent += UpdateMissionEvent; } protected override void OnAfterOpen() { } protected override void OnPreClose() { model.updateMissionEvent -= UpdateMissionEvent; } protected override void OnAfterClose() { } #endregion private void Select(int _index) { var _color = m_FairyFeast.targetGraphic.color; _color.a = _index == 1 ? m_SelectEffect.unselectAlpha : m_SelectEffect.selectAlpha; m_FairyFeast.targetGraphic.color = _color; m_FairyFeastBtnTxt.color = _index == 1 ? m_SelectEffect.unSelectTextColor : m_SelectEffect.selectTextColor; _color = m_QuestionRank.targetGraphic.color; _color.a = _index == 0 ? m_SelectEffect.unselectAlpha : m_SelectEffect.selectAlpha; m_QuestionRank.targetGraphic.color = _color; m_QuestionRankBtnTxt.color = _index == 0 ? m_SelectEffect.unSelectTextColor : m_SelectEffect.selectTextColor; m_TargetBehaviour.gameObject.SetActive(_index == 0); m_ContainerRank.gameObject.SetActive(_index == 1); currentSelect = _index; if (_index == 0) { m_TargetBehaviour.Init(31230); } else { DisplayRank(); } } private void UpdateMissionEvent() { if (currentSelect == 1) { DisplayRank(); } } void DisplayRank() { var index = 0; if (model.mission.familyPartyRank != null && model.mission.familyPartyRank.Length > 0) { List<FairyFeastRank> list = new List<FairyFeastRank>(model.mission.familyPartyRank); list.Sort(Compare); for (int i = 0; i < m_RankBehaviours.Length; i++) { if (i < list.Count) { var data = list[i]; m_RankBehaviours[i].Display(UIHelper.ServerStringTrim(data.name), data.cnt); index++; } } } for (int i = index; i < m_RankBehaviours.Length; i++) { m_RankBehaviours[i].Display(Language.Get("CeremoneyOutOfPrint"), 0); } var topName = model.mission.familyPartyTop.name; m_TopRank.Display(string.IsNullOrEmpty(topName) ? Language.Get("CeremoneyOutOfPrint") : topName, string.IsNullOrEmpty(topName) ? 0 : model.mission.familyPartyTop.cnt); } int Compare(FairyFeastRank x, FairyFeastRank y) { return x.rank.CompareTo(y.rank); } } } System/Dungeon/DungeonFairyFeastHintWin.cs.meta
New file @@ -0,0 +1,12 @@ fileFormatVersion: 2 guid: d28c93c41cd0c014e8ef4ddbc20a38c0 timeCreated: 1535531269 licenseType: Pro MonoImporter: serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: System/Dungeon/DungeonModel.cs
@@ -849,9 +849,9 @@ WindowCenter.Instance.Open<DungeonMissionHintWin>(); } if (!WindowCenter.Instance.CheckOpen<DungeonMissionDetailsWin>()) if (!WindowCenter.Instance.CheckOpen<DungeonFairyFeastHintWin>()) { WindowCenter.Instance.Open<DungeonMissionDetailsWin>(); WindowCenter.Instance.Open<DungeonFairyFeastHintWin>(); } } break; System/FairyAu/FairyFeastRankBehaviour.cs
New file @@ -0,0 +1,20 @@ using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; namespace Snxxz.UI { public class FairyFeastRankBehaviour : MonoBehaviour { [SerializeField] Text m_RankName; [SerializeField] Text m_QuestCount; public void Display(string _name, int count) { m_RankName.text = _name; m_QuestCount.text = count > 0 ? Language.Get("FairyQuestCount", count) : string.Empty; } } } System/FairyAu/FairyFeastRankBehaviour.cs.meta
New file @@ -0,0 +1,12 @@ fileFormatVersion: 2 guid: 1f0124458a333b247ba44882c487f1d0 timeCreated: 1535532258 licenseType: Pro MonoImporter: serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: System/Message/RichMoveEvent.cs
@@ -45,6 +45,12 @@ case RichTextEventEnum.MOVENPC: { int id = int.Parse(href.mSplits["movenpc"]); var error = 0; if (MoveNpcLimit(id, out error)) { ProcessMoveNpcError(error); return false; } GA_Hero hero = PlayerDatas.Instance.hero; if (hero != null) { @@ -217,4 +223,27 @@ pos.y = _hero.Pos.y; _hero.MoveToPosition(pos); } private bool MoveNpcLimit(int npcId, out int error) { error = 0; var _fairyGrabBossModel = ModelCenter.Instance.GetModel<FairyGrabBossModel>(); if (_fairyGrabBossModel.bosses.Contains(npcId) && !_fairyGrabBossModel.InActivityTime) { error = 1; return true; } return false; } void ProcessMoveNpcError(int error) { switch (error) { case 1: SysNotifyMgr.Instance.ShowTip("FairyGrabBossUnOpen"); break; } } } System/WindowBase/WindowCenter.cs
@@ -14,7 +14,7 @@ List<string> closeAllIgnoreWindows = new List<string>() { "MessageWin", "NewBieWin", "NewItemGetWin", "AttributePromoteShowWin" ,"DungeonBeginCoolDownWin","DungeonFightWin","StatusTipWin" ,"ScrollTipWin","MarqueeWin","ExperienceOpenWin","TrumpetWin","BattlePrepareCoolDownWin","DungeonGradeWin","BattleHintWin", "TreasureDungeonMissionHintWin","FairyGrabBossHintWin", "TreasureDungeonMissionHintWin","FairyGrabBossHintWin","DungeonFairyFeastHintWin", }; UIRoot m_UIRoot;