少年修仙传客户端代码仓库
client_linchunjie
2018-09-14 a0ede150686a218c92b901b1f20aef12a9913890
System/MainInterfacePanel/InGamePushContainer.cs
@@ -14,6 +14,7 @@
    public class InGamePushContainer : MonoBehaviour
    {
        [SerializeField] BetterItemGetBehaviour m_BetterEquipPusher;
        [SerializeField] RealmBetterEquipBehaviour m_RealmBetterEquipPusher;
        [SerializeField] PreciousItemGetBehaviour m_PreciousItemPusher;
        [SerializeField] FindPreciousBossRebornBehaviour m_BossRebornPusher;
        [SerializeField] ItemUseBehaviour m_itemUsePusher;
@@ -24,8 +25,17 @@
        [SerializeField] DungeonGuardCheckBehaviour m_DungeonGuardBehaviour;
        [SerializeField] FirstChargeTrialBehaviour m_FirstChargeTrialBehaviour;
        WorldBossModel worldBossModel { get { return ModelCenter.Instance.GetModel<WorldBossModel>(); } }
        BossHomeModel bossHomeModel { get { return ModelCenter.Instance.GetModel<BossHomeModel>(); } }
        ElderGodAreaModel elderGodAreaModel { get { return ModelCenter.Instance.GetModel<ElderGodAreaModel>(); } }
        DemonJarModel demonJarModel { get { return ModelCenter.Instance.GetModel<DemonJarModel>(); } }
        DogzDungeonModel dogzDungeonModel { get { return ModelCenter.Instance.GetModel<DogzDungeonModel>(); } }
        VipModel vipModel { get { return ModelCenter.Instance.GetModel<VipModel>(); } }
        DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }
        FindPreciousModel findPreciousModel { get { return ModelCenter.Instance.GetModel<FindPreciousModel>(); } }
        BetterEquipGetModel betterEquipGetModel { get { return ModelCenter.Instance.GetModel<BetterEquipGetModel>(); } }
        RealmBetterEquipModel realmEquipModel { get { return ModelCenter.Instance.GetModel<RealmBetterEquipModel>(); } }
        PreciousItemGetModel preciousItemGetModel { get { return ModelCenter.Instance.GetModel<PreciousItemGetModel>(); } }
        ItemUseModel itemUseModel { get { return ModelCenter.Instance.GetModel<ItemUseModel>(); } }
        ItemOverdueModel itemOverdue { get { return ModelCenter.Instance.GetModel<ItemOverdueModel>(); } }
@@ -38,6 +48,7 @@
        public void Init()
        {
            CheckBetterEquip();
            CheckRealmBetterEquip();
            CheckPreciousItem();
            CheckBossReborn();
            CheckItemUse();
@@ -49,6 +60,7 @@
            FirstChargeTrialShow();
            playerPack.RefreshDecomAttrAct += CheckEquipDecompose;
            betterEquipGetModel.showEquipRefreshEvent += CheckBetterEquip;
            realmEquipModel.showEquipRefreshEvent += CheckRealmBetterEquip;
            preciousItemGetModel.showItemRefreshEvent += CheckPreciousItem;
            findPreciousModel.bossRebornNotifyChangeEvent += CheckBossReborn;
            itemUseModel.showItemRefreshEvent += CheckItemUse;
@@ -68,6 +80,28 @@
            NewBieCenter.Instance.guideBeginEvent -= OnNewBieGuideBegin;
            guardModel.onDungeonEquipGuardEvent -= CheckDungeonGuard;
            firstTimeRechargeModel.IsTipShowEvent -= FirstChargeTrialShow;
            realmEquipModel.showEquipRefreshEvent -= CheckRealmBetterEquip;
        }
        private void CheckRealmBetterEquip()
        {
            if (string.IsNullOrEmpty(realmEquipModel.currentEquipGuid))
            {
                m_RealmBetterEquipPusher.gameObject.SetActive(false);
            }
            else
            {
                if (betterEquipGetModel.ShowBetterEquipAble())
                {
                    m_RealmBetterEquipPusher.gameObject.SetActive(true);
                    m_RealmBetterEquipPusher.ShowBetterEquip();
                }
                else
                {
                    m_RealmBetterEquipPusher.gameObject.SetActive(false);
                }
            }
        }
        private void CheckBetterEquip()
@@ -176,28 +210,48 @@
                {
                    var findPreciousType = findPreciousModel.GetBossFindPreciousType(findPreciousModel.currentBossNotify);
                    var killable = false;
                    var show = true;
                    var mapId = PlayerDatas.Instance.baseData.MapID;
                    switch (findPreciousType)
                    {
                        case FindPreciousModel.FindPreciousType.WorldBoss:
                        case FindPreciousType.WorldBoss:
                            killable = worldBossModel.wearyValue < GeneralConfig.Instance.bossWearyValues[0] + worldBossModel.extraBossWearyValue;
                            show = !GeneralConfig.Instance.worldBossNoRebornRemindMaps.Contains(mapId);
                            break;
                        case FindPreciousModel.FindPreciousType.BossHome:
                        case FindPreciousType.BossHome:
                            killable = bossHomeModel.wearyValue < vipModel.GetVipPrivilegeCnt(VipPrivilegeType.BossHomeAwardLimit);
                            show = !GeneralConfig.Instance.bossHomeNoRebornRemindMaps.Contains(mapId);
                            break;
                        case FindPreciousModel.FindPreciousType.ElderGodArea:
                        case FindPreciousType.ElderGodArea:
                            var elderGodEnterTimes = dungeonModel.GetEnterTimes(ElderGodAreaModel.ELDERGODAREA_MAPID);
                            var elderGodTotalTimes = dungeonModel.GetTotalTimes(ElderGodAreaModel.ELDERGODAREA_MAPID);
                            killable = elderGodTotalTimes > elderGodEnterTimes;
                            show = !GeneralConfig.Instance.elderGodNoRebornRemindMaps.Contains(mapId);
                            break;
                        case FindPreciousModel.FindPreciousType.DemonJar:
                        case FindPreciousType.DemonJar:
                            var totalTimes = dungeonModel.GetTotalTimes(DemonJarModel.DEMONJAR_MAPID);
                            var enterTimes = dungeonModel.GetEnterTimes(DemonJarModel.DEMONJAR_MAPID);
                            killable = totalTimes > enterTimes;
                            show = !GeneralConfig.Instance.demonJarNoRebornRemindMaps.Contains(mapId);
                            break;
                        case FindPreciousType.DogzDungeon:
                            killable = dogzDungeonModel.wearyValue < GeneralConfig.Instance.bossWearyValues[2];
                            show = !GeneralConfig.Instance.dogzNoRebornRemindMaps.Contains(mapId);
                            break;
                    }
                    if (show)
                    if (killable)
                    {
                        m_BossRebornPusher.DisplayRebornBoss();
                        m_BossRebornPusher.gameObject.SetActive(true);
                        if (show)
                        {
                            m_BossRebornPusher.DisplayRebornBoss();
                            m_BossRebornPusher.gameObject.SetActive(true);
                        }
                    }
                    else
                    {
                        findPreciousModel.ReportConfirmBossRebornNotify(findPreciousModel.currentBossNotify);
                    }
                }
                else
@@ -236,7 +290,7 @@
        private void OnNewBieGuideBegin()
        {
            var guideConfig = ConfigManager.Instance.GetTemplate<GuideConfig>(NewBieCenter.Instance.currentGuide);
            var guideConfig = Config.Instance.Get<GuideConfig>(NewBieCenter.Instance.currentGuide);
            switch ((GuideTriggerType)guideConfig.TriggerType)
            {
                case GuideTriggerType.EquipQuality: