| | |
| | | }
|
| | | }
|
| | |
|
| | | int demonJarSoulBuf = 0;
|
| | | public int demonJarSoulIncreaseDelta { get; set; }
|
| | |
|
| | | public event Action<int> bossSelectedEvent;
|
| | |
| | |
|
| | | FindPreciousModel findPreciousModel { get { return ModelCenter.Instance.GetModel<FindPreciousModel>(); } }
|
| | | DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }
|
| | | TreasureModel treasureModel { get { return ModelCenter.Instance.GetModel<TreasureModel>(); } }
|
| | |
|
| | | public override void Init()
|
| | | {
|
| | |
| | | continue;
|
| | | }
|
| | |
|
| | | bosses.Add(bossId);
|
| | | if (findPreciousModel.IsBossUnlockOrUnlockSoon(bossId))
|
| | | {
|
| | | bosses.Add(bossId);
|
| | | }
|
| | | }
|
| | |
|
| | | return new List<int>(bosses);
|
| | | return bosses;
|
| | | }
|
| | |
|
| | | public int GetBossIdByLine(int _line)
|
| | |
| | | }
|
| | | }
|
| | |
|
| | | public bool IsBossUnLocked(int _bossId)
|
| | | {
|
| | | var playerLevel = PlayerDatas.Instance.baseData.LV;
|
| | | return demonBosses.ContainsKey(_bossId) && playerLevel >= demonBosses[_bossId].unLockLevel;
|
| | | }
|
| | |
|
| | | public int GetLatestUnLockBoss()
|
| | | {
|
| | | if (FuncOpen.Instance.IsFuncOpen(76))
|
| | |
| | | for (int i = sortedBossIds.Count - 1; i >= 0; i--)
|
| | | {
|
| | | var bossId = sortedBossIds[i];
|
| | | if (demonBosses[bossId].unLockLevel <= PlayerDatas.Instance.baseData.LV)
|
| | | if (findPreciousModel.IsBossUnlock(bossId))
|
| | | {
|
| | | latestBossId = bossId;
|
| | | break;
|
| | |
| | | return new List<AutoChallengeLog>(autoChallengeLogs);
|
| | | }
|
| | |
|
| | | public void UpdateDemonJarSoul()
|
| | | {
|
| | | //demonJarSoulIncreaseDelta = demonJarSoul - demonJarSoulBuf;
|
| | | //demonJarSoulBuf = demonJarSoul;
|
| | | }
|
| | |
|
| | | private void OnPlayerLevelUp(PlayerDataType _type)
|
| | | {
|
| | | switch (_type)
|
| | | {
|
| | | case PlayerDataType.LV:
|
| | | case PlayerDataType.RealmLevel:
|
| | | if (FuncOpen.Instance.IsFuncOpen(76))
|
| | | {
|
| | | var bossId = GetLatestUnLockBoss();
|
| | |
| | | }
|
| | | }
|
| | |
|
| | | private void AutoSubscribeLastUnLockBoss(int _bossId)
|
| | | private void AutoSubscribeLastUnLockBoss(int bossId)
|
| | | {
|
| | | if (_bossId == 0)
|
| | | if (bossId == 0)
|
| | | {
|
| | | return;
|
| | | }
|
| | |
|
| | | foreach (var boss in demonBosses.Values)
|
| | | {
|
| | | if (this.findPreciousModel.IsBossAutoSubscribe(boss.id) && boss.id != _bossId)
|
| | | if (this.findPreciousModel.IsBossAutoSubscribe(boss.id) && boss.id != bossId)
|
| | | {
|
| | | this.findPreciousModel.RequestDeSubscribeBoss(boss.id);
|
| | | }
|
| | | }
|
| | |
|
| | | if (_bossId != 0 && this.findPreciousModel.IsBossNeverSubscribe((int)_bossId))
|
| | | if (bossId != 0 && this.findPreciousModel.IsBossNeverSubscribe(bossId))
|
| | | {
|
| | | var npcConfig = NPCConfig.Get((int)_bossId);
|
| | | if (PlayerDatas.Instance.baseData.LV >= npcConfig.NPCLV)
|
| | | if (findPreciousModel.IsBossUnlock(bossId))
|
| | | {
|
| | | var config = DemonJarConfig.Get((int)_bossId);
|
| | | var config = DemonJarConfig.Get(bossId);
|
| | | if (config.AutoAttention == 1)
|
| | | {
|
| | | this.findPreciousModel.RequestSubscribeBoss((int)_bossId, true);
|
| | | this.findPreciousModel.RequestSubscribeBoss(bossId, true);
|
| | | var model = ModelCenter.Instance.GetModel<DungeonModel>();
|
| | | var grade = model.GetGrade(new Dungeon(DATA_MAPID, config.LineID));
|
| | | if ((config.CanEnterTimes == 0 || grade == 0) && this.findPreciousModel.IsBossAlive((int)_bossId))
|
| | | if ((config.CanEnterTimes == 0 || grade == 0) && this.findPreciousModel.IsBossAlive(bossId))
|
| | | {
|
| | | this.findPreciousModel.AddOneBossRebornNotify(_bossId);
|
| | | this.findPreciousModel.AddOneBossRebornNotify(bossId);
|
| | | }
|
| | | }
|
| | | }
|