少年修仙传客户端代码仓库
Client_PangDeRong
2018-10-24 83b4e071b122a8e09f914a2cbed7d9a2f8f44192
4232 许愿池功能开发
4个文件已修改
132 ■■■■ 已修改文件
System/FairyAu/FairyGrabBossModel.cs 80 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FairyAu/FairyGrabBossWin.cs 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/MainInterfacePanel/MainInterfaceWin.cs 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Utility/EnumHelper.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FairyAu/FairyGrabBossModel.cs
@@ -79,6 +79,8 @@
        public int noticeShowPet { get; private set; }
        public int noticeShowHorse { get; private set; }
        public int cacheGotoBossId { get; private set; }
        private bool serverInited = false;
        //private DateTime lastQueryProgressTime = DateTime.Now;
@@ -88,11 +90,13 @@
        public event Action<int> bossProgressUpdate;
        public event Action bossAllProgressUpdate;
        public event Action bossGrabHintEvent;
        public event Action gotoBossStateUpdate;
        DailyQuestModel dailyQuestModel { get { return ModelCenter.Instance.GetModel<DailyQuestModel>(); } }
        DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }
        MapModel mapModel { get { return ModelCenter.Instance.GetModel<MapModel>(); } }
        BossHomeModel bossHomeModel { get { return ModelCenter.Instance.GetModel<BossHomeModel>(); } }
        PlayerDeadModel deadModel { get { return ModelCenter.Instance.GetModel<PlayerDeadModel>(); } }
        public override void Init()
        {
@@ -108,6 +112,8 @@
            GlobalTimeEvent.Instance.secondEvent += SecondEvent;
            TimeMgr.Instance.OnMinuteEvent += MinuteEvent;
            TimeUtility.OnServerOpenDayRefresh += OnServerOpenDayRefresh;
            deadModel.AllPlayerDieEvent += PlayerDieEvent;
            deadModel.AllPlayerRebornEvent += AllPlayerRebornEvent;
            OpenServerActivityCenter.Instance.Register(13, this);
        }
@@ -137,6 +143,54 @@
            GlobalTimeEvent.Instance.secondEvent -= SecondEvent;
            TimeMgr.Instance.OnMinuteEvent -= MinuteEvent;
            TimeUtility.OnServerOpenDayRefresh -= OnServerOpenDayRefresh;
            deadModel.AllPlayerDieEvent -= PlayerDieEvent;
            deadModel.AllPlayerRebornEvent -= AllPlayerRebornEvent;
        }
        private void AllPlayerRebornEvent(H0419_tagPlayerReborn package)
        {
            if (package.PlayerID == PlayerDatas.Instance.PlayerId)
            {
                if (cacheGotoBossId != 0)
                {
                    if (package.Type != 0)
                    {
                        cacheGotoBossId = 0;
                    }
                    if (gotoBossStateUpdate != null)
                    {
                        gotoBossStateUpdate();
                    }
                }
            }
        }
        private void PlayerDieEvent(uint playerId)
        {
            if (PlayerDatas.Instance.PlayerId != playerId)
            {
                return;
            }
            if (PlayerDatas.Instance.fairyData.HasFairy && FuncOpen.Instance.IsFuncOpen(139))
            {
                RecheckGrabBoss();
                if (WindowCenter.Instance.IsOpen<FairyGrabBossHintWin>())
                {
                    var list = GAMgr.Instance.GetTypeList(E_ActorClassType.NpcFightBoss);
                    if (list != null)
                    {
                        for (int i = 0; i < list.Count; i++)
                        {
                            GA_NpcFightBoss bossActor = list[i] as GA_NpcFightBoss;
                            if (bossActor != null && bosses.Contains(bossActor.NpcConfig.NPCID))
                            {
                                cacheGotoBossId = bossActor.NpcConfig.NPCID;
                                break;
                            }
                        }
                    }
                }
            }
        }
        private void OnServerOpenDayRefresh()
@@ -185,6 +239,7 @@
        private void OnStageLoadFinish()
        {
            cacheGotoBossId = 0;
            if (!(StageManager.Instance.CurrentStage is DungeonStage))
            {
                grabBossHintOpen = false;
@@ -256,6 +311,7 @@
                return;
            }
            grabBossHintOpen = true;
            cacheGotoBossId = 0;
            if (!WindowCenter.Instance.IsOpen<FairyGrabBossHintWin>())
            {
                WindowCenter.Instance.Open<FairyGrabBossHintWin>();
@@ -263,6 +319,10 @@
            if (bossGrabHintEvent != null)
            {
                bossGrabHintEvent();
            }
            if (gotoBossStateUpdate != null)
            {
                gotoBossStateUpdate();
            }
        }
@@ -290,6 +350,14 @@
                    if (fairyGrabBossHelpUpdate != null)
                    {
                        fairyGrabBossHelpUpdate();
                    }
                }
                if (cacheGotoBossId != 0)
                {
                    cacheGotoBossId = 0;
                    if (gotoBossStateUpdate != null)
                    {
                        gotoBossStateUpdate();
                    }
                }
            }
@@ -460,6 +528,18 @@
            return false;
        }
        public bool IsBossKilled(int bossId)
        {
            BossProgressInfo bossProgress;
            bool killed = false;
            if (TryGetBossProgress(bossId, out bossProgress))
            {
                var progress = 1 - (float)bossProgress.currentHp / bossProgress.totalHp;
                killed = progress >= 1;
            }
            return killed;
        }
        public bool TestEnterDungeon(int bossId, out int _error)
        {
            if (!InActivityTime)
System/FairyAu/FairyGrabBossWin.cs
@@ -203,7 +203,7 @@
            var error = 0;
            if (model.TestEnterDungeon(model.selectBoss, out error))
            {
                if (IsBossKilled(model.selectBoss))
                if (model.IsBossKilled(model.selectBoss))
                {
                    SysNotifyMgr.Instance.ShowTip("FairyGrabBossOver");
                }
@@ -215,18 +215,6 @@
            {
                model.DisplayErrorTip(error);
            }
        }
        bool IsBossKilled(int bossId)
        {
            FairyGrabBossModel.BossProgressInfo bossProgress;
            bool killed = false;
            if (model.TryGetBossProgress(bossId, out bossProgress))
            {
                var progress = 1 - (float)bossProgress.currentHp / bossProgress.totalHp;
                killed = progress >= 1;
            }
            return killed;
        }
        private void KillRecord()
System/MainInterfacePanel/MainInterfaceWin.cs
@@ -84,6 +84,7 @@
        [SerializeField] UIEffect m_RedpackGetSfx;
        [SerializeField] Button m_SendRedbagBtn;
        [SerializeField] Button WishingAwardImg;
        [SerializeField] Button m_GotoFairyGrabBoss;
        [SerializeField] Transform m_EffectTask;//任务完成特效播放位置
        private int m_CollectNPCID;
@@ -174,6 +175,7 @@
            m_RedBag.AddListener(RedPacketButton);
            m_SendRedbagBtn.AddListener(SendRedpacketBtn);
            WishingAwardImg.AddListener(ClickWishAward);
            m_GotoFairyGrabBoss.AddListener(GotoFairyGrabBoss);
        }
        protected override void OnPreOpen()
@@ -207,6 +209,7 @@
            OnRedBagGet();//关于红包入口
            CheckSendRedpackBtn();
            CheckChatTipOpen();
            ShowFairyGrabBoss();
            PlayerDatas.Instance.PlayerDataRefreshInfoEvent += Updatefighting;
            FunctionUnlockFlyObject.functionUnLockShowBeginEvent += UnFlodFunctionArea;
            fairyModel.UpdateFairyRequestEvent += UpdateFairyRequest;
@@ -226,6 +229,7 @@
            NewBieCenter.Instance.guideBeginEvent += GuideBeginEvent;
            fairyGrabBossModel.bossGrabHintEvent += bossGrabHintEvent;
            wishModel.UpdateWishAwardEvent += UpdateWishAwardImag;
            fairyGrabBossModel.gotoBossStateUpdate += ShowFairyGrabBoss;
        }
        private void CompletionOfTaskEvent(int obj)
@@ -300,7 +304,7 @@
                if (isNeutralMap)
                {
                    m_BossBriefInfos.gameObject.SetActive(true);
                    if (PlayerDatas.Instance.baseData.MapID==DogzDungeonModel.DATA_MAPID)
                    if (PlayerDatas.Instance.baseData.MapID == DogzDungeonModel.DATA_MAPID)
                    {
                        var bosses = ModelCenter.Instance.GetModel<DogzDungeonModel>().GetBosses();
                        m_BossBriefInfos.Display(bosses);
@@ -387,6 +391,7 @@
            PlayerTaskDatas.CompletionOfTaskEvent -= CompletionOfTaskEvent;
            RedpointCenter.Instance.redpointValueChangeEvent -= RedpointValueChangeEvent;
            NewBieCenter.Instance.guideBeginEvent -= GuideBeginEvent;
            fairyGrabBossModel.gotoBossStateUpdate -= ShowFairyGrabBoss;
            if (WindowCenter.Instance.IsOpen<FunctionForecastWin>())
            {
                WindowCenter.Instance.CloseImmediately<FunctionForecastWin>();
@@ -730,7 +735,7 @@
        void DownButton(GameObject go)
        {
            _ExpRate.gameObject.SetActive(true);
          //  WindowCenter.Instance.Open<WheelOfFortuneWin>();
            //  WindowCenter.Instance.Open<WheelOfFortuneWin>();
        }
        void UpButton(GameObject go)
        {
@@ -1097,6 +1102,33 @@
        private void bossGrabHintEvent()
        {
            IsShowTaskPanel();
            ShowFairyGrabBoss();
        }
        private void ShowFairyGrabBoss()
        {
            m_GotoFairyGrabBoss.gameObject.SetActive(fairyGrabBossModel.cacheGotoBossId != 0 &&
                !fairyGrabBossModel.grabBossHintOpen);
        }
        private void GotoFairyGrabBoss()
        {
            if (fairyGrabBossModel.cacheGotoBossId != 0)
            {
                var error = 0;
                if (fairyGrabBossModel.TestEnterDungeon(fairyGrabBossModel.cacheGotoBossId, out error))
                {
                    if (fairyGrabBossModel.IsBossKilled(fairyGrabBossModel.cacheGotoBossId))
                    {
                        SysNotifyMgr.Instance.ShowTip("FairyGrabBossOver");
                    }
                    MapTransferUtility.Instance.MoveToNPC(fairyGrabBossModel.cacheGotoBossId);
                }
                else
                {
                    fairyGrabBossModel.DisplayErrorTip(error);
                }
            }
        }
    }
Utility/EnumHelper.cs
@@ -870,7 +870,6 @@
    EquipCompose = 93,//装备合成
    Guard = 94,//守护
    SkillTreasure = 95,//技能法宝
    AddPoint = 96,//加点
    WingCompose = 97,//翅膀合成
    Demon = 98,//混乱妖域
    HappyFindTreasure = 99,//欢乐寻宝
@@ -882,6 +881,7 @@
    OpenServerRedEnvelope = 122,//开服红包
    EquipDecompose = 123, //装备分解
    TreasureFindHost = 124, //法宝认主
    AddPoint = 145,//加点
}
//属性类型
public enum AttrEnum