| | |
| | | public class ElderGodAreaWin : Window
|
| | | {
|
| | | [SerializeField] CyclicScroll m_Bosses;
|
| | | [SerializeField] ElderEliteMonsterBehaviour m_EliteMonsterBehaviour;
|
| | | [SerializeField] BossIntroduceBehaviour m_BossIntroduce;
|
| | | [SerializeField] Text m_Times;
|
| | | [SerializeField] Button m_Goto;
|
| | | [SerializeField] Button m_KillRecord;
|
| | | [SerializeField] ToggleButton m_Subscribe;
|
| | |
|
| | | ElderGodAreaModel m_Model;
|
| | | ElderGodAreaModel model { get { return m_Model ?? (m_Model = ModelCenter.Instance.GetModel<ElderGodAreaModel>()); } }
|
| | |
|
| | | FindPreciousModel m_FindPreciousModel;
|
| | | FindPreciousModel findPreciousModel { get { return m_FindPreciousModel ?? (m_FindPreciousModel = ModelCenter.Instance.GetModel<FindPreciousModel>()); } }
|
| | |
|
| | | DungeonModel m_DungeonModel;
|
| | | DungeonModel dungeonModel {
|
| | | get { return m_DungeonModel ?? (m_DungeonModel = ModelCenter.Instance.GetModel<DungeonModel>()); }
|
| | | }
|
| | | ElderGodAreaModel model { get { return ModelCenter.Instance.GetModel<ElderGodAreaModel>(); } }
|
| | | FindPreciousModel findPreciousModel { get { return ModelCenter.Instance.GetModel<FindPreciousModel>(); } }
|
| | | DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }
|
| | |
|
| | | #region Built-in
|
| | | protected override void BindController()
|
| | |
| | | var bosses = new List<int>();
|
| | | bosses.AddRange(model.GetElderGodBosses());
|
| | |
|
| | | model.selectedBoss = model.GetLatestUnLockBoss();
|
| | | model.selectedBoss = model.GetRecommendNpc();
|
| | | DisplayNpcBaseInfo(true);
|
| | | m_Subscribe.isOn = findPreciousModel.IsBossSubscribed(model.selectedBoss);
|
| | | m_BossIntroduce.Display(model.selectedBoss, true);
|
| | | m_Bosses.Init(bosses);
|
| | | m_Bosses.MoveToCenter(bosses.IndexOf(model.selectedBoss));
|
| | | }
|
| | |
| | | break;
|
| | | case 2:
|
| | | WindowCenter.Instance.Close<FindPreciousFrameWin>();
|
| | | MapTransferUtility.Instance.MoveToNPC(model.selectedBoss);
|
| | | var config = Config.Instance.Get<ElderGodAreaConfig>(model.selectedBoss);
|
| | | var targetNpc = config.MonsterType == 1 ? model.GetRecommendEliteNpc() : model.selectedBoss;
|
| | | MapTransferUtility.Instance.MoveToNPC(targetNpc);
|
| | | break;
|
| | | case 3:
|
| | | SysNotifyMgr.Instance.ShowTip("DungeonNoGO");
|
| | |
| | |
|
| | | private void OnBossSelected(int _bossId)
|
| | | {
|
| | | m_BossIntroduce.Display(_bossId, false);
|
| | | DisplayNpcBaseInfo(false);
|
| | | m_Subscribe.isOn = findPreciousModel.IsBossSubscribed(_bossId);
|
| | | }
|
| | |
|
| | | private void DisplayNpcBaseInfo(bool immediately)
|
| | | {
|
| | | var npcId = model.selectedBoss;
|
| | | var config = Config.Instance.Get<ElderGodAreaConfig>(npcId);
|
| | |
|
| | | switch (config.MonsterType)
|
| | | {
|
| | | case 1:
|
| | | m_KillRecord.gameObject.SetActive(false);
|
| | | m_BossIntroduce.gameObject.SetActive(false);
|
| | | m_EliteMonsterBehaviour.gameObject.SetActive(true);
|
| | | m_EliteMonsterBehaviour.Display(npcId);
|
| | | break;
|
| | | case 2:
|
| | | m_KillRecord.gameObject.SetActive(true);
|
| | | m_BossIntroduce.gameObject.SetActive(true);
|
| | | m_EliteMonsterBehaviour.gameObject.SetActive(false);
|
| | | m_BossIntroduce.Display(npcId, immediately);
|
| | | break;
|
| | | default:
|
| | | break;
|
| | | }
|
| | | }
|
| | |
|
| | | private void CheckAchievementGuide()
|
| | | {
|
| | | if (AchievementGoto.guideAchievementId != 0)
|