少年修仙传客户端代码仓库
client_linchunjie
2019-05-24 aa48354db07996eaa7eea3820282e97b8aebbd3e
3675 【BUG】【2.0】骑宠争夺已被击杀Boss血量显示异常,前往按钮无反馈信息
5个文件已修改
91 ■■■■■ 已修改文件
Core/GameEngine/DataToCtl/PackageRegedit.cs 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Lua/Gen/SnxxzUIRidingPetBossModelWrap.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/RidingPet/ContainerRidingPet.cs 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/RidingPet/RidingPetBossModel.cs 21 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/RidingPet/RidingPetContentionWin.cs 26 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/DataToCtl/PackageRegedit.cs
@@ -25,7 +25,8 @@
    public static void Init()
    {
        // 登记相应的数据体及对应的数据转逻辑类
        Register(typeof(HB216_tagMCStartCustomSceneResult), typeof(DTCB216_tagMCStartCustomSceneResult));
        Register(typeof(HAC07_tagGCHorsePetBossInfo), typeof(DTCAC07_tagGCHorsePetBossInfo));
        Register(typeof(HB216_tagMCStartCustomSceneResult), typeof(DTCB216_tagMCStartCustomSceneResult));
        Register(typeof(HA905_tagGCNotifyEquipDetailInfo), typeof(DTCA905_tagGCNotifyEquipDetailInfo));
        Register(typeof(HA719_tagSCPlayerEquipCacheResult) ,typeof(DTCA719_tagSCPlayerEquipCacheResult));
        Register(typeof(HB108_tagMCYinjiStartTime) ,typeof(DTCB108_tagMCYinjiStartTime));
Lua/Gen/SnxxzUIRidingPetBossModelWrap.cs
@@ -33,7 +33,6 @@
            
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "GetRidingPetBossLineDictAction", _e_GetRidingPetBossLineDictAction);
            
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "isActivityOver", _g_get_isActivityOver);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "BossIDArray", _g_get_BossIDArray);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "Boss1RewardIDArray", _g_get_Boss1RewardIDArray);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "Boss2RewardIDArray", _g_get_Boss2RewardIDArray);
@@ -295,22 +294,6 @@
            
        }
        
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _g_get_isActivityOver(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.RidingPetBossModel gen_to_be_invoked = (Snxxz.UI.RidingPetBossModel)translator.FastGetCSObj(L, 1);
                LuaAPI.lua_pushboolean(L, gen_to_be_invoked.isActivityOver);
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return 1;
        }
        
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _g_get_BossIDArray(RealStatePtr L)
System/RidingPet/ContainerRidingPet.cs
@@ -20,7 +20,7 @@
        [SerializeField] RawImage m_BossRawImage;
        DailyQuestModel dailyQuestModel { get { return ModelCenter.Instance.GetModel<DailyQuestModel>(); } }
        
        RidingPetBossModel ridingPetMdoel { get { return ModelCenter.Instance.GetModel<RidingPetBossModel>(); } }
        RidingPetBossModel model { get { return ModelCenter.Instance.GetModel<RidingPetBossModel>(); } }
        //public int RawImagetestBossID = 50103006;
        public RewardPositionType rewardPositonType;
        [SerializeField] ItemCell[] m_RewardArray;
@@ -34,8 +34,8 @@
        public void DisplayBossRawImage()
        {
            var config = NPCConfig.Get(ridingPetMdoel.BossIDArray[0]);
            UI3DModelExhibition.Instance.ShowNPC(ridingPetMdoel.BossIDArray[0], config.UIModeLOffset, config.UIModelRotation, m_BossRawImage);
            var config = NPCConfig.Get(model.BossIDArray[0]);
            UI3DModelExhibition.Instance.ShowNPC(model.BossIDArray[0], config.UIModeLOffset, config.UIModelRotation, m_BossRawImage);
        }
        public void StopShowBossRawImage()
@@ -50,13 +50,24 @@
        public void DisplayAnotherBossRawImage()
        {
            var config = NPCConfig.Get(ridingPetMdoel.BossIDArray[1]);
            UI3DModelExhibition.InstanceClone1.ShowNPC(ridingPetMdoel.BossIDArray[1], config.UIModeLOffset, config.UIModelRotation, m_BossRawImage);
            var config = NPCConfig.Get(model.BossIDArray[1]);
            UI3DModelExhibition.InstanceClone1.ShowNPC(model.BossIDArray[1], config.UIModeLOffset, config.UIModelRotation, m_BossRawImage);
        }
        public void DisplaySpiritPetHP()
        {
            m_ActivityInfo.text = Language.Get("RidingPetBossRemainHP", ModelCenter.Instance.GetModel<RidingPetBossModel>().GetBossRemianedHP(bossIdIndex));
            var hp = model.GetBossRemianedHP(bossIdIndex);
            var alive = model.IsBossAlive(bossIdIndex);
            if (!alive)
            {
                m_ActivityInfo.text = Language.Get("AllianceBoss_1");
                m_ActivityInfo.color = UIHelper.GetUIColor(TextColType.Red);
            }
            else
            {
                m_ActivityInfo.text = Language.Get("RidingPetBossRemainHP", hp);
                m_ActivityInfo.color = UIHelper.GetUIColor(TextColType.White);
            }
        }
        public void DisplayActivityTime()
@@ -66,6 +77,7 @@
            HourMinute hourMin;
            dailyQuestOpentime.TryGetNextOpenTime(out hourMin);
            m_ActivityInfo.text = Language.Get("RidingPetBossQuestTime", "<color=red>"+hourMin.hourBegin+":"+hourMin.minuteBegin+"</color>");
            m_ActivityInfo.color = UIHelper.GetUIColor(TextColType.White);
        }
        public void DisplayRewardItem()
System/RidingPet/RidingPetBossModel.cs
@@ -8,16 +8,21 @@
    [XLua.Hotfix]
    public class RidingPetBossModel : Model, IBeforePlayerDataInitialize, IPlayerLoginOk
    {
        Dictionary<int, bool> m_BossAliceStates = new Dictionary<int, bool>();
        public const int RIDINGPETBOSS_MAP = 31200;
        public int[] BossIDArray;
        public int[] Boss1RewardIDArray;
        public int[] Boss2RewardIDArray;
        public bool isActivityOver { get; private set; }
        public const int RIDINGPETBOSS_MAP = 31200;
        Dictionary<int, RidingPetBossLine> RidingPetBossLineDict = new Dictionary<int, RidingPetBossLine>();
        private string m_MountsBossID;
        private string m_Boss1RewardID;
        private string m_Boss2RewardID;
        public event Action GetRidingPetBossLineDictAction;
        public event Action onBossStateRefresh;
@@ -33,6 +38,7 @@
        public void OnBeforePlayerDataInitialize()
        {
            m_BossAliceStates.Clear();
        }
        public void OnPlayerLoginOk()
@@ -47,9 +53,11 @@
        public void ReceivePackage(HAC07_tagGCHorsePetBossInfo package)
        {
            if (package.IsEnd == 1)
            m_BossAliceStates[0] = !MathUtility.GetBitValue(package.IsEnd, 0);
            m_BossAliceStates[1] = !MathUtility.GetBitValue(package.IsEnd, 1);
            if (onBossStateRefresh != null)
            {
                isActivityOver = true;
                onBossStateRefresh();
            }
        }
@@ -93,6 +101,11 @@
                return RidingPetBossLineDict[index].remainedHP;
            }
        }
        public bool IsBossAlive(int index)
        {
            return m_BossAliceStates.ContainsKey(index) ? m_BossAliceStates[index] : false;
        }
    }
    public struct RidingPetBossLine
System/RidingPet/RidingPetContentionWin.cs
@@ -1,4 +1,5 @@
using System.Collections;
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
@@ -46,10 +47,15 @@
        protected override void OnPreClose()
        {
            ridingPetBossModel.GetRidingPetBossLineDictAction -= GetRidingBossDictPackageAction;
            ridingPetBossModel.onBossStateRefresh -= OnBossStateRefresh;
        }
        protected override void OnPreOpen()
        {
            m_ContainerMounts.bossIdIndex = 0;
            m_ContainerSpiritPet.bossIdIndex = 1;
            m_ContainerMounts.DisplayBossName();
            m_ContainerSpiritPet.DisplayBossName();
            
@@ -57,12 +63,22 @@
            mapModel.RequestQueryMapLineState(RidingPetBossModel.RIDINGPETBOSS_MAP);
            GetRidingBossDictPackageAction();
            m_ContainerMounts.DisplayBossRawImage();
            m_ContainerSpiritPet.DisplayAnotherBossRawImage();
            m_ContainerMounts.DisplayRewardItem();
            m_ContainerSpiritPet.DisplayRewardItem();
            WindowCenter.Instance.windowBeforeCloseEvent += WindowBeforeCloseEvent;
            ridingPetBossModel.onBossStateRefresh += OnBossStateRefresh;
            UpdateRidingPetBottomTip();
        }
        private void OnBossStateRefresh()
        {
            GetRidingBossDictPackageAction();
        }
        private void WindowBeforeCloseEvent(Window _window)
@@ -107,8 +123,12 @@
                case DailyQuestModel.DailyQuestState.Normal:
                    m_ContainerMounts.DisplaySpiritPetHP();
                    m_ContainerSpiritPet.DisplaySpiritPetHP();
                    m_MountsGoToButton.SetInteractable(m_MountGotoLabel, true);
                    m_SpiritPetGoToButton.SetInteractable(m_PetGotoLabel, true);
                    var isMountAlive = ridingPetBossModel.IsBossAlive(m_ContainerMounts.bossIdIndex);
                    var isPetAlive = ridingPetBossModel.IsBossAlive(m_ContainerSpiritPet.bossIdIndex);
                    m_MountsGoToButton.SetInteractable(m_MountGotoLabel, isMountAlive);
                    m_SpiritPetGoToButton.SetInteractable(m_PetGotoLabel, isPetAlive);
                    break;
                default:
                    m_ContainerMounts.DisplayActivityTime();