少年修仙传客户端代码仓库
client_linchunjie
2018-08-27 d106f11e7f44c748f595da36e0cdfd54849649e6
2960 抢Boss活动(提交界面逻辑)
4个文件已修改
8个文件已添加
323 ■■■■■ 已修改文件
Core/GameEngine/Model/Config/FairyGrabBossConfig.cs 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/Config/FairyGrabBossConfig.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/ConfigManager.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FairyAu/FairyGrabBossBehaviour.cs 79 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FairyAu/FairyGrabBossBehaviour.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FairyAu/FairyGrabBossModel.cs 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FairyAu/FairyGrabBossModel.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FairyAu/FairyGrabBossWin.cs 70 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FairyAu/FairyGrabBossWin.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FindPrecious/LootPreciousFrameWin.cs 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/WindowBase/ModelCenter.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Utility/EnumHelper.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/Config/FairyGrabBossConfig.cs
New file
@@ -0,0 +1,41 @@
//--------------------------------------------------------
//    [Author]:            第二世界
//    [  Date ]:           Monday, August 27, 2018
//--------------------------------------------------------
using UnityEngine;
using System;
namespace TableConfig {
    public partial class FairyGrabBossConfig : ConfigBase {
        public int NPCID { get ; private set ; }
        public string PortraitID { get ; private set; }
        public override string getKey()
        {
            return NPCID.ToString();
        }
        public override void Parse() {
            try
            {
                NPCID=IsNumeric(rawContents[0]) ? int.Parse(rawContents[0]):0;
                PortraitID = rawContents[1].Trim();
            }
            catch (Exception ex)
            {
                DebugEx.Log(ex);
            }
        }
    }
}
Core/GameEngine/Model/Config/FairyGrabBossConfig.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 353bb58b84bc9d74b87bcdbb10330f00
timeCreated: 1535375170
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
Core/GameEngine/Model/ConfigManager.cs
@@ -187,6 +187,7 @@
        AddAsyncTask<TrialExchangeConfig>();
        AddAsyncTask<TrialRewardsConfig>();
        AddAsyncTask<DogzEquipPlusConfig>();
        AddAsyncTask<FairyGrabBossConfig>();
        while (!AllCompleted())
        {
            var completedCount = 0;
System/FairyAu/FairyGrabBossBehaviour.cs
New file
@@ -0,0 +1,79 @@
using System.Collections;
using System.Collections.Generic;
using TableConfig;
using UnityEngine;
using UnityEngine.UI;
namespace Snxxz.UI
{
    public class FairyGrabBossBehaviour : ScrollItem
    {
        [SerializeField] AutoSelectCyclicScroll m_Scroll;
        [SerializeField] RectTransform m_CenterSign;
        [SerializeField] RectTransform m_ContainerSelect;
        [SerializeField] Image m_BossPortrait;
        [SerializeField] Text m_MapName;
        [SerializeField] Text m_BossName;
        [SerializeField] Text m_Progress;
        [SerializeField] Button m_Select;
        public int bossId { get; private set; }
        FairyGrabBossModel model { get { return ModelCenter.Instance.GetModel<FairyGrabBossModel>(); } }
        private void Awake()
        {
            m_Select.AddListener(SelectBoss);
        }
        private void SelectBoss()
        {
            m_Scroll.TrySelectData(bossId);
        }
        public override void Display(object _data)
        {
            base.Display(_data);
            bossId = (int)_data;
            DrawBossBaseInfo();
            OnSelected(model.selectBoss);
            model.bossSelectedEvent -= OnSelected;
            model.bossSelectedEvent += OnSelected;
        }
        public override void Dispose()
        {
            base.Dispose();
            model.bossSelectedEvent -= OnSelected;
        }
        private void OnSelected(int _bossId)
        {
            m_ContainerSelect.gameObject.SetActive(model.selectBoss == bossId);
        }
        void DrawBossBaseInfo()
        {
            var config = Config.Instance.Get<FairyGrabBossConfig>(bossId);
            var bossInfoConfig = Config.Instance.Get<BossInfoConfig>(bossId);
            var mapConfig = Config.Instance.Get<MapConfig>(bossInfoConfig.MapID);
            var npcConfig = Config.Instance.Get<NPCConfig>(bossId);
            m_BossPortrait.SetSprite(config.PortraitID);
            m_MapName.text = mapConfig.Name;
            m_BossName.text = npcConfig.charName;
        }
        protected virtual void LateUpdate()
        {
            if (m_Scroll.autoSelectable && model.selectBoss != bossId && bossId > 0)
            {
                if (Mathf.Abs(m_CenterSign.position.y - rectTransform.position.y) * 100f < rectTransform.rect.height * 0.45f)
                {
                    model.selectBoss = bossId;
                }
            }
        }
    }
}
System/FairyAu/FairyGrabBossBehaviour.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 39b96e40dd3a91d4592771f3254b58af
timeCreated: 1535372186
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
System/FairyAu/FairyGrabBossModel.cs
New file
@@ -0,0 +1,59 @@
using System;
using System.Collections;
using System.Collections.Generic;
using TableConfig;
using UnityEngine;
namespace Snxxz.UI
{
    public class FairyGrabBossModel : Model
    {
        public List<int> bosses { get; private set; }
        public bool IsOpen
        {
            get
            {
                return true;
            }
        }
        int m_SelectBoss = 0;
        public int selectBoss
        {
            get { return m_SelectBoss; }
            set
            {
                if (value != m_SelectBoss)
                {
                    m_SelectBoss = value;
                    if (bossSelectedEvent != null)
                    {
                        bossSelectedEvent(m_SelectBoss);
                    }
                }
            }
        }
        public event Action stateUpdate;
        public event Action<int> bossSelectedEvent;
        public override void Init()
        {
            ParseConfig();
        }
        public override void UnInit()
        {
        }
        void ParseConfig()
        {
            bosses = new List<int>();
            var configs = Config.Instance.GetAllValues<FairyGrabBossConfig>();
            for (int i = 0; i < configs.Count; i++)
            {
                bosses.Add(configs[i].NPCID);
            }
        }
    }
}
System/FairyAu/FairyGrabBossModel.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 7a2dd205b34e1894eadb79449b5eeb65
timeCreated: 1535369289
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
System/FairyAu/FairyGrabBossWin.cs
New file
@@ -0,0 +1,70 @@
//--------------------------------------------------------
//    [Author]:           第二世界
//    [  Date ]:           Monday, August 27, 2018
//--------------------------------------------------------
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
namespace Snxxz.UI {
    public class FairyGrabBossWin : Window
    {
        [SerializeField] CyclicScroll m_Bosses;
        FairyGrabBossModel model { get { return ModelCenter.Instance.GetModel<FairyGrabBossModel>(); } }
        #region Built-in
        protected override void BindController()
        {
        }
        protected override void AddListeners()
        {
        }
        protected override void OnPreOpen()
        {
        }
        protected override void OnActived()
        {
            base.OnActived();
            DisplayBosses();
        }
        protected override void OnAfterOpen()
        {
        }
        protected override void OnPreClose()
        {
        }
        protected override void OnAfterClose()
        {
        }
        #endregion
        void DisplayBosses()
        {
            var bosses = new List<int>();
            bosses.AddRange(model.bosses);
            model.selectBoss = DefaultSelect();
            m_Bosses.Init(bosses);
            m_Bosses.MoveToCenter(bosses.IndexOf(model.selectBoss));
        }
        int DefaultSelect()
        {
            return model.bosses[0];
        }
    }
}
System/FairyAu/FairyGrabBossWin.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: adb7f6edfa1466b42a2c498cd4c02a92
timeCreated: 1535370332
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
System/FindPrecious/LootPreciousFrameWin.cs
@@ -5,6 +5,7 @@
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using System;
namespace Snxxz.UI
{
@@ -14,10 +15,13 @@
        [SerializeField] FunctionButtonGroup m_FunctionGroup;
        [SerializeField] FunctionButton m_DemonJar;
        [SerializeField] FunctionButton m_FairyGrabBoss;
        [SerializeField] Button m_Left;
        [SerializeField] Button m_Right;
        [SerializeField] Button m_Close;
        FairyGrabBossModel fairyGrabBossModel { get { return ModelCenter.Instance.GetModel<FairyGrabBossModel>(); } }
        #region Built-in
        protected override void BindController()
@@ -27,6 +31,7 @@
        protected override void AddListeners()
        {
            m_DemonJar.AddListener(ShowDemonJar);
            m_FairyGrabBoss.AddListener(FairyGrabBoss);
            m_Left.AddListener(ShowLastFunction);
            m_Right.AddListener(ShowNextFunction);
@@ -35,7 +40,8 @@
        protected override void OnPreOpen()
        {
            fairyGrabBossModel.stateUpdate += FairyGrabBossUpdate;
            m_FairyGrabBoss.state = fairyGrabBossModel.IsOpen ? TitleBtnState.Normal : TitleBtnState.Locked;
        }
        protected override void OnAfterOpen()
@@ -44,6 +50,8 @@
        protected override void OnPreClose()
        {
            fairyGrabBossModel.stateUpdate -= FairyGrabBossUpdate;
            CloseSubWindows();
            if (!WindowJumpMgr.Instance.IsJumpState)
            {
@@ -74,9 +82,22 @@
            functionOrder = m_DemonJar.order;
        }
        private void FairyGrabBoss()
        {
            CloseSubWindows();
            WindowCenter.Instance.Open<FairyGrabBossWin>();
            functionOrder = m_FairyGrabBoss.order;
        }
        private void FairyGrabBossUpdate()
        {
            m_FairyGrabBoss.state = fairyGrabBossModel.IsOpen ? TitleBtnState.Normal : TitleBtnState.Locked;
        }
        private void CloseSubWindows()
        {
            WindowCenter.Instance.CloseImmediately<DemonJarWin>();
            WindowCenter.Instance.CloseImmediately<FairyGrabBossWin>();
        }
        private void ShowLastFunction()
System/WindowBase/ModelCenter.cs
@@ -189,6 +189,7 @@
            RegisterModel<MultipleRealmPointModel>();
            RegisterModel<DogzModel>();
            RegisterModel<TreasureSoulModel>();
            RegisterModel<FairyGrabBossModel>();
            inited = true;
        }
Utility/EnumHelper.cs
@@ -308,6 +308,7 @@
    BossHome = 24,
    PersonalBoss = 25,
    ElderGodArea = 26,
    FairyGrabBoss = 27,
}
public enum ActivityPrepareType