| Core/GameEngine/Model/Config/TrialRewardsConfig.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Core/GameEngine/Model/Config/TrialRewardsConfig.cs.meta | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Core/GameEngine/Model/ConfigManager.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/BlastFurnace/BlastFurnaceModel.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/BlastFurnace/LingDanTips.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Dungeon/TrialDungeonEntranceWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Dungeon/TrialDungeonModel.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Dungeon/TrialRewardsBehaviour.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Dungeon/TrialRewardsBehaviour.cs.meta | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/OpenServerActivity/InSevenDayModel.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
Core/GameEngine/Model/Config/TrialRewardsConfig.cs
New file @@ -0,0 +1,52 @@ //-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Monday, August 20, 2018 //-------------------------------------------------------- using UnityEngine; using System; namespace TableConfig { public partial class TrialRewardsConfig : ConfigBase { public int id { get ; private set ; } public int lineId { get ; private set ; } public int grade { get ; private set ; } public int[] rewards; public override string getKey() { return id.ToString(); } public override void Parse() { try { id=IsNumeric(rawContents[0]) ? int.Parse(rawContents[0]):0; lineId=IsNumeric(rawContents[1]) ? int.Parse(rawContents[1]):0; grade=IsNumeric(rawContents[2]) ? int.Parse(rawContents[2]):0; string[] rewardsStringArray = rawContents[3].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]); } } catch (Exception ex) { DebugEx.Log(ex); } } } } Core/GameEngine/Model/Config/TrialRewardsConfig.cs.meta
New file @@ -0,0 +1,12 @@ fileFormatVersion: 2 guid: ee2212e198950744b9c7524b9d74d042 timeCreated: 1534748051 licenseType: Pro MonoImporter: serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: Core/GameEngine/Model/ConfigManager.cs
@@ -187,6 +187,7 @@ AddAsyncTask<AllPeoplePartyAwardConfig>(); AddAsyncTask<OrderInfoConfig>(); AddAsyncTask<TrialExchangeConfig>(); AddAsyncTask<TrialRewardsConfig>(); while (!AllCompleted()) { System/BlastFurnace/BlastFurnaceModel.cs
@@ -83,15 +83,18 @@ treasureRefineDict.Clear(); FuncOpen.Instance.OnFuncStateChangeEvent -= RefreshFuncOpenState; playerPack.RefreshItemCountAct -= RefreshMat; playerPack.ItemCntReduceAct -= RefreshDanReduce; playerPack.RefreshItemSumUseCntAct -= RefreshItemUsce; WindowCenter.Instance.windowAfterCloseEvent -= StoveUpgradAfterClose; } public void OnAfterPlayerDataInitialize() { playerPack.RefreshItemCountAct += RefreshMat; FuncOpen.Instance.OnFuncStateChangeEvent += RefreshFuncOpenState; playerPack.RefreshItemSumUseCntAct += RefreshItemUsce; WindowCenter.Instance.windowAfterCloseEvent += StoveUpgradAfterClose; playerPack.ItemCntReduceAct += RefreshDanReduce; } private void RefreshFuncOpenState(int funcId) @@ -141,13 +144,14 @@ /// 得到服务端的炼丹炉数据 /// </summary> private int _stovelv = 1; private int preStoveLv = 1; public int StoveLV { get { return _stovelv; } } // 炼丹炉等级 private int _stoveExp = 0; public int StoveExp { get { return _stoveExp; } } // 炼丹炉经验 public int addExp = 0; public event Action RefreshStoveModelEvent; public int makerItemID { get; private set; } public bool StoveIsUpGrade { get; private set; } public void RefreshBlastFurnaceModel(HA3BF_tagMCPlayerStoveMsg data) { DebugEx.Log("RefreshBlastFurnaceModel"); @@ -163,6 +167,17 @@ if(!isFirstGet) { isMakeDan = true; if(preStoveLv < data.StoveLV) { preStoveLv = data.StoveLV; StoveIsUpGrade = true; } else { preStoveLv = data.StoveLV; StoveIsUpGrade = false; } PlayRecycleGuid(); } else { @@ -175,23 +190,6 @@ if(makerItemID == 0 && addExp > 0) { SysNotifyMgr.Instance.ShowTip("RecyclingElixir", addExp); } } /// <summary> /// 判断炼丹炉是否升级 /// </summary> private int preStoveLv = 1; public bool IsUpgrade(int stoveLv) { if (preStoveLv >= stoveLv) { return false; } else { preStoveLv = stoveLv; return true; } } @@ -716,6 +714,8 @@ { CheckMakerDandrugCondition(); CheckRecycleStoreRed(); StoveIsUpGrade = false; PlayRecycleGuid(); } } @@ -868,6 +868,32 @@ } return false; } private void StoveUpgradAfterClose(Window win) { if (win.name != "StoveUpgradWin") return; StoveIsUpGrade = false; PlayRecycleGuid(); } private void RefreshDanReduce(PackType type, int index, int id) { if (type != PackType.rptItem || !playerPack.CheckIsDrugById(id)) return; StoveIsUpGrade = false; PlayRecycleGuid(); } public void PlayRecycleGuid() { if (IsRecycleDanDrug() && !NewBieCenter.Instance.completeGuidesBuf.Contains(93) && !StoveIsUpGrade) { NewBieCenter.Instance.StartNewBieGuide(93); } } #endregion #region 回收丹药逻辑处理 System/BlastFurnace/LingDanTips.cs
@@ -209,7 +209,7 @@ _expValueText.text = Language.Get("L1055"); } RefreshVirtualFill(_addExp); if (FurnaceModel.IsUpgrade(FurnaceModel.StoveLV)) if (FurnaceModel.StoveIsUpGrade) { ActivateShow.StoveUpgrade(FurnaceModel.StoveLV); CreateCell(); System/Dungeon/TrialDungeonEntranceWin.cs
@@ -40,8 +40,8 @@ [SerializeField] Image m_BossRealm; [SerializeField] Text m_BossName; [SerializeField] ItemBehaviour[] m_RewardBehaviours; [SerializeField] TrialRewardsBehaviour[] m_RewardBehaviours; [SerializeField] ScrollRect m_RewardScroller; DungeonModel m_Model; DungeonModel model { @@ -58,6 +58,8 @@ } DailyQuestModel dailyQuestModel { get { return ModelCenter.Instance.GetModel<DailyQuestModel>(); } } TrialDungeonModel trialDungeonModel { get { return ModelCenter.Instance.GetModel<TrialDungeonModel>(); } } #region Built-in protected override void BindController() @@ -184,16 +186,17 @@ private void DrawRewards() { m_RewardScroller.verticalNormalizedPosition = 1; var dongeonId = model.DungeonMap(model.selectedTrialDungeon); var config = ConfigManager.Instance.GetTemplate<DungeonConfig>(dongeonId); var rewards = config.Rewards; for (int i = 0; i < m_RewardBehaviours.Length; i++) { var behaviour = m_RewardBehaviours[i]; if (i < rewards.Length) int[] rewards = null; if (trialDungeonModel.TryGetTrialRewards(config.LineID, m_RewardBehaviours[i].grade, out rewards)) { behaviour.gameObject.SetActive(true); behaviour.SetItem(rewards[i], 0); behaviour.Display(rewards); } else { System/Dungeon/TrialDungeonModel.cs
@@ -10,6 +10,7 @@ { Dictionary<int, List<TrialExchangeConfig>> trialTokenExchangeDict = new Dictionary<int, List<TrialExchangeConfig>>(); Dictionary<int, int> lineToTokenClassDict; Dictionary<int, Dictionary<int, int[]>> trialRewardDict = new Dictionary<int, Dictionary<int, int[]>>(); public Dictionary<int, List<int>> trialClassTokens = new Dictionary<int, List<int>>(); public List<int> trialTokens = new List<int>(); PlayerPackModel packModel { get { return ModelCenter.Instance.GetModel<PlayerPackModel>(); } } @@ -78,6 +79,18 @@ } var funcConfig = ConfigManager.Instance.GetTemplate<FuncConfigConfig>("LineToItemStage"); lineToTokenClassDict = ConfigParse.GetDic<int, int>(funcConfig.Numerical1); var trialRewards = ConfigManager.Instance.GetAllValues<TrialRewardsConfig>(); for (int i = 0; i < trialRewards.Count; i++) { Dictionary<int, int[]> dict = null; if (!trialRewardDict.TryGetValue(trialRewards[i].lineId, out dict)) { dict = new Dictionary<int, int[]>(); trialRewardDict.Add(trialRewards[i].lineId, dict); } dict.Add(trialRewards[i].grade, trialRewards[i].rewards); } } public override void UnInit() @@ -140,6 +153,20 @@ return trialTokenExchangeDict.TryGetValue(lv, out list); } public bool TryGetTrialRewards(int lineId, int grade, out int[] rewards) { rewards = null; if (trialRewardDict.ContainsKey(lineId)) { if (trialRewardDict[lineId].ContainsKey(grade)) { rewards = trialRewardDict[lineId][grade]; return rewards != null && rewards.Length > 0; } } return false; } public List<int> GetTotalClass() { return trialTokenExchangeDict.Keys.ToList(); System/Dungeon/TrialRewardsBehaviour.cs
New file @@ -0,0 +1,31 @@ using System.Collections; using System.Collections.Generic; using UnityEngine; namespace Snxxz.UI { public class TrialRewardsBehaviour : MonoBehaviour { [SerializeField] int m_Grade; [SerializeField] ItemBehaviour[] m_ItemBehaviours; public int grade { get { return m_Grade; } } public void Display(int[] rewards) { for (int i = 0; i < m_ItemBehaviours.Length; i++) { var behaviour = m_ItemBehaviours[i]; if (i < rewards.Length) { behaviour.gameObject.SetActive(true); behaviour.SetItem(rewards[i], 0); } else { behaviour.gameObject.SetActive(false); } } } } } System/Dungeon/TrialRewardsBehaviour.cs.meta
New file @@ -0,0 +1,12 @@ fileFormatVersion: 2 guid: f436f3dabd50bc5429d2de289d60fdd5 timeCreated: 1534749125 licenseType: Pro MonoImporter: serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: System/OpenServerActivity/InSevenDayModel.cs
@@ -182,7 +182,7 @@ } if (Bool) { redPointStre1.state = RedPointState.Simple; redPointStre1.state = RedPointState.GetReward; } } }