| System/FindPrecious/FindPreciousBossRebornBehaviour.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/FindPrecious/FindPreciousModel.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/MainInterfacePanel/InGamePushContainer.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/StrangleGodBoss/StrangleGodBossBehaviour.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/StrangleGodBoss/StrangleGodBossModel.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/WindowBase/ModelCenter.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Utility/EnumHelper.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
System/FindPrecious/FindPreciousBossRebornBehaviour.cs
@@ -130,6 +130,9 @@ case FindPreciousType.CrossServerBoss: GotoKillCrossServerBoss(bossId); break; case FindPreciousType.StrangleGodBoss: GotoKillStrangleGodBoss(bossId); break; } ReportConfirmBossRebornNotify(); @@ -334,6 +337,24 @@ } } private void GotoKillStrangleGodBoss(int _bossId) { var mapId = PlayerDatas.Instance.baseData.MapID; var mapConfig = Config.Instance.Get<MapConfig>(mapId); if (mapConfig.MapFBType == (int)MapType.OpenCountry) { WindowCenter.Instance.Close<MainInterfaceWin>(); var strangleGodBossModel = ModelCenter.Instance.GetModel<StrangleGodBossModel>(); strangleGodBossModel.assginSelectBossId = _bossId; WindowCenter.Instance.Open<LootPreciousFrameWin>(false, 3); } else { SysNotifyMgr.Instance.ShowTip("InDungeon_CantGo"); } } private void EnterBossHome(int _floor, int _bossId) { var error = 0; System/FindPrecious/FindPreciousModel.cs
@@ -56,6 +56,7 @@ BossHomeModel bossHomeModel { get { return ModelCenter.Instance.GetModel<BossHomeModel>(); } } PersonalBossModel personalBossModel { get { return ModelCenter.Instance.GetModel<PersonalBossModel>(); } } DogzDungeonModel dogzDungeonModel { get { return ModelCenter.Instance.GetModel<DogzDungeonModel>(); } } StrangleGodBossModel strangleGodBossModel { get { return ModelCenter.Instance.GetModel<StrangleGodBossModel>(); } } public override void Init() { @@ -472,7 +473,10 @@ { return FindPreciousType.CrossServerBoss; } else if (strangleGodBossModel.IsStrangleGodBoss(_bossId)) { return FindPreciousType.StrangleGodBoss; } return FindPreciousType.None; } System/MainInterfacePanel/InGamePushContainer.cs
@@ -35,6 +35,7 @@ DemonJarModel demonJarModel { get { return ModelCenter.Instance.GetModel<DemonJarModel>(); } } DogzDungeonModel dogzDungeonModel { get { return ModelCenter.Instance.GetModel<DogzDungeonModel>(); } } CrossServerBossModel crossServerBossModel { get { return ModelCenter.Instance.GetModel<CrossServerBossModel>(); } } StrangleGodBossModel strangleGodBossModel { get { return ModelCenter.Instance.GetModel<StrangleGodBossModel>(); } } VipModel vipModel { get { return ModelCenter.Instance.GetModel<VipModel>(); } } DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } } @@ -282,6 +283,9 @@ killable = crossServerBossModel.wearyValue < GeneralDefine.bossWearyValues[2]; show = !GeneralDefine.dogzNoRebornRemindMaps.Contains(mapId); break; case FindPreciousType.StrangleGodBoss: break; } if (!killable) System/StrangleGodBoss/StrangleGodBossBehaviour.cs
@@ -3,7 +3,7 @@ using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using TableConfig; namespace Snxxz.UI { public class StrangleGodBossBehaviour : ScrollItem @@ -12,15 +12,23 @@ [SerializeField] SmoothMask m_SmoothMask; [SerializeField] Text m_BossLevel; [SerializeField] Text m_BossName; [SerializeField] Text m_BossIcon; [SerializeField] Image m_BossPortrait; [SerializeField] Transform m_ContainerSelect; [SerializeField] Transform m_ContainerUnChanllgeable; [SerializeField] Text m_ChallengeCondition; [SerializeField] Transform m_ContainerChallengeable; [SerializeField] Text m_FightPeopleCount; [SerializeField] Image m_Realm; [SerializeField] Transform m_ContainerReborn; [SerializeField] Transform m_ContainerFighting; [SerializeField] Text m_FightPeopleCount; [SerializeField] Transform m_ContainerBossDead; [SerializeField] Text m_RebornTime; [SerializeField] Transform m_ContainerAttention; [SerializeField] Button m_Select; StrangleGodBossModel model { get { return ModelCenter.Instance.GetModel<StrangleGodBossModel>(); } } public int bossNpcId { get; private set; } @@ -33,11 +41,24 @@ { base.Display(_data); bossNpcId = (int)_data; DisplayBase(); } public override void Dispose() { base.Dispose(); } public void DisplayBase() { var config = Config.Instance.Get<NPCConfig>(bossNpcId); if (config != null) { m_BossLevel.text = config.NPCLV.ToString(); m_BossName.text = config.charName; m_BossPortrait.SetSprite(config.HeadPortrait); } } private void Select() System/StrangleGodBoss/StrangleGodBossModel.cs
@@ -1,25 +1,121 @@ using System.Collections; using System.Collections.Generic; using UnityEngine; using TableConfig; using System; namespace Snxxz.UI { public class StrangleGodBossModel : Model, IBeforePlayerDataInitialize, IPlayerLoginOk { List<StrangleGodBossData> strangleGodBosses = new List<StrangleGodBossData>(); public event Action<int> selectBossRefresh; int m_SelectBossId = 0; public int selectBossId { get { return m_SelectBossId; } set { if (m_SelectBossId != value) { m_SelectBossId = value; if (selectBossRefresh != null) { selectBossRefresh(value); } } } } public int assginSelectBossId { get; set; } public override void Init() { InitFakeData(); } public void OnBeforePlayerDataInitialize() { } public void OnPlayerLoginOk() { } public override void UnInit() { } public bool IsStrangleGodBoss(int bossNpcId) { var index = strangleGodBosses.FindIndex((x) => { return x.bossNpcId == bossNpcId; }); return index >= 0; } #region 山寨数据 void InitFakeData() { AddFakeData(60203001, 100, 0); AddFakeData(60203002, 130, 0); AddFakeData(60203003, 150, 0); AddFakeData(60203004, 160, 0); AddFakeData(60203005, 180, 0); AddFakeData(60203006, 190, 0); } void AddFakeData(int bossNpcId, int level, int score) { var config = Config.Instance.Get<NPCConfig>(bossNpcId); strangleGodBosses.Add(new StrangleGodBossData() { bossNpcId = bossNpcId, challengeCondition = new StrangleGodBossCondition() { level = level, realmLevel = config.Realm, score = score, }, }); } #endregion public static int SortCompare(StrangleGodBossData lhs, StrangleGodBossData rhs) { if (lhs.challengeCondition.level != rhs.challengeCondition.level) { return lhs.challengeCondition.level.CompareTo(rhs.challengeCondition.level); } if (lhs.challengeCondition.realmLevel != rhs.challengeCondition.realmLevel) { return lhs.challengeCondition.realmLevel.CompareTo(rhs.challengeCondition.realmLevel); } if (lhs.challengeCondition.score != rhs.challengeCondition.score) { return lhs.challengeCondition.score.CompareTo(rhs.challengeCondition.score); } return 0; } } public struct StrangleGodBossData { public int bossNpcId; public StrangleGodBossCondition challengeCondition; } public struct StrangleGodBossCondition { public int level; public int realmLevel; public int score; } } System/WindowBase/ModelCenter.cs
@@ -221,6 +221,7 @@ RegisterModel<CrossServerBossModel>(); RegisterModel<OpenServiceAchievementModel>(); RegisterModel<FashionDressModel>(); RegisterModel<StrangleGodBossModel>(); inited = true; } Utility/EnumHelper.cs
@@ -1178,7 +1178,8 @@ ElderGodArea = 3, DemonJar = 4, DogzDungeon = 5, CrossServerBoss=6, CrossServerBoss = 6, StrangleGodBoss = 7, None = 99, }