少年修仙传客户端代码仓库
client_linchunjie
2019-04-10 8a345b8ee784063d94575c8df5e42f7f04090aab
Merge branch 'master' into HazyRegion

Conflicts:
System/DailyQuest/DailyQuestWin.cs
Utility/EnumHelper.cs
2个文件已添加
14个文件已修改
1023 ■■■■■ 已修改文件
Core/GameEngine/Login/Launch.cs 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/HA0_Sys/DTCA007_tagGCFBLinePlayerCnt.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/Stage/MapEditor/Game/ClientSceneManager.cs 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Activity/ActivityModel.cs 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Activity/ActivityNotifyBehaviour.cs 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/DailyQuest/DailyQuestActiveSlider.cs 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/DailyQuest/DailyQuestModel.cs 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/DailyQuest/DailyQuestWin.cs 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FairyAu/AllianceBossBehaviour.cs 290 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FairyAu/AllianceBossBehaviour.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FairyAu/AllianceBossEntranceWin.cs 226 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FairyAu/AllianceBossModel.cs 76 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FindPrecious/LootPreciousFrameWin.cs 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/MainInterfacePanel/HeadPortraitTip.cs 230 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/WindowJump/WindowJumpMgr.cs 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Utility/EnumHelper.cs 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Login/Launch.cs
@@ -1,4 +1,4 @@
using UnityEngine;
using UnityEngine;
using System.Collections;
using Snxxz.UI;
using System;
@@ -146,9 +146,9 @@
    void CalculateExpectTotalTime()
    {
        surplusTime = 0f;
        foreach (var item in tasks)
        {
            surplusTime += item.expectTime;
        foreach (var item in tasks)
        {
            surplusTime += item.expectTime;
        }
        surplusProgress = 1 - progressInfo.totalProgress;
@@ -333,7 +333,8 @@
    public class InitSettingTask : LaunchTask
    {
        public override float expectTime {
        public override float expectTime
        {
            get { return LocalSave.GetFloat("InitSettingTask_ExpectTime", 1f); }
            protected set { LocalSave.SetFloat("InitSettingTask_ExpectTime", value); }
        }
@@ -361,6 +362,13 @@
            GlobalTimeEvent.Instance.Begin();
            PackageRegedit.Init();
            // ## PocoManager Start
            if (VersionConfig.Get().appId.Equals("test"))
            {
                SnxxzGame.Instance.gameObject.AddComponent<PocoManager>();
            }
            // ## PocoManager End
            done = true;
        }
@@ -377,7 +385,8 @@
    public class SDKInitedTask : LaunchTask
    {
        public override float expectTime {
        public override float expectTime
        {
            get { return LocalSave.GetFloat("SDKInitedTask_ExpectTime", 1f); }
            protected set { LocalSave.SetFloat("SDKInitedTask_ExpectTime", value); }
        }
@@ -430,7 +439,8 @@
        int totalCount = -1;
        List<FileInfo> copyTasks = new List<FileInfo>();
        public override float expectTime {
        public override float expectTime
        {
            get { return LocalSave.GetFloat("AssetCopyTask_ExpectTime", 70f); }
            protected set { LocalSave.SetFloat("AssetCopyTask_ExpectTime", value); }
        }
@@ -584,7 +594,8 @@
    public class AssetDecompressTask : LaunchTask
    {
        public override float expectTime {
        public override float expectTime
        {
            get { return LocalSave.GetFloat("AssetDecompressTask_ExpectTime", 5f); }
            protected set { LocalSave.SetFloat("AssetDecompressTask_ExpectTime", value); }
        }
@@ -637,7 +648,8 @@
    public class GetVersionInfoTask : LaunchTask
    {
        public override float expectTime {
        public override float expectTime
        {
            get { return LocalSave.GetFloat("GetVersionInfoTask_ExpectTime", 1f); }
            protected set { LocalSave.SetFloat("GetVersionInfoTask_ExpectTime", value); }
        }
@@ -704,7 +716,8 @@
    public class CheckAssetValidTask : LaunchTask
    {
        public override float expectTime {
        public override float expectTime
        {
            get { return LocalSave.GetFloat("CheckAssetValidTask_ExpectTime", 3f); }
            protected set { LocalSave.SetFloat("CheckAssetValidTask_ExpectTime", value); }
        }
@@ -761,7 +774,8 @@
    public class DownLoadAssetTask : LaunchTask
    {
        public override float expectTime {
        public override float expectTime
        {
            get { return LocalSave.GetFloat("DownLoadAssetTask_ExpectTime", 3f); }
            protected set { LocalSave.SetFloat("DownLoadAssetTask_ExpectTime", value); }
        }
@@ -826,7 +840,8 @@
    public class AssetBundleInitTask : LaunchTask
    {
        public override float expectTime {
        public override float expectTime
        {
            get { return LocalSave.GetFloat("AssetBundleInitTask_ExpectTime", 1f); }
            protected set { LocalSave.SetFloat("AssetBundleInitTask_ExpectTime", value); }
        }
@@ -879,7 +894,8 @@
    public class ConfigInitTask : LaunchTask
    {
        public override float expectTime {
        public override float expectTime
        {
            get { return LocalSave.GetFloat("ConfigInitTask_ExpectTime", 10f); }
            protected set { LocalSave.SetFloat("ConfigInitTask_ExpectTime", value); }
        }
@@ -928,7 +944,8 @@
    public class LaunchFadeOutTask : LaunchTask
    {
        public override float expectTime {
        public override float expectTime
        {
            get { return LocalSave.GetFloat("LaunchFadeOutTask_ExpectTime", 1f); }
            protected set { LocalSave.SetFloat("LaunchFadeOutTask_ExpectTime", value); }
        }
Core/NetworkPackage/DTCFile/ServerPack/HA0_Sys/DTCA007_tagGCFBLinePlayerCnt.cs
@@ -18,6 +18,7 @@
        ModelCenter.Instance.GetModel<MapModel>().UpdateDungeonMapLines(package);
        ModelCenter.Instance.GetModel<JadeDynastyBossModel>().OnReceivePackage(package);
        ModelCenter.Instance.GetModel<RidingPetBossModel>().ReceivePackage(package);
        ModelCenter.Instance.GetModel<AllianceBossModel>().ReceivePackage(package);
    }
}
Fight/Stage/MapEditor/Game/ClientSceneManager.cs
@@ -276,6 +276,7 @@
    public Vector3 GetNext1(Vector3 start, Vector3 dest)
    {
        count = 0;
        m_ChkedList1.Clear();
        if (PathFinder.WalkAble(start, dest))
@@ -464,6 +465,7 @@
                var _tp = _t.transferPoints[i];
                if (PathFinder.WalkAble(next, _tp.position))
                {
                    //Debug.Log("_tp.position : " + _tp.position);
                    if (i == 0)
                    {
                        _targetPos = _t.transferPoints[_t.transferPoints.Length - 1].position;
@@ -474,19 +476,25 @@
                    }
                    m_ChkedList.Add(_t);
                    if (PathFinder.WalkAble(start, _targetPos))
                    {
                        return _targetPos;
                    }
                    else
                    {
                        _targetPos = GetNext(start, _targetPos);
                    }
                    break;
                }
            }
            if (_targetPos != Vector3.zero)
            {
                break;
            }
        }
        if (PathFinder.WalkAble(start, _targetPos))
        {
            return _targetPos;
        }
        else
        {
            _targetPos = GetNext(start, _targetPos);
        }
        //Debug.Log("_targetPos: " + _targetPos);
        return _targetPos;
    }
System/Activity/ActivityModel.cs
@@ -301,8 +301,7 @@
                        }
                    }
                    break;
                case DailyQuestType.AllianceBoss1:
                case DailyQuestType.AllianceBoss2:
                case DailyQuestType.AllianceBoss:
                    {
                        if (!PlayerDatas.Instance.fairyData.HasFairy)
                        {
System/Activity/ActivityNotifyBehaviour.cs
@@ -149,15 +149,8 @@
                    case DailyQuestType.CrossServerPk:
                        WindowCenter.Instance.Open<CrossServerWin>();
                        break;
                    case DailyQuestType.AllianceBoss1:
                        dungeonModel.currentDungeon = new Dungeon(AllianceBossModel.DATAMAPID, 0);
                        AllianceBossEntranceWin.dailyQuestId = (int)DailyQuestType.AllianceBoss1;
                        WindowCenter.Instance.Open<AllianceBossEntranceWin>();
                        break;
                    case DailyQuestType.AllianceBoss2:
                        dungeonModel.currentDungeon = new Dungeon(AllianceBossModel.DATAMAPID, 1);
                        AllianceBossEntranceWin.dailyQuestId = (int)DailyQuestType.AllianceBoss2;
                        WindowCenter.Instance.Open<AllianceBossEntranceWin>();
                    case DailyQuestType.AllianceBoss:
                        WindowCenter.Instance.Open<LootPreciousFrameWin>(false, 3);
                        break;
                }
            }
System/DailyQuest/DailyQuestActiveSlider.cs
@@ -20,18 +20,12 @@
        DailyQuestModel model { get { return ModelCenter.Instance.GetModel<DailyQuestModel>(); } }
        public void UpdateActiveValue(int _current, int _total)
        public void Initialize()
        {
            var progress = (float)_current / _total;
            m_ActiveValueSlider.value = progress;
            m_CurrentActiveValue.text = _current.ToString();
            m_RewardButton.RemoveAllListeners();
            m_RewardButton.AddListener(PreviewAward);
            var allRewardKeys = DailyLivenessRewardConfig.GetKeys();
            var playerLevel = PlayerDatas.Instance.baseData.LV;
            var stageIndex = model.currentRewardStageIndex;
            for (int i = 0; i < m_RewardToolTips.Length; i++)
@@ -47,19 +41,13 @@
                    tooltip.gameObject.SetActive(false);
                }
            }
        }
        public void ShowAwardableEffect()
        public void UpdateCurrentActiveValue(int current, int total)
        {
            for (int i = 0; i < m_RewardToolTips.Length; i++)
            {
                var tooltip = m_RewardToolTips[i];
                if (tooltip.gameObject.activeInHierarchy)
                {
                    tooltip.UpdateAwardableEffect();
                }
            }
            var progress = (float)current / total;
            m_ActiveValueSlider.value = progress;
            m_CurrentActiveValue.text = current.ToString();
        }
        private void PreviewAward()
System/DailyQuest/DailyQuestModel.cs
@@ -223,8 +223,7 @@
                case DailyQuestType.FairyFeast:
                case DailyQuestType.FairyTask:
                case DailyQuestType.FairyGrabBoss:
                case DailyQuestType.AllianceBoss1:
                case DailyQuestType.AllianceBoss2:
                case DailyQuestType.AllianceBoss:
                    return defaultUnlock && PlayerDatas.Instance.baseData.FamilyId > 0;
                case DailyQuestType.RuneTowerSweep:
                    return ModelCenter.Instance.GetModel<RuneTowerModel>().yesterdayPassFloor > 0;
@@ -511,8 +510,7 @@
        private void AllianceBossStateRefresh()
        {
            UpdateDailyActionRedpoint((int)DailyQuestType.AllianceBoss1);
            UpdateDailyActionRedpoint((int)DailyQuestType.AllianceBoss2);
            UpdateDailyActionRedpoint((int)DailyQuestType.AllianceBoss);
        }
        private void OnPlayerDataRefresh(PlayerDataType _refreshType)
@@ -621,8 +619,7 @@
                                    }
                                    break;
                                case DailyQuestType.FairyGrabBoss:
                                case DailyQuestType.AllianceBoss1:
                                case DailyQuestType.AllianceBoss2:
                                case DailyQuestType.AllianceBoss:
                                    if (dailyQuestState == DailyQuestState.Normal)
                                    {
                                        dailyQuest.redpoint.state = completedTimes >= totalTimes ? RedPointState.None : RedPointState.Simple;
@@ -851,8 +848,7 @@
                        return DailyQuestState.Normal;
                    }
                    break;
                case DailyQuestType.AllianceBoss1:
                case DailyQuestType.AllianceBoss2:
                case DailyQuestType.AllianceBoss:
                    if (allianceBossModel.isActivityOver)
                    {
                        return DailyQuestState.Completed;
@@ -932,8 +928,7 @@
            var _fairyModel = ModelCenter.Instance.GetModel<FairyModel>();
            switch (type)
            {
                case DailyQuestType.AllianceBoss1:
                case DailyQuestType.AllianceBoss2:
                case DailyQuestType.AllianceBoss:
                    if (!PlayerDatas.Instance.fairyData.HasFairy)
                    {
                        return Language.Get("DailyQuestWin_Participate");
System/DailyQuest/DailyQuestWin.cs
@@ -61,6 +61,7 @@
        protected override void OnAfterOpen()
        {
            model.currentActiveValueUpdateEvent += OnUpdateCurrentActive;
        }
        protected override void OnPreClose()
@@ -69,6 +70,8 @@
            model.currentDailyQuest = 0;
            m_HangTimeBehaviour.Dispose();
            m_QuestScroll.Dispose();
            model.currentActiveValueUpdateEvent -= OnUpdateCurrentActive;
        }
        protected override void OnAfterClose()
@@ -153,7 +156,8 @@
        private void ShowQuestGroups(List<int> _quests)
        {
            m_HangTimeBehaviour.Display();
            m_DailyQuestActiveSlider.UpdateActiveValue( model.currentActiveValue,  model.dailyQuestTotalActiveValue);
            m_DailyQuestActiveSlider.Initialize();
            m_DailyQuestActiveSlider.UpdateCurrentActiveValue(model.currentActiveValue, model.dailyQuestTotalActiveValue);
            var groupDatas = new List<DailyQuestGroup.GroupData>();
            var max = _quests.Count;
            for (int i = 0; i < max; i++, i++)
@@ -180,6 +184,11 @@
        private void ShowCalendar()
        {
            WindowCenter.Instance.Open<DailyQuestCalendarWin>();
        }
        private void OnUpdateCurrentActive()
        {
            m_DailyQuestActiveSlider.UpdateCurrentActiveValue(model.currentActiveValue, model.dailyQuestTotalActiveValue);
        }
        public void GotoDailyQuest(int _id)
@@ -287,10 +296,6 @@
                    GotoTreasureCollectSoul();
                    break;
                case DailyQuestType.DungeonAssist:
                    //WindowCenter.Instance.CloseImmediately<DailyQuestWin>();
                    //ChatCtrl.Inst.presentChatType = ChatInfoType.World;
                    //ChatCtrl.Inst.openFromDaily = true;
                    //WindowCenter.Instance.Open<ChatWin>();
                    WindowCenter.Instance.Open<DungeonAssistWin>();
                    break;
                case DailyQuestType.FairyGrabBoss:
@@ -311,24 +316,13 @@
                    WindowCenter.Instance.Close<DailyQuestWin>();
                    WindowCenter.Instance.Open<CrossServerWin>();
                    break;
                case DailyQuestType.AllianceBoss1:
                case DailyQuestType.AllianceBoss:
                    GotoAllianceBoss(_id, 0);
                    break;
                case DailyQuestType.AllianceBoss2:
                    GotoAllianceBoss(_id, 1);
                    break;
                case DailyQuestType.HazyRegion:
                    WindowCenter.Instance.Close<DailyQuestWin>();
                    WindowCenter.Instance.Open<CrossServerWin>(false, 2);
                    break;
                //case DailyQuestType.JadeDynastyBoss:
                //    WindowCenter.Instance.Close<DailyQuestWin>();
                //    WindowCenter.Instance.Open<LootPreciousFrameWin>(false, 3);
                //    break;
                //case DailyQuestType.JadeDynastyTower:
                //    WindowCenter.Instance.Close<DailyQuestWin>();
                //    WindowCenter.Instance.Open<TowerWin>(false, 1);
                //    break;
                default:
                    CSharpCallLua.GotoLuaDailyQuest(_id);
                    break;
@@ -507,9 +501,7 @@
        private void GotoAllianceBoss(int id, int lineId)
        {
            dungeonModel.currentDungeon = new Dungeon(AllianceBossModel.DATAMAPID, lineId);
            AllianceBossEntranceWin.dailyQuestId = id;
            WindowCenter.Instance.Open<AllianceBossEntranceWin>();
            WindowCenter.Instance.Open<LootPreciousFrameWin>(false, 3);
        }
        private void GotoTreasureCollectSoul()
System/FairyAu/AllianceBossBehaviour.cs
New file
@@ -0,0 +1,290 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using UnityEngine;
using UnityEngine.UI;
namespace Snxxz.UI
{
    public class AllianceBossBehaviour : MonoBehaviour
    {
        [SerializeField] Text m_BossName;
        [SerializeField] Text m_BossState;
        [SerializeField] RawImage m_RawBoss;
        [SerializeField] ItemCell[] m_Items;
        [SerializeField] Button m_Goto;
        int index = 0;
        int m_State = 0;
        int state
        {
            get { return m_State; }
            set
            {
                if (m_State != value)
                {
                    m_State = value;
                    DisplayState();
                }
            }
        }
        float timer = 0f;
        AllianceBossModel model { get { return ModelCenter.Instance.GetModel<AllianceBossModel>(); } }
        DailyQuestModel dailyQuestModel { get { return ModelCenter.Instance.GetModel<DailyQuestModel>(); } }
        DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }
        public void Display(int index)
        {
            this.index = index;
            DisplayBase();
            DisplayItems();
            RefreshState();
            DisplayState();
            m_Goto.SetListener(Goto);
            model.allianceBossStateRefresh += AllianceBossStateRefresh;
            model.allianceBossLineRefresh += AllianceBossLineRefresh;
        }
        void DisplayBase()
        {
            var npcId = model.GetBossNpcId(index);
            var npcConfig = NPCConfig.Get(npcId);
            m_BossName.text = npcConfig.charName;
        }
        void DisplayItems()
        {
            List<Item> items;
            model.TryGetItems(index, out items);
            for (int i = 0; i < m_Items.Length; i++)
            {
                if (items != null && i < items.Count)
                {
                    var item = items[i];
                    m_Items[i].gameObject.SetActive(true);
                    var itemModel = new ItemCellModel(item.id, true, (ulong)item.count);
                    m_Items[i].Init(itemModel);
                    m_Items[i].button.SetListener(() =>
                    {
                        var itemData = new ItemAttrData(item.id, true, (ulong)item.count);
                        ModelCenter.Instance.GetModel<ItemTipsModel>().SetItemTipsModel(itemData);
                    });
                }
                else
                {
                    m_Items[i].gameObject.SetActive(false);
                }
            }
        }
        void RefreshState()
        {
            DailyQuestOpenTime dailyQuestOpenTime;
            if (dailyQuestModel.TryGetOpenTime((int)DailyQuestType.AllianceBoss, out dailyQuestOpenTime))
            {
                if (!dailyQuestOpenTime.InOpenTime())
                {
                    state = 0;
                    return;
                }
                else
                {
                    var hourMinutes = dailyQuestOpenTime.NormalOpenTimes.Values.First();
                    if (index < hourMinutes.Count)
                    {
                        if (!hourMinutes[index].InOpenTime())
                        {
                            state = 0;
                            return;
                        }
                        if (model.isActivityOver)
                        {
                            state = 2;
                        }
                        else
                        {
                            state = 1;
                        }
                    }
                }
            }
        }
        void DisplayState()
        {
            m_RawBoss.gameObject.SetActive(true);
            var npcId = model.GetBossNpcId(index);
            var npcConifg = NPCConfig.Get(npcId);
            if (index == 0)
            {
                UI3DModelExhibition.Instance.ShowNPC(npcId, npcConifg.UIModeLOffset,
                    npcConifg.UIModelRotation, m_RawBoss, state == 0);
            }
            else
            {
                UI3DModelExhibition.InstanceClone1.ShowNPC(npcId, npcConifg.UIModeLOffset,
                    npcConifg.UIModelRotation, m_RawBoss, state == 0);
            }
            m_Goto.gameObject.SetActive(state != 0);
            switch (state)
            {
                case 0:
                    DailyQuestOpenTime dailyQuestOpenTime;
                    if (dailyQuestModel.TryGetOpenTime((int)DailyQuestType.AllianceBoss, out dailyQuestOpenTime))
                    {
                        var hourMinutes = dailyQuestOpenTime.NormalOpenTimes.Values.First();
                        if (index < hourMinutes.Count)
                        {
                            m_BossState.text = StringUtility.Contact(Language.Get("ActivityTime"),
                                hourMinutes[index].ToOpenTime());
                        }
                    }
                    m_BossState.color = UIHelper.GetUIColor(TextColType.White);
                    break;
                case 1:
                    DisplayNpcHp();
                    m_BossState.color = UIHelper.GetUIColor(TextColType.White);
                    break;
                case 2:
                    m_BossState.text = Language.Get("AllianceBoss_1");
                    m_BossState.color = UIHelper.GetUIColor(TextColType.Red);
                    break;
            }
        }
        void DisplayNpcHp()
        {
            if (state != 1)
            {
                return;
            }
            AllianceBossModel.AllianceBossLine bossLine;
            var hp = 100;
            if (model.TryGetBossLine(index, out bossLine))
            {
                hp = bossLine.hp;
            }
            m_BossState.text = Language.Get("RidingPetBossRemainHP", hp);
        }
        private void LateUpdate()
        {
            timer += Time.deltaTime;
            if (timer >= 1f)
            {
                timer = 0f;
                RefreshState();
            }
        }
        private void Goto()
        {
            var error = 0;
            if (TestEnterAllianceBoss(out error))
            {
                dungeonModel.SingleChallenge(AllianceBossModel.DATAMAPID, index);
            }
            else
            {
                DisplayErrorTip(error);
            }
        }
        bool TestEnterAllianceBoss(out int error)
        {
            error = 0;
            var dungeonId = dungeonModel.GetDungeonId(AllianceBossModel.DATAMAPID, index);
            var dungeonConfig = DungeonConfig.Get(dungeonId);
            if (dungeonConfig != null)
            {
                var playerLevel = PlayerDatas.Instance.baseData.LV;
                if (playerLevel < dungeonConfig.LVLimitMin)
                {
                    error = 1;
                    return false;
                }
            }
            if (CrossServerUtility.IsCrossServerBoss())
            {
                error = 3;
                return false;
            }
            if (model.isActivityOver)
            {
                error = 4;
                return false;
            }
            var dailyQuestState = dailyQuestModel.GetQuestState((int)DailyQuestType.AllianceBoss);
            if (dailyQuestState != DailyQuestModel.DailyQuestState.Normal)
            {
                error = 5;
                return false;
            }
            return true;
        }
        void DisplayErrorTip(int error)
        {
            switch (error)
            {
                case 1:
                    SysNotifyMgr.Instance.ShowTip("DemonJar_Text2");
                    break;
                case 2:
                    SysNotifyMgr.Instance.ShowTip("GeRen_chenxin_268121", AllianceBossModel.DATAMAPID);
                    break;
                case 3:
                    SysNotifyMgr.Instance.ShowTip("CrossMap10");
                    break;
                case 4:
                    SysNotifyMgr.Instance.ShowTip("AllianceBossDead");
                    break;
                case 5:
                    SysNotifyMgr.Instance.ShowTip("Join_Space_Lost");
                    break;
            }
        }
        private void AllianceBossStateRefresh()
        {
            RefreshState();
        }
        private void AllianceBossLineRefresh()
        {
            if (state == 1)
            {
                DisplayNpcHp();
            }
        }
        public void Dispose()
        {
            model.allianceBossStateRefresh -= AllianceBossStateRefresh;
            model.allianceBossLineRefresh -= AllianceBossLineRefresh;
            UI3DModelExhibition.Instance.StopShow();
            UI3DModelExhibition.InstanceClone1.StopShow();
        }
    }
}
System/FairyAu/AllianceBossBehaviour.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 9b8a35768bc6c7d44a66451b1861e74d
timeCreated: 1554863526
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
System/FairyAu/AllianceBossEntranceWin.cs
@@ -14,218 +14,94 @@
    [XLua.Hotfix]
    public class AllianceBossEntranceWin : Window
    {
        [SerializeField] Text m_ActivityName;
        [SerializeField] Image m_Background;
        [SerializeField] AllianceBossBehaviour[] m_AllianceBosses;
        [SerializeField] Text m_OpenTime;
        [SerializeField] Text m_EnterTimes;
        [SerializeField] Text m_LimitLevel;
        [SerializeField] Text m_Description;
        [SerializeField] ItemBehaviour[] m_Items;
        [SerializeField] Button m_Goto;
        [SerializeField] Button m_Close;
        float timer = 0f;
        AllianceBossModel allianceBossModel { get { return ModelCenter.Instance.GetModel<AllianceBossModel>(); } }
        DailyQuestModel dailyQuestModel { get { return ModelCenter.Instance.GetModel<DailyQuestModel>(); } }
        DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }
        public static int dailyQuestId = 0;
        MapModel mapModel { get { return ModelCenter.Instance.GetModel<MapModel>(); } }
        #region Built-in
        protected override void BindController()
        {
        }
        protected override void AddListeners()
        {
            m_Goto.AddListener(GotoAllianceBoss);
            m_Close.AddListener(CloseClick);
        }
        protected override void OnPreOpen()
        {
            Display();
        }
            for (int i = 0; i < m_AllianceBosses.Length; i++)
            {
                m_AllianceBosses[i].Display(i);
            }
            DisplayTime();
            mapModel.RequestQueryMapLineState(AllianceBossModel.DATAMAPID);
            GlobalTimeEvent.Instance.secondEvent += PerSecond;
        }
        protected override void OnAfterOpen()
        {
        }
        protected override void OnPreClose()
        {
            for (int i = 0; i < m_AllianceBosses.Length; i++)
            {
                m_AllianceBosses[i].Dispose();
            }
            GlobalTimeEvent.Instance.secondEvent -= PerSecond;
        }
        protected override void OnAfterClose()
        {
        }
        protected override void LateUpdate()
        {
            timer += Time.deltaTime;
            if (timer >= 5f)
            {
                timer = 0f;
                mapModel.RequestQueryMapLineState(AllianceBossModel.DATAMAPID);
            }
        }
        #endregion
        void Display()
        private void PerSecond()
        {
            DisplayBase();
            DisplayEnterTimes();
            DisplayTime();
        }
        void DisplayBase()
        void DisplayTime()
        {
            var config = DailyQuestConfig.Get(dailyQuestId);
            m_ActivityName.text = config.Title;
            DailyQuestOpenTime openTime;
            if (dailyQuestModel.TryGetOpenTime(dailyQuestId, out openTime))
            DailyQuestOpenTime dailyQuestOpenTime;
            if (dailyQuestModel.TryGetOpenTime((int)DailyQuestType.AllianceBoss, out dailyQuestOpenTime))
            {
                if (openTime.always)
                if (dailyQuestOpenTime.InOpenTime())
                {
                    m_OpenTime.text = Language.Get("DailyQuest_NoTimeLimit");
                    var seconds = 0;
                    HourMinute hourMinute;
                    if (dailyQuestOpenTime.TryGetTodayNearestOpenTime(out hourMinute))
                    {
                        var endTime = new DateTime(TimeUtility.Year, TimeUtility.Month, TimeUtility.Day,
                            hourMinute.hourEnd, hourMinute.minuteEnd, 0);
                        seconds = Mathf.CeilToInt((float)(endTime - TimeUtility.ServerNow).TotalSeconds);
                        seconds = Mathf.Max(0, seconds);
                    }
                    m_OpenTime.text = Language.Get("AllianceBoss_3", TimeUtility.SecondsToHMS(seconds));
                }
                else
                {
                    var week = (int)TimeUtility.ServerNow.DayOfWeek;
                    var openTimes = openTime.GetHourMinuteByWeek(week);
                    if (openTimes != null)
                    {
                        var stringArray = new string[openTimes.Count];
                        for (int i = 0; i < openTimes.Count; i++)
                        {
                            stringArray[i] = openTimes[i].ToString();
                        }
                        m_OpenTime.text = string.Join(",", stringArray);
                    }
                    var seconds = dailyQuestOpenTime.GetNextSessionSurplusTime();
                    m_OpenTime.text = Language.Get("AllianceBoss_2", TimeUtility.SecondsToHMS(seconds));
                }
            }
            switch ((DailyQuestType)dailyQuestId)
            {
                case DailyQuestType.AllianceBoss1:
                    m_Background.SetSprite("AllianceBossBG1");
                    break;
                case DailyQuestType.AllianceBoss2:
                    m_Background.SetSprite("AllianceBossBG2");
                    break;
            }
            var dungeon = dungeonModel.currentDungeon;
            var dungeonId = dungeonModel.GetDungeonId(dungeon);
            var dungeonConfig = DungeonConfig.Get(dungeonId);
            if (dungeonConfig != null)
            {
                var levelLimitMin = dungeonConfig.LVLimitMin;
                var playerLevel = PlayerDatas.Instance.baseData.LV;
                m_LimitLevel.text = levelLimitMin.ToString();
                m_LimitLevel.color = playerLevel >= levelLimitMin ? UIHelper.GetUIColor(TextColType.NavyBrown) : UIHelper.GetUIColor(TextColType.Red, true);
                m_Description.text = dungeonConfig.Description;
                for (int i = 0; i < m_Items.Length; i++)
                {
                    var behaviour = m_Items[i];
                    if (i < dungeonConfig.Rewards.Length)
                    {
                        behaviour.gameObject.SetActive(true);
                        behaviour.showCount = false;
                        behaviour.SetItem(dungeonConfig.Rewards[i], 0);
                    }
                    else
                    {
                        behaviour.gameObject.SetActive(false);
                    }
                }
            }
        }
        void DisplayEnterTimes()
        {
            var enterTimes = dailyQuestModel.GetDailyQuestCompletedTimes(dailyQuestId);
            var totalTimes = dailyQuestModel.GetDailyQuestTotalTimes(dailyQuestId);
            m_EnterTimes.text = StringUtility.Contact(totalTimes - enterTimes, "/", totalTimes);
            m_EnterTimes.color = (totalTimes - enterTimes) > 0 ? UIHelper.GetUIColor(TextColType.NavyBrown) : UIHelper.GetUIColor(TextColType.Red);
        }
        private void GotoAllianceBoss()
        {
            var error = 0;
            if (TestEnterAllianceBoss(dailyQuestId, out error))
            {
                if ((DailyQuestType)dailyQuestId == DailyQuestType.AllianceBoss1)
                {
                    dungeonModel.SingleChallenge(AllianceBossModel.DATAMAPID, 0);
                }
                else
                {
                    dungeonModel.SingleChallenge(AllianceBossModel.DATAMAPID, 1);
                }
            }
            else
            {
                DisplayErrorTip(error);
            }
        }
        bool TestEnterAllianceBoss(int id, out int error)
        {
            error = 0;
            var lineId = 0;
            var dungeonId = 0;
            switch ((DailyQuestType)id)
            {
                case DailyQuestType.AllianceBoss1:
                    lineId = 0;
                    break;
                case DailyQuestType.AllianceBoss2:
                    lineId = 1;
                    break;
            }
            dungeonId = dungeonModel.GetDungeonId(AllianceBossModel.DATAMAPID, lineId);
            var dungeonConfig = DungeonConfig.Get(dungeonId);
            if (dungeonConfig != null)
            {
                var playerLevel = PlayerDatas.Instance.baseData.LV;
                if (playerLevel < dungeonConfig.LVLimitMin)
                {
                    error = 1;
                    return false;
                }
            }
            if (CrossServerUtility.IsCrossServerBoss())
            {
                error = 3;
                return false;
            }
            if (allianceBossModel.isActivityOver)
            {
                error = 4;
                return false;
            }
            var dailyQuestState = dailyQuestModel.GetQuestState(dailyQuestId);
            if (dailyQuestState != DailyQuestModel.DailyQuestState.Normal)
            {
                error = 5;
                return false;
            }
            return true;
        }
        void DisplayErrorTip(int error)
        {
            switch (error)
            {
                case 1:
                    SysNotifyMgr.Instance.ShowTip("DemonJar_Text2");
                    break;
                case 2:
                    SysNotifyMgr.Instance.ShowTip("GeRen_chenxin_268121", AllianceBossModel.DATAMAPID);
                    break;
                case 3:
                    SysNotifyMgr.Instance.ShowTip("CrossMap10");
                    break;
                case 4:
                    SysNotifyMgr.Instance.ShowTip("AllianceBossDead");
                    break;
                case 5:
                    SysNotifyMgr.Instance.ShowTip("Join_Space_Lost");
                    break;
            }
        }
    }
System/FairyAu/AllianceBossModel.cs
@@ -8,6 +8,10 @@
    [XLua.Hotfix]
    public class AllianceBossModel : Model, IBeforePlayerDataInitialize, IPlayerLoginOk
    {
        List<int> m_BossIds = new List<int>();
        Dictionary<int, List<Item>> m_Items = new Dictionary<int, List<Item>>();
        Dictionary<int, AllianceBossLine> m_AllianceBossLines = new Dictionary<int, AllianceBossLine>();
        public const int DATAMAPID = 31260;
        public bool isActivityOver { get; private set; }
        public int participateLimit { get; private set; }
@@ -15,6 +19,7 @@
        public List<Item> inspireRewards { get; private set; }
        public event Action allianceBossStateRefresh;
        public event Action allianceBossLineRefresh;
        public override void Init()
        {
@@ -24,6 +29,7 @@
        public void OnBeforePlayerDataInitialize()
        {
            isActivityOver = false;
            m_AllianceBossLines.Clear();
        }
        public void OnPlayerLoginOk()
@@ -32,6 +38,21 @@
        public override void UnInit()
        {
        }
        public int GetBossNpcId(int index)
        {
            return index < m_BossIds.Count ? m_BossIds[index] : 0;
        }
        public bool TryGetItems(int index, out List<Item> items)
        {
            return m_Items.TryGetValue(index, out items);
        }
        public bool TryGetBossLine(int index, out AllianceBossLine bossLine)
        {
            return m_AllianceBossLines.TryGetValue(index, out bossLine);
        }
        void ParseConfig()
@@ -51,6 +72,30 @@
                    count = item[1],
                });
            }
            config = FuncConfigConfig.Get("AllianceBoss");
            m_BossIds.AddRange(ConfigParse.GetMultipleStr<int>(config.Numerical1));
            m_Items.Add(0, new List<Item>());
            var itemsArray = ConfigParse.GetMultipleStr<int>(config.Numerical2);
            for (int i = 0; i < itemsArray.Length; i++)
            {
                m_Items[0].Add(new Item()
                {
                    id = itemsArray[i],
                    count = 1,
                });
            }
            m_Items.Add(1, new List<Item>());
            itemsArray = ConfigParse.GetMultipleStr<int>(config.Numerical2);
            for (int i = 0; i < itemsArray.Length; i++)
            {
                m_Items[1].Add(new Item()
                {
                    id = itemsArray[i],
                    count = 1,
                });
            }
        }
        public void ReceivePackage(HA40C_tagGCAllFamilyBossInfo package)
@@ -61,6 +106,37 @@
                allianceBossStateRefresh();
            }
        }
        public void ReceivePackage(HA007_tagGCFBLinePlayerCnt package)
        {
            if (package.MapID != DATAMAPID)
            {
                return;
            }
            m_AllianceBossLines.Clear();
            for (int i = 0; i < package.Count; i++)
            {
                var data = package.FBLineInfoList[i];
                m_AllianceBossLines[data.FBLineID] = new AllianceBossLine()
                {
                    playerCount = data.PlayerCnt,
                    hp = int.Parse(data.ExtraStr)
                };
            }
            if (allianceBossLineRefresh != null)
            {
                allianceBossLineRefresh();
            }
        }
        public struct AllianceBossLine
        {
            public int playerCount;
            public int hp;
        }
    }
}
System/FindPrecious/LootPreciousFrameWin.cs
@@ -18,7 +18,10 @@
        [SerializeField] FunctionButton m_FairyGrabBoss;
        [SerializeField] FunctionButton m_DogzDungeon;
        [SerializeField] FunctionButton m_JadeDynastyBoss;
        [SerializeField] FunctionButton m_AllianceBoss;
        [SerializeField] FunctionButton m_RidingPetContention;
        [SerializeField] Transform m_NormalBottom;
        [SerializeField] Button m_Left;
        [SerializeField] Button m_Right;
@@ -36,6 +39,7 @@
            m_RidingPetContention.AddListener(ShowRidingPetContention);
            m_FairyGrabBoss.AddListener(FairyGrabBoss);
            m_JadeDynastyBoss.AddListener(JadeDynastyBoss);
            m_AllianceBoss.AddListener(AllianceBoss);
            m_Left.AddListener(ShowLastFunction);
            m_Right.AddListener(ShowNextFunction);
            m_Close.AddListener(CloseClick);
@@ -76,7 +80,10 @@
        private void ShowDemonJar()
        {
            CloseSubWindows();
            CloseSubWindows();
            m_NormalBottom.gameObject.SetActive(true);
            WindowCenter.Instance.Open<DemonJarWin>();
            functionOrder = m_DemonJar.order;
        }
@@ -91,6 +98,9 @@
        private void ShowDogzDungeon()
        {
            CloseSubWindows();
            m_NormalBottom.gameObject.SetActive(true);
            WindowCenter.Instance.Open<DogzDungeonWin>();
            functionOrder = m_DogzDungeon.order;
        }
@@ -109,8 +119,17 @@
            functionOrder = m_JadeDynastyBoss.order;
        }
        private void AllianceBoss()
        {
            CloseSubWindows();
            WindowCenter.Instance.Open<AllianceBossEntranceWin>();
            functionOrder = m_AllianceBoss.order;
        }
        private void CloseSubWindows()
        {
            m_NormalBottom.gameObject.SetActive(false);
            var children = WindowConfig.Get().FindChildWindows("LootPreciousFrameWin");
            foreach (var window in children)
            {
System/MainInterfacePanel/HeadPortraitTip.cs
@@ -14,7 +14,6 @@
    public class HeadPortraitTip : MonoBehaviour
    {
        [SerializeField] Image _Head;//人物头像
        [SerializeField] Text _BuffNumber;//Buff数量
        [SerializeField] Text _VipNumber;//Vip等级
@@ -37,32 +36,20 @@
        [SerializeField] UIEffect m_UieffectEmperor;//娲皇Buff
        [SerializeField] Image m_Shield;//护盾显示
        private int _hp = 0;//获取当前的血量
        private int _maxHp = 0;//获取最大血量
        private int _fighting = 0;//获取战斗;
        private int _ReincarnationLv = 0;//获取转生等级
        private int _jobType = 0;//获取顽疾职业
        [SerializeField] Text _TimeTxt;//时间
        [SerializeField] Slider _BatterySlider;//电量
        [SerializeField] Image m_WifiImg;//Wife
        [SerializeField] GameObject m_BatteryChong;//充电
        public float loadingTime = 1f;//时间刷新
        private float loadingtime = 0f;//默认时间
        VipModel m_VipModel;
        VipModel vipModel { get { return m_VipModel ?? (m_VipModel = ModelCenter.Instance.GetModel<VipModel>()); } }
        BuffModel m_BuffModel;
        BuffModel Buffmodel { get { return m_BuffModel ?? (m_BuffModel = ModelCenter.Instance.GetModel<BuffModel>()); } }
        PKModel m_PKModel;
        PKModel pKModel { get { return m_PKModel ?? (m_PKModel = ModelCenter.Instance.GetModel<PKModel>()); } }
        PlayerMainDate m_MainModel;
        PlayerMainDate onMainModel { get { return m_MainModel ?? (m_MainModel = ModelCenter.Instance.GetModel<PlayerMainDate>()); } }
        RolePromoteModel m_PromoteModel;
        RolePromoteModel promoteModel { get { return m_PromoteModel ?? (m_PromoteModel = ModelCenter.Instance.GetModel<RolePromoteModel>()); } }
        CapacityDelayModel m_CapacityDelayModel;
        CapacityDelayModel capacityDelayModel { get { return m_CapacityDelayModel ?? (m_CapacityDelayModel = ModelCenter.Instance.GetModel<CapacityDelayModel>()); } }
        VipModel vipModel { get { return ModelCenter.Instance.GetModel<VipModel>(); } }
        BuffModel Buffmodel { get { return ModelCenter.Instance.GetModel<BuffModel>(); } }
        PKModel pKModel { get { return ModelCenter.Instance.GetModel<PKModel>(); } }
        PlayerMainDate onMainModel { get { return ModelCenter.Instance.GetModel<PlayerMainDate>(); } }
        FairyGrabBossModel fairyGrabBossModel { get { return ModelCenter.Instance.GetModel<FairyGrabBossModel>(); } }
        private int vipExperienceSurplusTime = 0;
        private int GetLv = 0;//获取人物等级
        public void Init()
@@ -73,31 +60,33 @@
            TextSwitch(Buffmodel.PkType);
            OnElectricQuantity();
            OnNetworkState();
            RefreshVipActive();
            SetShieldNumber();//设置护盾值
            m_VipExperienceTween.Init();
            _TimeTxt.text = DateTime.Now.ToString("HH:mm");
            OnNetworkState();
            onBatteryStateChanged(SDKUtility.Instance.ChargingType);
            RefreshVipData();
            EmperorBuffEvent();
            _PatternBtn.SetListener(PatternButton);
            _BuffBtn.SetListener(BuffButton);
            _VIPBtn.onClick.AddListener(VIPButton);
            _HeadBtn.onClick.AddListener(HeadButton);
            _PromoteBtn.onClick.AddListener(OnPromoteBtn);
            PlayerDatas.Instance.playerDataRefreshEvent += Updatefighting;//数据的刷新(h0418)
            PlayerDatas.Instance.OnSwitchAttackMode += OnSwitchAttackMode;
            BuffModel.Even_ObjAddBuf += BuffGameObject;
            BuffModel.Even_ObjDelBuff += BuffGameObject;
            PlayerMainDate.ElectricQuantityEvent += OnElectricQuantity;
            OnNetworkState();
            PlayerMainDate.NetworkStateEvent += OnNetworkState;
            UIEventTrigger.Get(_PatternBtn.gameObject).OnUp = PatternButton;
            UIEventTrigger.Get(_BuffBtn.gameObject).OnUp = BuffButton;
            TimeMgr.Instance.OnSyntonyEvent += OnSyntonyEvent;
            onBatteryStateChanged(SDKUtility.Instance.ChargingType);
            SDKUtility.Instance.OnChargingTypeChanged += onBatteryStateChanged;
            vipModel.OnVipTimeEvent += RefreshVipData;
            PlayerMainDate.EmperorBuffEvent += EmperorBuffEvent;
            _VIPBtn.onClick.AddListener(VIPButton);
            _HeadBtn.onClick.AddListener(HeadButton);
            _PromoteBtn.onClick.AddListener(OnPromoteBtn);
            RefreshVipData();
            EmperorBuffEvent();
            bool IsBossBool = PlayerDatas.Instance.hero != null && MapArea.IsInMapArea(PlayerDatas.Instance.hero.CurMapArea, MapArea.E_Type.Boss);//是否在Boss区域
            if (PlayerDatas.Instance.baseData.MapID == 10040 && !IsBossBool)//关于逍遥城状态的特殊处理
            var inBossArea = PlayerDatas.Instance.hero != null && MapArea.IsInMapArea(PlayerDatas.Instance.hero.CurMapArea, MapArea.E_Type.Boss);//是否在Boss区域
            if (PlayerDatas.Instance.baseData.MapID == 10040 && !inBossArea)//关于逍遥城状态的特殊处理
            {
                if (Buffmodel.PkType != onMainModel.AreaState)
                {
@@ -119,9 +108,10 @@
            SDKUtility.Instance.OnChargingTypeChanged -= onBatteryStateChanged;
            vipModel.OnVipTimeEvent -= RefreshVipData;
            PlayerMainDate.EmperorBuffEvent -= EmperorBuffEvent;
            _VIPBtn.onClick.RemoveAllListeners();
            _HeadBtn.onClick.RemoveAllListeners();
            _PromoteBtn.onClick.RemoveAllListeners();
            _VIPBtn.RemoveAllListeners();
            _HeadBtn.RemoveAllListeners();
            _PromoteBtn.RemoveAllListeners();
            m_VipExperienceTween.UnInit();
        }
@@ -134,7 +124,6 @@
                    m_UieffectEmperor.Play();
                }
            }
        }
        private void CloseEmperorBufEffect()
@@ -151,20 +140,8 @@
        private void onBatteryStateChanged(SDKUtility.E_ChargingType arg0)
        {
            switch ((int)arg0)
            {
                case 0:
                case 1:
                    m_BatteryChong.SetActive(false);
                    break;
                case 2:
                case 3:
                    m_BatteryChong.SetActive(true);
                    break;
                default:
                    m_BatteryChong.SetActive(false);
                    break;
            }
            m_BatteryChong.gameObject.SetActive(arg0 == SDKUtility.E_ChargingType.ChargingFull
                || arg0 == SDKUtility.E_ChargingType.Charging);
        }
        private void OnNetworkState()
@@ -179,11 +156,11 @@
                    {
                        m_WifiImg.SetSprite("MainInterfaceWifiIcon3");
                    }
                    else if (onMainModel.WifiSignal > 1 && onMainModel.WifiSignal <= 3)
                    else if (onMainModel.WifiSignal <= 3)
                    {
                        m_WifiImg.SetSprite("MainInterfaceWifiIcon2");
                    }
                    else if (onMainModel.WifiSignal > 3)
                    else
                    {
                        m_WifiImg.SetSprite("MainInterfaceWifiIcon");
                    }
@@ -202,9 +179,9 @@
        private void OnSwitchAttackMode(E_AttackMode obj)//PK状态切换
        {
            TextSwitch((int)obj);
        }
        void PatternButton(GameObject obj)
        void PatternButton()
        {
            int mapID = PlayerDatas.Instance.baseData.MapID;
            var config = MapConfig.Get(mapID);
@@ -229,12 +206,12 @@
                    return;
                }
                if (onMainModel.ShieldedArea.Contains(mapID))//Boss争夺战前三只保底只能是和平模式
                {
                    SysNotifyMgr.Instance.ShowTip("Map_AtkType");
                    return;
                }
                if (onMainModel.ActivityList.Contains(PlayerDatas.Instance.baseData.MapID) && activityline != PlayerDatas.Instance.baseData.FBID)//再前四章新手地图且不在活动区域
                {
                    SysNotifyMgr.Instance.ShowTip("Map_AtkType");
@@ -252,32 +229,28 @@
                SysNotifyMgr.Instance.ShowTip("Map_AtkType");
            }
        }
        void TextSwitch(int _EnumType)
        {
            Image _PkImage = _PatternBtn.GetComponent<Image>();
            var _PkImage = _PatternBtn.GetComponent<Image>();
            switch (_EnumType)
            {
                case 0:
                    Buffmodel.PkType = 0;
                    _PkImage.SetSprite("Atk_Peace");//和平
                    break;
                case 1:
                    Buffmodel.PkType = 1;
                    _PkImage.SetSprite("Atk_All");//全体
                    break;
                case 2:
                    Buffmodel.PkType = 2;
                    break;
                case 3:
                    Buffmodel.PkType = 3;
                    break;
                case 4:
                    Buffmodel.PkType = 4;
                    break;
                case 5:
                    Buffmodel.PkType = 5;
@@ -299,7 +272,7 @@
            }
        }
        void BuffButton(GameObject obj)
        void BuffButton()
        {
            CloseEmperorBufEffect();
            WindowCenter.Instance.Open<BuffListWin>();
@@ -315,14 +288,6 @@
            WindowCenter.Instance.Close<MainInterfaceWin>();
            WindowCenter.Instance.Open<VipRechargeWin>(false, 1);
        }
        void CombatButton()
        {
            // DesignDebug.Log("战斗力提升");
            SysNotifyMgr.Instance.ShowTip("UnopenedFunction");
        }
        void HeadButton()
        {
@@ -346,45 +311,25 @@
                _BuffBtn.gameObject.SetActive(true);
                _BuffNumber.text = Count.ToString();
            }
        }
        void Initialize()//关于数据的初始化
        {
            GetLv = PlayerDatas.Instance.baseData.LV;
            _LVText.text = PlayerDatas.Instance.baseData.LV.ToString();//等级的初始化
            _Hp_number.text = PlayerDatas.Instance.baseData.HP.ToString() + "/" + PlayerDatas.Instance.extersion.MaxHP.ToString();//人物血量的初始化
            _hp = (int)PlayerDatas.Instance.baseData.HP;
            _maxHp = (int)PlayerDatas.Instance.extersion.MaxHP;
            if (_maxHp > 0)
            {
                _HPSlider.value = (float)Math.Round((float)_hp / _maxHp, 2, MidpointRounding.AwayFromZero);//血条的初始化
            }
            else
            {
                _HPSlider.value = 1f;
            }
            _fighting = (int)PlayerDatas.Instance.baseData.FightPoint;
            DisplayHp();
            _PowerNumbern.text = PlayerDatas.Instance.baseData.FightPoint.ToString();
            _jobType = (int)PlayerDatas.Instance.baseData.Job;
            HeadImage(PlayerDatas.Instance.baseData.Job, 0);//角色头像初始化
            JobTitle(PlayerDatas.Instance.baseData.Job, 1);
            VipImage(PlayerDatas.Instance.baseData.VIPLv);//获取Vip等级且赋值
            DisplayHead(PlayerDatas.Instance.baseData.Job, 0);//角色头像初始化
            DisplayVip(PlayerDatas.Instance.baseData.VIPLv);//获取Vip等级且赋值
        }
        void OnFightHpChange(uint hp)
        {
            _hp = (int)hp;
            _Hp_number.text = _hp.ToString() + "/" + _maxHp.ToString();
            _HPSlider.value = (float)Math.Round((float)_hp / _maxHp, 2, MidpointRounding.AwayFromZero);//血量条
        }
        void Updatefighting(PlayerDataType _tCDBPlayerRefresh)//数据的刷新
        void Updatefighting(PlayerDataType type)//数据的刷新
        {
            switch (_tCDBPlayerRefresh)
            switch (type)
            {
                case PlayerDataType.FightPower://战斗力的刷新83
                    _fighting = (int)PlayerDatas.Instance.baseData.FightPoint;
                    _PowerNumbern.text = PlayerDatas.Instance.baseData.FightPoint.ToString();
                    break;
                case PlayerDataType.LV://等级的刷新8
@@ -396,25 +341,11 @@
                    }
                    break;
                case PlayerDataType.MaxHP://最大血量的刷新28
                    _maxHp = (int)PlayerDatas.Instance.extersion.MaxHP;
                    _Hp_number.text = _hp.ToString() + "/" + _maxHp.ToString();
                    _HPSlider.value = (float)Math.Round((float)_hp / _maxHp, 2, MidpointRounding.AwayFromZero);//血量条
                    break;
                case PlayerDataType.HP://当前血量29
                    _hp = (int)PlayerDatas.Instance.baseData.HP;
                    _Hp_number.text = _hp.ToString() + "/" + _maxHp.ToString();
                    _HPSlider.value = (float)Math.Round((float)_hp / _maxHp, 2, MidpointRounding.AwayFromZero);//血量条
                    DisplayHp();
                    break;
                case PlayerDataType.VIPLv://关于VIP等级的刷新
                    RefreshVipActive();
                    VipImage((int)PlayerDatas.Instance.baseData.VIPLv);
                    break;
                case PlayerDataType.Job://玩家职业
                    _jobType = (int)PlayerDatas.Instance.baseData.Job;
                    JobTitle(_jobType, _ReincarnationLv);
                    break;
                case PlayerDataType.ExAttr1://获取转生等级
                    JobTitle(_jobType, 1);
                    DisplayVip((int)PlayerDatas.Instance.baseData.VIPLv);
                    break;
                case PlayerDataType.ExAttr4://当前护盾值
                    SetShieldNumber();
@@ -427,41 +358,43 @@
            }
        }
        void HeadImage(int _jobID, int _ReincarnationLv)//关于人物头像的赋值
        void DisplayHead(int _jobID, int _ReincarnationLv)//关于人物头像的赋值
        {
            _Head.SetSprite(GeneralDefine.GetJobHeadPortrait(_jobID, _ReincarnationLv));
        }
        void VipImage(int _vipID)//获取Vip等级且赋值
        void DisplayVip(int _vipID)//获取Vip等级且赋值
        {
            _VipNumber.text = vipModel.IsVipExperience() ? "1" : _vipID.ToString();
        }
        void JobTitle(int _Job, int _ReincarnationLv)//职业名称
        private void DisplayHp()
        {
            string str = _Job + "0" + _ReincarnationLv;
            int JobName = int.Parse(str);
            string Name = "";
            if (JobNameConfig.Get(JobName) != null)
            var hp = (int)PlayerDatas.Instance.baseData.HP;
            var maxHp = (int)PlayerDatas.Instance.extersion.MaxHP;
            _Hp_number.text = StringUtility.Contact(hp, "/", maxHp);
            if (maxHp > 0)
            {
                Name = JobNameConfig.Get(JobName).name;
                _HPSlider.value = (float)hp / maxHp;//血条的初始化
            }
            else
            {
                _HPSlider.value = 1f;
            }
        }
        private void RefreshVipData()
        {
            RefreshVipActive();
            var _hero = PlayerDatas.Instance.hero;
            bool _lifeBarShow = false;
            VipImage(PlayerDatas.Instance.baseData.VIPLv);
            if (_hero != null && _hero.SelectTarget != null)
            var hero = PlayerDatas.Instance.hero;
            var lifeBarShow = false;
            DisplayVip(PlayerDatas.Instance.baseData.VIPLv);
            if (hero != null && hero.SelectTarget != null)
            {
                _lifeBarShow = (_hero.SelectTarget is GA_NpcFightBoss) || (_hero.SelectTarget is GA_NpcClientFightBoss);
                lifeBarShow = (hero.SelectTarget is GA_NpcFightBoss) || (hero.SelectTarget is GA_NpcClientFightBoss);
            }
            vipExperienceImg.gameObject.SetActive(vipModel.IsVipExperience() && !_lifeBarShow);
            vipExperienceImg.gameObject.SetActive(vipModel.IsVipExperience() && !lifeBarShow);
            vipExperienceSurplusTime = Mathf.Max(0, (int)(vipModel.vipExperienceOverdue - TimeUtility.ServerNow).TotalSeconds);
            if (vipExperienceSurplusTime > 0)
            {
@@ -479,60 +412,53 @@
        {
            if (_type == TimeMgr.SyntonyType.VipExperirnceOverdue)
            {
                RefreshVipActive();
                VipImage(PlayerDatas.Instance.baseData.VIPLv);
                DisplayVip(PlayerDatas.Instance.baseData.VIPLv);
            }
        }
        private void RefreshVipActive()
        {
            //             _VipNumber.material = (vipModel.IsVipActive() || vipModel.IsVipExperience()) ?
            //                 MaterialUtility.GetUIDefaultGraphicMaterial() : MaterialUtility.GetDefaultSpriteGrayMaterial();
            //             _VIPBtn.image.material = (vipModel.IsVipActive() || vipModel.IsVipExperience()) ?
            //                 MaterialUtility.GetUIDefaultGraphicMaterial() : MaterialUtility.GetDefaultSpriteGrayMaterial();
        }
        private void LateUpdate()
        {
            loadingtime += Time.deltaTime;
            if (loadingtime >= loadingTime)
            if (loadingtime >= 1f)
            {
                _TimeTxt.text = DateTime.Now.ToString("HH:mm");
                loadingtime = 0f;
            }
            if (vipExperienceSurplusTime <= 0)
                return;
            var _surplusTime = Mathf.Max(0, (int)(vipModel.vipExperienceOverdue - TimeUtility.ServerNow).TotalSeconds);
            if (vipExperienceSurplusTime != _surplusTime)
            {
                vipExperienceSurplusTime = _surplusTime;
                return;
            }
            var surplusTime = Mathf.Max(0, (int)(vipModel.vipExperienceOverdue - TimeUtility.ServerNow).TotalSeconds);
            if (vipExperienceSurplusTime != surplusTime)
            {
                vipExperienceSurplusTime = surplusTime;
                RefreshVipExperienceTime();
            }
            if (vipExperienceSurplusTime == 0)
            {
                RefreshVipData();
            }
        }
        private void SetShieldNumber()//护盾值设置
        {
            if (PlayerDatas.Instance.extersion.MaxProDef != 0)
            {
                int MaxProDef = PlayerDatas.Instance.extersion.MaxProDef;//最大值
                int ExAttr4 = (int)PlayerDatas.Instance.baseData.shield;//当前值
                float fillAmount = (float)Math.Round((double)ExAttr4 / MaxProDef, 2, MidpointRounding.AwayFromZero);
                var MaxProDef = PlayerDatas.Instance.extersion.MaxProDef;//最大值
                var ExAttr4 = (int)PlayerDatas.Instance.baseData.shield;//当前值
                var fillAmount = (float)ExAttr4 / MaxProDef;
                m_Shield.fillAmount = fillAmount;
            }
            else
            {
                m_Shield.fillAmount = 0f;
            }
        }
    }
}
System/WindowJump/WindowJumpMgr.cs
@@ -703,14 +703,7 @@
                SetJumpLogic<RankPanel>(_tagWinSearchModel.TABID);
                break;
            case JumpUIType.AllianceBoss1:
                AllianceBossEntranceWin.dailyQuestId = (int)DailyQuestType.AllianceBoss1;
                dungeonModel.currentDungeon = new Dungeon(AllianceBossModel.DATAMAPID, 0);
                SetJumpLogic<AllianceBossEntranceWin>();
                break;
            case JumpUIType.AllianceBoss2:
                AllianceBossEntranceWin.dailyQuestId = (int)DailyQuestType.AllianceBoss2;
                dungeonModel.currentDungeon = new Dungeon(AllianceBossModel.DATAMAPID, 1);
                SetJumpLogic<AllianceBossEntranceWin>();
                SetJumpLogic<LootPreciousFrameWin>(_tagWinSearchModel.TABID);
                break;
            case JumpUIType.FairyAuction:
                SetJumpLogic<AuctionHouseWin>(_tagWinSearchModel.TABID);
@@ -1086,7 +1079,6 @@
                }
                break;
            case JumpUIType.AllianceBoss1:
            case JumpUIType.AllianceBoss2:
                if (!PlayerDatas.Instance.fairyData.HasFairy)
                {
                    SysNotifyMgr.Instance.ShowTip("DailyQuestwinUnionLimit");
Utility/EnumHelper.cs
@@ -289,8 +289,7 @@
    DungeonAssist = 29,
    GatherSoulDungeon = 30,
    CrossServerPk = 31,
    AllianceBoss1 = 32,
    AllianceBoss2 = 33,
    AllianceBoss = 32,
    HazyRegion = 35,
    //JadeDynastyBoss = 32,--诛仙功能暂时关闭
    //JadeDynastyTower = 33,