System/DailyQuest/DailyQuestWin.cs
@@ -32,6 +32,7 @@ DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } } PlayerTaskDatas taskModel { get { return ModelCenter.Instance.GetModel<PlayerTaskDatas>(); } } TreasureModel treasureModel { get { return ModelCenter.Instance.GetModel<TreasureModel>(); } } MapModel mapModel { get { return ModelCenter.Instance.GetModel<MapModel>(); } } public int guidingDailyQuestId = 0; @@ -295,6 +296,13 @@ WindowCenter.Instance.CloseImmediately<DailyQuestWin>(); WindowCenter.Instance.Open<PetWin>(false, 2); break; case DailyQuestType.KillMonster: var point = mapModel.GetRecommendHangPoint(); var mapEventConfig = Config.Instance.Get<MapEventPointConfig>(point); mapModel.wannaLookLocalMap = mapEventConfig.MapID; WindowCenter.Instance.CloseImmediately<DailyQuestWin>(); WindowCenter.Instance.Open<LocalMapWin>(); break; default: break; } System/DailyQuest/DayRemind.cs
@@ -45,6 +45,7 @@ public const string OSGIFT_REDPOINT = "OSGitf_Redpoint"; public const string TASK_SKILL_HOLE = "TaskSkillHole"; public const string RUNE_SPECIAL_HOLE = "RuneSpecialHole"; public const string LEAGUE_NOTICE_REDPOINT = "LeagueNoticeRedpoint"; public Dictionary<string, int[]> dayRemindDic = new Dictionary<string, int[]>(); public bool GetDayRemind(string _remindKey) @@ -98,6 +99,7 @@ SetDayRemind(OSGIFT_REDPOINT); SetDayRemind(TASK_SKILL_HOLE); SetDayRemind(RUNE_SPECIAL_HOLE); SetDayRemind(LEAGUE_NOTICE_REDPOINT); } private void SetDayRemind(string _key) System/Dungeon/DungeonModel.cs
@@ -496,15 +496,6 @@ private string GroupChallengeOnlyOneTip(int _mapId) { switch (_mapId) { case 60010: if (PlayerDatas.Instance.baseData.LV < GeneralConfig.Instance.trialDungeonGroupChallengeTipLv) { return Language.Get("SingleIntoFB"); } break; } return Language.Get("FBEnter_OnlyYou"); } System/FairyAu/FairyLeagueModel.cs
@@ -9,7 +9,7 @@ namespace Snxxz.UI { public class FairyLeagueModel : Model, IAfterPlayerDataInitialize, IBeforePlayerDataInitialize, IPlayerLoginOk public class FairyLeagueModel : Model, IAfterPlayerDataInitialize, IBeforePlayerDataInitialize, IPlayerLoginOk,IOpenServerActivity { public event Action OnRefreshFairyLeagueEvent; @@ -123,9 +123,11 @@ DTCA003_tagUniversalGameRecInfo.onGetUniversalGameInfo += OnGetUniversalGameInfo; PlayerDatas.Instance.PlayerDataRefreshInfoEvent += PlayerDataRefreshInfoEvent; StageManager.Instance.onStageLoadFinish += OnStageLoadFinish; FuncOpen.Instance.OnFuncStateChangeEvent += OnFuncStateChangeEvent; TimeMgr.Instance.OnMinuteEvent += MinuteEvent; TimeMgr.Instance.OnDayEvent += DayEvent; fairyLeagueHelp = new FairyLeagueHelp(); OpenServerActivityCenter.Instance.Register((int)OpenServerActivityCenter.OSActivityType.FairyLeagueNotice, this); } public override void UnInit() @@ -154,6 +156,7 @@ cacheLeagueStage = fairyLeagueStage; CheckFairyLeagueData(); UpdateRedpoint(); UpdateNoticeRedpoint(); serverInited = true; } @@ -244,6 +247,7 @@ readonly List<int> fairyLeagueStateValues = new List<int>() { 11, 12, 13, 21, 22, 23 }; FairyLeagueWeekTime fairyLeagueWeekTime = new FairyLeagueWeekTime(); Dictionary<int, Dictionary<int, FairyLeagueWeekTime>> specialLeagueTimes = new Dictionary<int, Dictionary<int, FairyLeagueWeekTime>>(); public Dictionary<int,int> leagueNoticeWeapons { get; private set; } private void ParseConfig() { FuncConfigConfig cfg = Config.Instance.Get<FuncConfigConfig>("FamilyMatchGuide"); @@ -351,12 +355,15 @@ integralAddition = int.Parse(cfg.Numerical5); cfg = Config.Instance.Get<FuncConfigConfig>("FamilyMatchResourcePoint1"); crystalRateDict = ConfigParse.GetDic<int, float>(cfg.Numerical1); cfg = Config.Instance.Get<FuncConfigConfig>("FamilyForcast"); leagueNoticeWeapons = ConfigParse.GetDic<int, int>(cfg.Numerical1); } int GetIndexOfWeek(int _openWeekDay, int _openDays, out int dayOfWeek) { var index = (_openWeekDay + _openDays - 1) / 7; var index = (_openWeekDay + _openDays - 2) / 7; dayOfWeek = (_openWeekDay + _openDays - 1) % 7; dayOfWeek = dayOfWeek == 0 ? 7 : dayOfWeek; return index; } @@ -905,6 +912,7 @@ #region 红点 private Redpoint m_LeagueRedpoint = new Redpoint(107, 10704); public Redpoint m_JoinFairyLeagueRedpoint { get; private set; } public void UpdateRedpoint() { m_JoinFairyLeagueRedpoint.state = RedPointState.None; @@ -918,6 +926,115 @@ return; } m_JoinFairyLeagueRedpoint.state = RedPointState.Simple; } #endregion #region 仙盟联赛预告 private void OnFuncStateChangeEvent(int func) { if (func == 142) { if (onStateUpate != null) { onStateUpate((int)OpenServerActivityCenter.OSActivityType.FairyLeagueNotice); } UpdateNoticeRedpoint(); } } public event Action<int> onStateUpate; public bool IsOpen { get { return FuncOpen.Instance.IsFuncOpen(142) && !IsAfterFirstLeague(); } } public bool IsAdvance { get { return false; } } public bool priorityOpen { get { return false; } } public int GetBeforeFirstLeagueTime() { var seconds = 0; if (TimeUtility.OpenWeekCnt <= 1) { if (IsAfterFirstLeague()) { return 0; } var weekTime = currentWeekTime == null ? nextWeekTime : currentWeekTime; var ring = weekTime.rings[0]; var session = ring.sessions[0]; var fightStage = session.stages.Find((x) => { return x.stage == FairyLeagueStage.Fight; }); var time = TimeUtility.openServerTime.AddTicks((weekTime.rings[0].openServerDay - 1) * TimeSpan.TicksPerDay); time = new DateTime(time.Year, time.Month, time.Day, fightStage.startHour, fightStage.startMinute, 0); seconds = (int)(time - TimeUtility.ServerNow).TotalSeconds; seconds = Mathf.Max(seconds, 0); } return seconds; } public bool IsAfterFirstLeague() { if (TimeUtility.OpenWeekCnt <= 1) { var openServerTime = TimeUtility.openServerTime; var openServerWeekDay = openServerTime.DayOfWeek == DayOfWeek.Sunday ? 7 : (int)openServerTime.DayOfWeek; if (specialLeagueTimes.ContainsKey(openServerWeekDay)) { var dict = specialLeagueTimes[openServerWeekDay]; var weekCount = TimeUtility.OpenWeekCnt; if (dict.ContainsKey(0) && weekCount > 0) { return true; } if (currentWeekTime == null) { return false; } var weekTime = currentWeekTime == null ? nextWeekTime : currentWeekTime; if (weekTime.IsNextWeek) { return true; } if (weekTime.rings.Count > 1 && weekTime.currentRing == 1) { return true; } return weekTime.currentSession == 1 && weekTime.fairyLeagueStage == FairyLeagueStage.Over; } } return true; } Redpoint fairyLeagueNoticeRedpoint = new Redpoint(MainRedDot.REDPOINT_OPENSERVER, 20912); void UpdateNoticeRedpoint() { fairyLeagueNoticeRedpoint.state = RedPointState.None; if (!DayRemind.Instance.GetDayRemind(DayRemind.LEAGUE_NOTICE_REDPOINT) && IsOpen) { fairyLeagueNoticeRedpoint.state = RedPointState.Simple; } } public void SetViewLeagueNotice() { if (fairyLeagueNoticeRedpoint.state == RedPointState.Simple) { DayRemind.Instance.SetDayRemind(DayRemind.LEAGUE_NOTICE_REDPOINT, true); UpdateNoticeRedpoint(); } } #endregion } @@ -1093,6 +1210,8 @@ public int dayOfWeek { get; set; } public int openServerDay { get; private set; } public void Sort() { sessions.Sort((Session x, Session y) => @@ -1122,6 +1241,8 @@ public void ParseConfig(DungeonSpecialStateTimeConfig config, int dayOfWeek) { openServerDay = config.OpenServerDay; var session = sessions.Find((x) => { return x.session == (config.StateValue < 20 ? 0 : 1); System/FairyAu/FairyLeagueNoticeWin.cs
New file @@ -0,0 +1,111 @@ //-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Friday, September 21, 2018 //-------------------------------------------------------- using System; using System.Collections; using System.Collections.Generic; using TableConfig; using UnityEngine; using UnityEngine.UI; namespace Snxxz.UI { public class FairyLeagueNoticeWin : Window { [SerializeField] RectTransform m_ContainerNoFairy; [SerializeField] RectTransform m_ContainerHasFairy; [SerializeField] Button m_JoinFairy; [SerializeField] Button m_Goto; [SerializeField] RawImage[] m_RawWeapons; [SerializeField, Header("武器角度,职业1,2,3")] Vector3[] m_WeaponAngles; FairyLeagueModel model { get { return ModelCenter.Instance.GetModel<FairyLeagueModel>(); } } #region Built-in protected override void BindController() { } protected override void AddListeners() { m_JoinFairy.onClick.AddListener(JoinFairy); m_Goto.onClick.AddListener(Goto); } protected override void OnPreOpen() { PlayerDatas.Instance.fairyData.OnRefreshFairyInfo += OnRefreshFairyInfo; PlayerDatas.Instance.fairyData.OnRefreshFairyMine += OnRefreshFairyInfo; model.SetViewLeagueNotice(); Display(); DisplayWeapons(); } protected override void OnAfterOpen() { } protected override void OnPreClose() { PlayerDatas.Instance.fairyData.OnRefreshFairyInfo -= OnRefreshFairyInfo; PlayerDatas.Instance.fairyData.OnRefreshFairyMine -= OnRefreshFairyInfo; UI3DModelExhibition.Instance.StopShow(); } protected override void OnAfterClose() { } #endregion void Display() { m_ContainerNoFairy.gameObject.SetActive(!PlayerDatas.Instance.fairyData.HasFairy); m_ContainerHasFairy.gameObject.SetActive(PlayerDatas.Instance.fairyData.HasFairy); } private void Goto() { WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.UnionFunc4); } private void JoinFairy() { WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.UnionFunc3); } private void OnRefreshFairyInfo() { Display(); } void DisplayWeapons() { var job = PlayerDatas.Instance.baseData.Job; var _rawImage = m_RawWeapons[0]; var _angle = m_WeaponAngles[0]; var _weaponId = model.leagueNoticeWeapons.ContainsKey(job) ? model.leagueNoticeWeapons[job] : 0; if (_weaponId == 0) { return; } for (int i = 0; i < m_RawWeapons.Length; i++) { m_RawWeapons[i].gameObject.SetActive(job == (i + 1)); if ((i + 1) == job) { _rawImage = m_RawWeapons[i]; _angle = m_WeaponAngles[i]; } } var config = Config.Instance.Get<ItemConfig>(_weaponId); UI3DModelExhibition.Instance.ShowEquipment(config.ChangeOrd, _angle, _rawImage); } } } System/FairyAu/FairyLeagueNoticeWin.cs.meta
New file @@ -0,0 +1,12 @@ fileFormatVersion: 2 guid: c1c8b96d40cac8741ab435102d9d4549 timeCreated: 1537498840 licenseType: Pro MonoImporter: serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: System/Message/WordAnalysis.cs
@@ -10,8 +10,8 @@ public static Regex Color_Start_Regex = new Regex(@"<color=#[0-9a-zA-Z]+>", RegexOptions.Singleline); public static Regex Color_End_Regex = new Regex(@"</color>", RegexOptions.Singleline); public static Regex Space_Regex = new Regex(@"<Space=([0-9]*)>", RegexOptions.Singleline); public static Regex Size_Start_Regex = new Regex(@"<Size=([0-9]+)>", RegexOptions.Singleline); public static Regex Size_End_Regex = new Regex(@"</Size>", RegexOptions.Singleline); public static Regex Size_Start_Regex = new Regex(@"<[Ss]ize=([0-9]+)>", RegexOptions.Singleline); public static Regex Size_End_Regex = new Regex(@"</[Ss]ize>", RegexOptions.Singleline); private static RichTextEventEnum eventType = RichTextEventEnum.TABLE; System/OpenServerActivity/ImpactRankModel.cs
@@ -781,7 +781,9 @@ [Header("仙玉投资")] FairyInvest, [Header("VIP投资")] VipInvest VipInvest, [Header("仙盟联赛预告")] FairyLeagueNotice, } } System/OpenServerActivity/OpenServerActivityWin.cs
@@ -29,6 +29,7 @@ return m_OSRedEnvelopeModel ?? (m_OSRedEnvelopeModel = ModelCenter.Instance.GetModel<OSRedEnvelopeModel>()); } } FairyLeagueModel fairyLeagueModel { get { return ModelCenter.Instance.GetModel<FairyLeagueModel>(); } } List<int> openActivitys = new List<int>(); List<int> priorityActivitys = new List<int>(); @@ -64,6 +65,7 @@ impactRankModel.presentSelectType = impactDefaultType; impactRankModel.gotoImpactRankType = 0; envelopeModel.selectType = 1; GlobalTimeEvent.Instance.secondEvent += SecondEvent; CheckAlreadyOpen(); UpdateFunctionBtns(); } @@ -121,6 +123,7 @@ TimeUtility.OnServerOpenDayRefresh -= OnStepServerDayEvent; OperationTimeHepler.Instance.operationTimeUpdateEvent -= OperationTimeUpdateEvent; OpenServerActivityCenter.Instance.openServerActivityStateChange -= OpenServerActivityStateChange; GlobalTimeEvent.Instance.secondEvent -= SecondEvent; CloseOtherWin(); impactRankModel.gotoImpactRankType = 0; } @@ -165,6 +168,24 @@ { openActivitys.Sort(Compare); return openActivitys[0]; } } private void SecondEvent() { var cell = m_ActivityCtrl.GetActiveCellView((int)OpenServerActivityCenter.OSActivityType.FairyLeagueNotice); if (cell != null) { var activityCell = cell as OpenServerActivityCell; var seconds = fairyLeagueModel.GetBeforeFirstLeagueTime(); if (seconds > 0) { activityCell.title.text = UIHelper.ReplaceNewLine(Language.Get("FairyLeagueForcast", TimeUtility.SecondsToHMS(seconds))); } else { activityCell.title.text = Language.Get("FamilyMatchName"); } } } @@ -224,6 +245,17 @@ if (OperationTimeHepler.Instance.TryGetOperationTime(Operation.MultipRealmPoint, out operationBase)) { _cell.title.text = Language.Get("MultipleRealmPoint", Language.Get(StringUtility.Contact("Num_CHS_", (operationBase as OperationMultipleRealmPoint).multiplePractice))); } break; case 12: var seconds = fairyLeagueModel.GetBeforeFirstLeagueTime(); if (seconds > 0) { _cell.title.text = UIHelper.ReplaceNewLine(Language.Get("FairyLeagueForcast", TimeUtility.SecondsToHMS(seconds))); } else { _cell.title.text = Language.Get("FamilyMatchName"); } break; default: @@ -471,7 +503,7 @@ } else { WindowCenter.Instance.Open<FairyJadeInvestmentWin>(); WindowCenter.Instance.Open<FairyJadeInvestmentWin>(true); } break; case 11: @@ -481,10 +513,19 @@ } else { WindowCenter.Instance.Open<VipInvestWin>(); WindowCenter.Instance.Open<VipInvestWin>(true); } break; case 12: if (windowState == WindowState.Opened) { WindowCenter.Instance.OpenWithoutAnimation<FairyLeagueNoticeWin>(); } else { WindowCenter.Instance.Open<FairyLeagueNoticeWin>(true); } break; } } @@ -518,6 +559,7 @@ WindowCenter.Instance.CloseImmediately<LimitedTimePackageWin>(); WindowCenter.Instance.CloseImmediately<FairyJadeInvestmentWin>(); WindowCenter.Instance.CloseImmediately<VipInvestWin>(); WindowCenter.Instance.CloseImmediately<FairyLeagueNoticeWin>(); } private int Compare(int order_x, int order_y) System/Strengthening/GodBeastAttributes.cs
@@ -39,9 +39,9 @@ [SerializeField] GameObject m_Text_two;//下级属性 [SerializeField] Button m_StrengthenDoubleBtn;//双倍强化按钮 [SerializeField] Text m_NeedFairy;//所需的仙玉 [SerializeField] GameObject m_BottomBox; DogzModel Dogz_model; DogzModel dogz_model { get { return Dogz_model ?? (Dogz_model = ModelCenter.Instance.GetModel<DogzModel>()); } } private Dictionary<int, int> QualityLimit = new Dictionary<int, int>(); DogzModel dogz_model { get { return Dogz_model ?? (Dogz_model = ModelCenter.Instance.GetModel<DogzModel>()); } } PlayerPackModel _playerPack; PlayerPackModel playerPack { get { return _playerPack ?? (_playerPack = ModelCenter.Instance.GetModel<PlayerPackModel>()); } } ItemTipsModel _itemTipsModel; @@ -74,17 +74,14 @@ } private void OnDisable() { GodBeast_Number = 0; GodBeast_Part = 0; GodBeastReinforcementWin.ChooseToModify -= ChooseToModify; godBeastModel.AbsorbEvent -= AbsorbEvent; } public void Init() { if (QualityLimit.Count <= 0) { string DogzAssist = Config.Instance.Get<FuncConfigConfig>("DogzAssist").Numerical4;//获取不同品质的神兽强化上限 QualityLimit = ConfigParse.GetDic<int, int>(DogzAssist); } } public void Unit() @@ -160,8 +157,7 @@ } m_UIAlphaTween.gameObject.SetActive(true); m_FrameNull.SetActive(true); m_FullLevel.SetActive(false); m_StrengthenBtn.interactable = true; m_FullLevel.SetActive(false); GetDogZLevelAndExp(); AttributeAssignment(); } @@ -182,7 +178,7 @@ m_FrameNull.SetActive(false); m_FullLevel.SetActive(false); m_UIAlphaTween.gameObject.SetActive(false); m_StrengthenBtn.interactable = false; m_BottomBox.SetActive(false); } } @@ -193,13 +189,15 @@ return; } GainProficiency();//获取熟练度 m_BottomBox.SetActive(true); var IudetDogzEquipPlus = m_DogZItemModel.GetUseDataModel((int)ItemUseDataKey.Def_IudetDogzEquipPlus); if (IudetDogzEquipPlus != null) { int lv = QualityLimit[m_DogZItemModel.chinItemModel.ItemColor]; int lv = godBeastModel.QualityLimit[m_DogZItemModel.chinItemModel.ItemColor]; var DogzEquipConfig = DogzEquipPlusConfig.GetEquipplaceAndLevel(GodBeastPart, lv); if (DogZLv >= lv) { m_BottomBox.SetActive(false); m_Text_two.SetActive(false); m_FrameNull.SetActive(false); m_TextAttributes1.gameObject.SetActive(false); @@ -220,10 +218,13 @@ var Dogz_EquipConfig = DogzEquipPlusConfig.GetEquipplaceAndLevel(GodBeastPart, DogZLv - 1); NeedExp -= Dogz_EquipConfig.upExpTotal; } m_ExpNum.text = DogZExp + "/" + NeedExp; m_ExpNum.text = NeedExp + "/" + NeedExp; } else { m_StrengthenDoubleBtn.interactable = true; m_StrengthenBtn.interactable = true; m_Text_two.SetActive(true); if (m_DoubleToggle.isOn) { @@ -373,7 +374,7 @@ { return DogzLv; } int lv = QualityLimit[m_DogZItemModel.chinItemModel.ItemColor]; int lv = godBeastModel.QualityLimit[m_DogZItemModel.chinItemModel.ItemColor]; var IudetDogzEquipPlus = m_DogZItemModel.GetUseDataModel((int)ItemUseDataKey.Def_IudetDogzEquipPlus); if (IudetDogzEquipPlus != null) { System/Strengthening/GodBeastModel.cs
@@ -16,15 +16,20 @@ public Dictionary<int, int> Absorption_Dic = new Dictionary<int, int>();//获取选择的物品 public event Action AbsorbEvent; public int ItemInde = 0;//物品下标 public ItemModel Crystal_ItemModel; public int ItemPlace =-1;//神兽装备位置信息 public ItemModel Crystal_ItemModel;//当前所选中的水晶物品 public int ItemPlace = -1;//神兽装备位置信息 public Dictionary<int, int> QualityLimit = new Dictionary<int, int>();//对应品质所能选择的最大强化等级 DogzModel Dogz_model; DogzModel dogz_model { get { return Dogz_model ?? (Dogz_model = ModelCenter.Instance.GetModel<DogzModel>()); } } PlayerPackModel _playerPack; PlayerPackModel playerPack { get { return _playerPack ?? (_playerPack = ModelCenter.Instance.GetModel<PlayerPackModel>()); } } public override void Init() { if (QualityLimit.Count <= 0) { string DogzAssist = Config.Instance.Get<FuncConfigConfig>("DogzAssist").Numerical4;//获取不同品质的神兽强化上限 QualityLimit = ConfigParse.GetDic<int, int>(DogzAssist); } } public void OnBeforePlayerDataInitialize() @@ -118,7 +123,72 @@ return SiteEnhancementAttributeDic; } public int DogZBagIndex = 0; public bool IsFullLevel()//是都满级能够继续吸收 { bool IsBool = false; int DogZLV = 0;//获取当前神兽等级 int DogProficiency = 0;//当前神兽的熟练度 int SingleProficiency = 0;//单倍熟练度 int DoubleProficiency = 0;//双倍熟练度 ItemModel itemModel = playerPack.GetItemModelByIndex(PackType.rptDogzEquip, DogZBagIndex); if (itemModel == null) { return false; } int lv = QualityLimit[itemModel.chinItemModel.ItemColor]; var DogzEquipMaxConfig = DogzEquipPlusConfig.GetEquipplaceAndLevel(itemModel.chinItemModel.EquipPlace, lv); var IudetDogzEquipPlus = itemModel.GetUseDataModel((int)ItemUseDataKey.Def_IudetDogzEquipPlus); if (IudetDogzEquipPlus != null) { DogZLV = IudetDogzEquipPlus[0]; DogProficiency = IudetDogzEquipPlus[1]; } foreach (var key in Absorption_Dic.Keys) { ItemModel item_Model = playerPack.GetItemModelByIndex(PackType.rptDogzItem, key); if (item_Model != null) { if (item_Model.chinItemModel.Effect1 == 235) { var _IudetDogzEquipPlus = item_Model.GetUseDataModel((int)ItemUseDataKey.Def_IudetDogzEquipPlus); SingleProficiency += item_Model.chinItemModel.EffectValueA1 * Absorption_Dic[key]; if (_IudetDogzEquipPlus != null) { SingleProficiency += _IudetDogzEquipPlus[1]; DoubleProficiency += item_Model.chinItemModel.EffectValueA1; } else { DoubleProficiency += item_Model.chinItemModel.EffectValueA1 * 2 * Absorption_Dic[key]; } } } } if (true) { if (DogProficiency + DoubleProficiency >= DogzEquipMaxConfig.upExpTotal) { return true; } else { return false; } } else { if (DogProficiency + SingleProficiency >= DogzEquipMaxConfig.upExpTotal) { return true; } else { return false; } } } } System/Strengthening/GodBeastReinforcementWin.cs
@@ -61,6 +61,7 @@ if (GodBeastList[i].ItemPlace == godBeastModel.ItemPlace) { CurrentlySelected = GodBeastList[i].LocationMarker; GetDogZBagIndex(); int Index = 0; Index = GodBeastList.FindIndex((x) => { @@ -75,6 +76,7 @@ if (GodBeastList.Count > 0) { CurrentlySelected = GodBeastList[0].LocationMarker; GetDogZBagIndex(); m_ScrollerController.JumpIndex(0); } } @@ -94,6 +96,7 @@ protected override void OnPreClose() { godBeastModel.ItemPlace = -1; // godBeastModel.Absorption_Dic.Clear(); playerPack.RefreshItemCountAct -= RefreshItemCountAct; m_ScrollerController.OnRefreshCell -= OnRefreshGridCell; DTC0721_tagMakeItemAnswer.MakeItemAnswerEvent -= MakeItemAnswerEvent; @@ -219,6 +222,7 @@ if (locationMarker != CurrentlySelected) { CurrentlySelected = locationMarker; GetDogZBagIndex(); m_ScrollerController.m_Scorller.RefreshActiveCellViews();//刷新可见 if (ChooseToModify != null) { @@ -227,6 +231,20 @@ } }); } private void GetDogZBagIndex()//获取选择的神兽装备的装备下标 { for (int i = 0; i < GodBeastList.Count; i++) { if (CurrentlySelected == GodBeastList[i].LocationMarker) { godBeastModel.DogZBagIndex = GodBeastList[i].ItemPlace; // DebugEx.LogError(godBeastModel.DogZBagIndex); return; } } } } } System/Treasure/FairyTreasureCollectPanelPattern5.cs
@@ -276,32 +276,43 @@ GetCurrentAchievement(); if (treasure.state != TreasureState.Collected) { int unlocktreasureId = 0; var list = model.GetTreasureCategory(TreasureCategory.Human); for (int i = 0; i < list.Count; i++) //int unlocktreasureId = 0; //var list = model.GetTreasureCategory(TreasureCategory.Human); //for (int i = 0; i < list.Count; i++) //{ // Treasure _treasure; // if(model.TryGetTreasure(list[i], out _treasure)) // { // var index = _treasure.treasureStages.FindIndex((x) => // { // return x.unlockType == TreasureStageUnlock.Treasure && x.treasure == treasure.id; // }); // if (index != -1) // { // unlocktreasureId = list[i]; // break; // } // } //} //var unlockTreasureConfig = Config.Instance.Get<TreasureConfig>(unlocktreasureId); var config = Config.Instance.Get<TreasureConfig>(treasure.id); var requireCondition = 0; if (config != null) { Treasure _treasure; if(model.TryGetTreasure(list[i], out _treasure)) var successConfig = Config.Instance.Get<SuccessConfig>(config.Achievements.Length > 0 ? config.Achievements[0] : 0); if (successConfig != null) { var index = _treasure.treasureStages.FindIndex((x) => { return x.unlockType == TreasureStageUnlock.Treasure && x.treasure == treasure.id; }); if (index != -1) { unlocktreasureId = list[i]; break; } requireCondition = successConfig.NeedCnt; } } var unlockTreasureConfig = Config.Instance.Get<TreasureConfig>(unlocktreasureId); m_AchievementGetBtn.gameObject.SetActive(false); m_ActiveBtn.gameObject.SetActive(false); m_GotoGet.gameObject.SetActive(false); m_ContainerLocked.gameObject.SetActive(true); m_LockedDescription.text = Language.Get("BlastFurnaceGet", unlockTreasureConfig == null ? string.Empty : unlockTreasureConfig.Name); m_LockedDescription.text = Language.Get("BlastFurnaceGet", requireCondition); m_ContainerAchievement.gameObject.SetActive(false); } else if (currentAchievement == null || treasure.stage >= 1) System/WorldMap/LocalMapFindPath.cs
@@ -27,7 +27,7 @@ private List<GameObject> pathNodeBehaviours = new List<GameObject>(); //寻路点池 List<LocalMapTag> tagBehaviours = new List<LocalMapTag>(); MapModel model { get { return ModelCenter.Instance.GetModel<MapModel>(); } } MapModel model { get { return ModelCenter.Instance.GetModel<MapModel>(); } } int mapId = 0; public void Init(int _mapId) @@ -42,7 +42,17 @@ mapId = _mapId; var tagChinMap = Config.Instance.Get<MapConfig>(mapId); var mapResConfig = DTCA127_tagMCStartChangeMap.GetMapResourcesConfig(); MapResourcesConfig mapResConfig = null; if (mapId == PlayerDatas.Instance.baseData.MapID) { mapResConfig = DTCA127_tagMCStartChangeMap.GetMapResourcesConfig(); } else { mapResConfig = DTCA127_tagMCStartChangeMap.GetMapResourcesConfig(mapId, 0); } var mapWidth = mapResConfig.MapScale.x; var mapHeight = mapResConfig.MapScale.y; Utility/EnumHelper.cs
@@ -309,6 +309,7 @@ PersonalBoss = 25, ElderGodArea = 26, FairyGrabBoss = 27, KillMonster=28, } public enum ActivityPrepareType