少年修仙传客户端代码仓库
client_linchunjie
2019-03-12 9f02bfd6a3c4c14df0a0d63fb51b4d3e6d7e8a3e
6292 【前端】【2.0】限时仙盟boss(鼓舞修改)
6个文件已修改
2个文件已添加
218 ■■■■■ 已修改文件
System/DailyQuest/DailyQuestModel.cs 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Dungeon/DungeonData.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Dungeon/DungeonInspireBehaviour.cs 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FairyAu/AllianceBossEntranceWin.cs 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FairyAu/AllianceBossHintWin.cs 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FairyAu/AllianceBossInspireWin.cs 158 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FairyAu/AllianceBossInspireWin.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FairyAu/AllianceBossModel.cs 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/DailyQuest/DailyQuestModel.cs
@@ -611,6 +611,8 @@
                                    }
                                    break;
                                case DailyQuestType.FairyGrabBoss:
                                case DailyQuestType.AllianceBoss1:
                                case DailyQuestType.AllianceBoss2:
                                    if (dailyQuestState == DailyQuestState.Normal)
                                    {
                                        dailyQuest.redpoint.state = completedTimes >= totalTimes ? RedPointState.None : RedPointState.Simple;
@@ -845,7 +847,7 @@
                    {
                        return DailyQuestState.Completed;
                    }
                    break;
                    return DailyQuestState.Normal;
            }
            var completedTimes = GetDailyQuestCompletedTimes(_dailyQuestId);
System/Dungeon/DungeonData.cs
@@ -126,6 +126,7 @@
        public int prepareTime;     //跨服1Vs1 回合结束倒计时
        public int isStart;        //跨服1Vs1回合开始
        public int PlayerEnterMap; //判断玩家ID不是自己则清除等待时间显示
        public int IsEncourage;//是否鼓舞
        public long totalExp
        {
            get
System/Dungeon/DungeonInspireBehaviour.cs
@@ -126,7 +126,21 @@
                SysNotifyMgr.Instance.ShowTip("Xjmj_InspireMaxLevel");
                return;
            }
            WindowCenter.Instance.Open<DungeonInspireWin>();
            var dataMapId = model.GetDataMapIdByMapId(PlayerDatas.Instance.baseData.MapID);
            switch (dataMapId)
            {
                case AllianceBossModel.DATAMAPID:
                    if (model.mission.IsEncourage == 1)
                    {
                        SysNotifyMgr.Instance.ShowTip("Xjmj_InspireMaxLevel");
                        return;
                    }
                    WindowCenter.Instance.Open<AllianceBossInspireWin>();
                    break;
                default:
                    WindowCenter.Instance.Open<DungeonInspireWin>();
                    break;
            }
        }
        private void OnDisable()
System/FairyAu/AllianceBossEntranceWin.cs
@@ -183,14 +183,6 @@
                }
            }
            var completedTimes = dailyQuestModel.GetDailyQuestCompletedTimes(dailyQuestId);
            var totalTimes = dailyQuestModel.GetDailyQuestTotalTimes(dailyQuestId);
            if (completedTimes >= totalTimes)
            {
                error = 2;
                return false;
            }
            if (CrossServerUtility.IsCrossServerBoss())
            {
                error = 3;
System/FairyAu/AllianceBossHintWin.cs
@@ -100,7 +100,9 @@
        private void UpdateMissionEvent()
        {
            Display();
            DisplayProgress();
            DisplayHurtRank();
            DisplayAlliance();
        }
        [Serializable]
System/FairyAu/AllianceBossInspireWin.cs
New file
@@ -0,0 +1,158 @@
//--------------------------------------------------------
//    [Author]:           第二世界
//    [  Date ]:           Tuesday, March 12, 2019
//--------------------------------------------------------
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
namespace Snxxz.UI
{
    public class AllianceBossInspireWin : Window
    {
        [SerializeField] Text m_Remind;
        [SerializeField] Text m_InspireHurt;
        [SerializeField] ItemBehaviour[] m_Items;
        [SerializeField] Text m_InspireLevel;
        [SerializeField] Button m_Inspire;
        [SerializeField] Button m_Close;
        DungeonInspireConfig inspireConfig = null;
        DungeonModel model { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }
        AllianceBossModel allianceBossModel { get { return ModelCenter.Instance.GetModel<AllianceBossModel>(); } }
        protected override void BindController()
        {
        }
        protected override void AddListeners()
        {
            m_Inspire.AddListener(Inspire);
            m_Close.AddListener(CloseClick);
        }
        protected override void OnPreOpen()
        {
            model.dungeonInspireLvEvent += DungeonInspireLvEvent;
            model.updateMissionEvent += UpdateMissionEvent;
            var inspireConfigs = model.GetDungeonInspire(AllianceBossModel.DATAMAPID);
            inspireConfig = inspireConfigs[0];
            Display();
        }
        protected override void OnAfterOpen()
        {
        }
        protected override void OnPreClose()
        {
            model.dungeonInspireLvEvent -= DungeonInspireLvEvent;
            model.updateMissionEvent -= UpdateMissionEvent;
        }
        protected override void OnAfterClose()
        {
        }
        void Display()
        {
            DisplayRemind();
            DisplayInspireHurt();
            DisplayRewards();
            DisplayInspireLevel();
        }
        void DisplayRemind()
        {
            var singleHurt = model.GetDungeonInspireUpper(AllianceBossModel.DATAMAPID);
            var maxCount = model.GetInspireMaxCount(AllianceBossModel.DATAMAPID);
            m_Remind.text = Language.Get("AllianceBossInspireRemind", singleHurt, maxCount * singleHurt);
        }
        void DisplayInspireHurt()
        {
            var currentLevel = model.GetDungeonInspireLevel();
            var singleHurt = model.GetDungeonInspireUpper(AllianceBossModel.DATAMAPID);
            m_InspireHurt.text = Language.Get("AllianceBossInspireHurt", currentLevel * singleHurt);
        }
        void DisplayRewards()
        {
            for (int i = 0; i < m_Items.Length; i++)
            {
                if (i < allianceBossModel.inspireRewards.Count)
                {
                    m_Items[i].gameObject.SetActive(true);
                    m_Items[i].SetItem(allianceBossModel.inspireRewards[i]);
                }
                else
                {
                    m_Items[i].gameObject.SetActive(false);
                }
            }
        }
        void DisplayInspireLevel()
        {
            m_InspireLevel.text = Language.Get("AllianceBossInspireLevel", model.mission.IsEncourage == 1 ? 1 : 0);
        }
        private void DungeonInspireLvEvent()
        {
            DisplayInspireHurt();
        }
        private void UpdateMissionEvent()
        {
            DisplayInspireLevel();
        }
        private void Inspire()
        {
            var cost = model.GetDungeonInspireCost(inspireConfig);
            if (model.mission.IsEncourage == 1)
            {
                SysNotifyMgr.Instance.ShowTip("Xjmj_InspireMaxLevel");
                return;
            }
            var inspireLevel = model.GetDungeonInspireLevel();
            var maxLevel = model.GetInspireMaxCount(AllianceBossModel.DATAMAPID);
            if (inspireLevel >= maxLevel)
            {
                SysNotifyMgr.Instance.ShowTip("Xjmj_InspireMaxLevel");
                return;
            }
            ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"),
                Language.Get("AllianceBossInspireConfirm", cost),
                (bool isOk) =>
                {
                    if (isOk)
                    {
                        if (cost > PlayerDatas.Instance.baseData.diamond)
                        {
                            WindowCenter.Instance.Open<RechargeTipWin>();
                            return;
                        }
                        CA508_tagCMDoFBAction pak = new CA508_tagCMDoFBAction();
                        pak.ActionType = 0;
                        pak.ActionInfo = (uint)inspireConfig.InspireType;
                        GameNetSystem.Instance.SendInfo(pak);
                    }
                });
        }
    }
}
System/FairyAu/AllianceBossInspireWin.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: f2dae6865c031234fb3200b10f6b22de
timeCreated: 1552356351
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
System/FairyAu/AllianceBossModel.cs
@@ -10,6 +10,8 @@
        public bool isActivityOver { get; private set; }
        public int participateLimit { get; private set; }
        public List<Item> inspireRewards { get; private set; }
        public event Action allianceBossStateRefresh;
        public override void Init()
@@ -34,6 +36,19 @@
        {
            var config = FuncConfigConfig.Get("LeagueBOSSNumber1");
            participateLimit = int.Parse(config.Numerical1);
            inspireRewards = new List<Item>();
            config = FuncConfigConfig.Get("LeagueBOSSReward1");
            var itemArray = LitJson.JsonMapper.ToObject<int[][]>(config.Numerical1);
            for (int i = 0; i < itemArray.Length; i++)
            {
                var item = itemArray[i];
                inspireRewards.Add(new Item()
                {
                    id = item[0],
                    count = item[1],
                });
            }
        }
        public void ReceivePackage(HA40C_tagGCAllFamilyBossInfo package)