少年修仙传客户端代码仓库
client_linchunjie
2019-01-21 ed558b5c3884fce384d4b125a6fecd52e23cf7c8
5923 【前端】【1.5.100】诛仙Boss功能
6个文件已修改
190 ■■■■ 已修改文件
System/Dungeon/DungeonBuyTimesWin.cs 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Dungeon/DungeonInspireBehaviour.cs 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/JadeDynastyBoss/JadeDynastyBossModel.cs 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/JadeDynastyBoss/JadeDynastyBossVictoryWin.cs 94 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/JadeDynastyBoss/JadeDynastyBossWin.cs 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Utility/EnumHelper.cs 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Dungeon/DungeonBuyTimesWin.cs
@@ -198,6 +198,13 @@
                    MessageWin.Inst.ShowFixedTip(Language.Get("DemonJar18"));
                    return false;
                }
                var mapId = PlayerDatas.Instance.baseData.MapID;
                var dataMapId = model.GetDataMapIdByMapId(mapId);
                if (dataMapId == JadeDynastyBossModel.JADEDYNASTY_MAP)
                {
                    SysNotifyMgr.Instance.ShowTip("JadeDynastyBossBuyTimesError");
                    return false;
                }
            }
            return true;
        }
System/Dungeon/DungeonInspireBehaviour.cs
@@ -54,6 +54,7 @@
            switch (mapId)
            {
                case DemonJarModel.DEMONJAR_MAPID:
                case JadeDynastyBossModel.JADEDYNASTY_MAP:
                    m_Icon.SetSprite("W_XYGuwu_a2");
                    break;
                default:
@@ -71,7 +72,7 @@
                && level < model.GetInspireMaxCount(mapId);
            if (m_InspireProgress != null)
            {
                m_InspireProgress.gameObject.SetActive(PlayerDatas.Instance.baseData.MapID == DemonJarModel.DEMONJAR_MAPID);
                m_InspireProgress.gameObject.SetActive(IsRequireDisplayProgress());
                m_InspireProgress.text = StringUtility.Contact(level * model.GetDungeonInspireUpper(mapId), "%");
            }
            if (!m_Waggle)
@@ -103,6 +104,12 @@
            }
        }
        private bool IsRequireDisplayProgress()
        {
            return PlayerDatas.Instance.baseData.MapID == DemonJarModel.DEMONJAR_MAPID
                || PlayerDatas.Instance.baseData.MapID == JadeDynastyBossModel.JADEDYNASTY_MAP;
        }
        private void ResetTween()
        {
            m_Time = 0;
System/JadeDynastyBoss/JadeDynastyBossModel.cs
@@ -19,8 +19,29 @@
        public event Action<int> selectBossRefresh;
        public event Action bossLineRefresh;
        public event Action assistTimeRefresh;
        public event Action jadeDynastyScoreRefresh;
        public int jadeDynastyScore { get; private set; }
        public ulong jadeDynastyScore
        {
            get
            {
                ulong score = 0;
                SinglePackModel singlePackModel = packModel.GetSinglePackModel(PackType.rptJadeDynastyEquip);
                if (singlePackModel != null)
                {
                    Dictionary<int, ItemModel> equipBodyDict = singlePackModel.GetPackModelIndexDict();
                    if (equipBodyDict != null && equipBodyDict.Count > 0)
                    {
                        foreach (var _equip in equipBodyDict.Values)
                        {
                            score += (ulong)_equip.equipScore;
                        }
                    }
                }
                return score;
            }
        }
        public int challengeLimitCount { get; private set; }
        public int challengeTimes { get; private set; }
        public int assistTimes { get; private set; }
@@ -49,17 +70,18 @@
        MapModel mapModel { get { return ModelCenter.Instance.GetModel<MapModel>(); } }
        DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }
        FindPreciousModel findPreciousModel { get { return ModelCenter.Instance.GetModel<FindPreciousModel>(); } }
        PlayerPackModel packModel { get { return ModelCenter.Instance.GetModel<PlayerPackModel>(); } }
        public override void Init()
        {
            ParseConfig();
            dungeonModel.dungeonRecordChangeEvent += OnDungeonRecordUpdate;
            dungeonModel.updateDungeonBuyCnt += OnDungeonBuyCount;
            FuncOpen.Instance.OnFuncStateChangeEvent += OnFuncStateChangeEvent;
            packModel.RefreshItemCountAct += RefreshItemCountAct;
        }
        public void OnBeforePlayerDataInitialize()
        {
            jadeDynastyScore = 100000000;
            jadeDynastyBossLineDict.Clear();
            challengeTimes = 0;
            assistTimes = 0;
@@ -79,6 +101,7 @@
            dungeonModel.dungeonRecordChangeEvent -= OnDungeonRecordUpdate;
            dungeonModel.updateDungeonBuyCnt -= OnDungeonBuyCount;
            FuncOpen.Instance.OnFuncStateChangeEvent -= OnFuncStateChangeEvent;
            packModel.RefreshItemCountAct -= RefreshItemCountAct;
        }
        void ParseConfig()
@@ -154,7 +177,7 @@
                    condition = 2;
                    return false;
                }
                if (jadeDynastyScore < challengeCondition.score)
                if (jadeDynastyScore < (ulong)challengeCondition.score)
                {
                    condition = 3;
                    return false;
@@ -384,6 +407,18 @@
            }
        }
        private void RefreshItemCountAct(PackType packType, int arg2, int arg3)
        {
            if (packType == PackType.rptJadeDynastyEquip)
            {
                UpdateRedpoint();
                if (jadeDynastyScoreRefresh != null)
                {
                    jadeDynastyScoreRefresh();
                }
            }
        }
        void UpdateRedpoint()
        {
            if (FuncOpen.Instance.IsFuncOpen(FUNCTIONID))
System/JadeDynastyBoss/JadeDynastyBossVictoryWin.cs
@@ -179,62 +179,52 @@
        private int RewardSort(Item _lhs, Item _rhs)
        {
            var config1 = Config.Instance.Get<ItemConfig>(_lhs.id);
            var config2 = Config.Instance.Get<ItemConfig>(_rhs.id);
            var islhsJadeDynastyEquip = IsJadeDynastyEquip(_lhs);
            var isrhsJadeDynastyEquip = IsJadeDynastyEquip(_rhs);
            if (islhsJadeDynastyEquip != isrhsJadeDynastyEquip)
            {
                return -islhsJadeDynastyEquip.CompareTo(isrhsJadeDynastyEquip);
            }
            var islhsJadeDynasty126 = IsJadeDynasty126(_lhs);
            var isrhsJadeDynasty126 = IsJadeDynasty126(_rhs);
            if (islhsJadeDynasty126 == isrhsJadeDynasty126
                && islhsJadeDynasty126)
            {
                return _lhs.id.CompareTo(_rhs.id);
            }
            else if (islhsJadeDynasty126 != isrhsJadeDynasty126)
            {
                return -islhsJadeDynasty126.CompareTo(isrhsJadeDynasty126);
            }
            var lhsConfig = Config.Instance.Get<ItemConfig>(_lhs.id);
            var rhsConfig = Config.Instance.Get<ItemConfig>(_rhs.id);
            if (lhsConfig != null && rhsConfig != null)
            {
                return -lhsConfig.ItemColor.CompareTo(rhsConfig.ItemColor);
            }
            return 0;
        }
            var isEquip1 = config1.EquipPlace != 0;
            var isEquip2 = config2.EquipPlace != 0;
        bool IsJadeDynastyEquip(Item item)
        {
            var config = Config.Instance.Get<ItemConfig>(item.id);
            var type = 0;
            if (config != null)
            {
                type = config.Type;
            }
            return type >= 128 && type <= 137;
        }
            if (!isEquip1 && isEquip2)
        bool IsJadeDynasty126(Item item)
        {
            var config = Config.Instance.Get<ItemConfig>(item.id);
            var type = 0;
            if (config != null)
            {
                return -1;
                type = config.Type;
            }
            else if (isEquip1 && !isEquip2)
            {
                return 1;
            }
            else if (!isEquip1 && !isEquip2)
            {
                if (config1.Type == 13 && config2.Type != 13)
                {
                    return -1;
                }
                else if (config1.Type != 13 && config2.Type == 13)
                {
                    return 1;
                }
                else
                {
                    return config1.ItemColor > config2.ItemColor ? -1 : 1;
                }
            }
            else
            {
                if ((config1.Type == 108 || config1.Type == 109) && (config2.Type != 108 && config2.Type != 109))
                {
                    return -1;
                }
                else if ((config1.Type != 108 && config1.Type == 109) && (config2.Type == 108 || config2.Type == 109))
                {
                    return 1;
                }
                else
                {
                    if (config1.ItemColor != config2.ItemColor)
                    {
                        return config2.ItemColor.CompareTo(config1.ItemColor);
                    }
                    else if (config1.StarLevel != config2.StarLevel)
                    {
                        return config2.StarLevel.CompareTo(config1.StarLevel);
                    }
                    else
                    {
                        return config2.LV.CompareTo(config1.LV);
                    }
                }
            }
            return type == 126;
        }
        private void GenerateRewardBehaviour(RectTransform _parent, int _needCount)
System/JadeDynastyBoss/JadeDynastyBossWin.cs
@@ -90,6 +90,7 @@
            findPreciousModel.bossInfoUpdateEvent += BossInfoUpdateEvent;
            model.bossLineRefresh += BossLineRefresh;
            model.assistTimeRefresh += AssistTimeRefresh;
            model.jadeDynastyScoreRefresh += JadeDynastyScoreRefresh;
        }
        protected override void OnPreClose()
@@ -101,6 +102,7 @@
            findPreciousModel.bossInfoUpdateEvent -= BossInfoUpdateEvent;
            model.bossLineRefresh -= BossLineRefresh;
            model.assistTimeRefresh -= AssistTimeRefresh;
            model.jadeDynastyScoreRefresh -= JadeDynastyScoreRefresh;
            refreshBossStateTime = -1f;
        }
@@ -313,6 +315,11 @@
            DisplayChallengeTimes();
        }
        private void JadeDynastyScoreRefresh()
        {
            DisplayJadeDynastyScore();
        }
        private void BuyTimes()
        {
            var totalTimes = dungeonModel.GetTotalTimes(JadeDynastyBossModel.JADEDYNASTY_MAP);
@@ -320,6 +327,14 @@
            if ((totalTimes - enterTimes) >= model.challengeLimitCount)
            {
                MessageWin.Inst.ShowFixedTip(Language.Get("DemonJar18"));
                return;
            }
            var mapId = PlayerDatas.Instance.baseData.MapID;
            var dataMapId = dungeonModel.GetDataMapIdByMapId(mapId);
            if (dataMapId == JadeDynastyBossModel.JADEDYNASTY_MAP)
            {
                SysNotifyMgr.Instance.ShowTip("JadeDynastyBossBuyTimesError");
                return;
            }
            else
            {
Utility/EnumHelper.cs
@@ -378,6 +378,18 @@
    retFashionWeapon = 20,//时装武器
    retFashionClothes = 21,//时装衣服
    retFashionWeapon2 = 22,//时装副手
    JadeDynasty_Cloak = 121, //诛仙披风
    JadeDynasty_FaceMask = 122, //诛仙面罩
    JadeDynasty_Glove1 = 123, //诛仙手套
    JadeDynasty_Glove2 = 124, //诛仙手套
    JadeDynasty_Ruyi = 125, //诛仙如意
    JadeDynasty_Pendant = 126, //诛仙吊坠
    JadeDynasty_Ring1 = 127, //诛仙戒指
    JadeDynasty_Ring2 = 128, //诛仙戒指
    JadeDynasty_Sword1 = 129, //诛仙剑
    JadeDynasty_Sword2 = 130, //戮仙剑
    JadeDynasty_Sword3 = 131, //陷仙剑
    JadeDynasty_Sword4 = 132, //绝仙剑
    retMax,
};
@@ -653,6 +665,8 @@
    rptPetPack = 31, //宠物背包
    rptDogzItem = 32, //神兽物品背包
    rptDogzEquip = 33, //神兽装备背包(神兽穿戴)
    rptJadeDynastyItem = 34, //诛仙物品背包
    rptJadeDynastyEquip = 35,//诛仙装备背包(诛仙穿戴)
    rptBlastFrunacePack = 253, //炼丹背包
    rptGatherSoul = 254,//聚魂
    rptRunePack = 255,//符印背包
@@ -682,6 +696,16 @@
    Accessories4,// 配饰4
    Accessories5,// 配饰5
    Accessories6,// 配饰6
    JadeDynasty_Cloak = 128, //诛仙披风
    JadeDynasty_FaceMask = 129, //诛仙面罩
    JadeDynasty_Glove = 130, //诛仙手套
    JadeDynasty_Ruyi = 131, //诛仙如意
    JadeDynasty_Pendant = 132, //诛仙吊坠
    JadeDynasty_Ring = 133, //诛仙戒指
    JadeDynasty_Sword1 = 134, //诛仙剑
    JadeDynasty_Sword2 = 135, //戮仙剑
    JadeDynasty_Sword3 = 136, //陷仙剑
    JadeDynasty_Sword4 = 137, //绝仙剑
}
/** 物品类型 */