少年修仙传客户端代码仓库
client_Zxw
2019-03-20 37605584e1da2319b24d46b448f3a6285b8a8718
Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts
5个文件已修改
189 ■■■■■ 已修改文件
Core/GameEngine/Model/Config/RealmConfig.cs 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/Config/RealmConfig.cs.meta 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Equip/EquipModel.cs 113 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Equip/EquipSuitPropertyWidget.cs 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Equip/RealmEquipWin.cs 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/Config/RealmConfig.cs
@@ -1,6 +1,6 @@
//--------------------------------------------------------
//    [Author]:           Fish
//    [  Date ]:           Thursday, March 14, 2019
//    [  Date ]:           Wednesday, March 20, 2019
//--------------------------------------------------------
using System.Collections.Generic;
@@ -21,6 +21,8 @@
    public readonly int[] AddAttrType;
    public readonly int[] AddAttrNum;
    public readonly int BossID;
    public readonly long expRate;
    public readonly long expLimit;
    public readonly string Img;
    public readonly int Quality;
    public readonly int FightPower;
@@ -65,19 +67,23 @@
            int.TryParse(tables[7],out BossID); 
            Img = tables[8];
            long.TryParse(tables[8],out expRate);
            int.TryParse(tables[9],out Quality);
            long.TryParse(tables[9],out expLimit);
            int.TryParse(tables[10],out FightPower);
            Img = tables[10];
            equipNameIcon = tables[11];
            int.TryParse(tables[11],out Quality);
            equips = tables[12];
            int.TryParse(tables[12],out FightPower);
            int.TryParse(tables[13],out effectId);
            equipNameIcon = tables[13];
            int.TryParse(tables[14],out requireIconEffect);
            equips = tables[14];
            int.TryParse(tables[15],out effectId);
            int.TryParse(tables[16],out requireIconEffect);
        }
        catch (Exception ex)
        {
Core/GameEngine/Model/Config/RealmConfig.cs.meta
@@ -1,6 +1,6 @@
fileFormatVersion: 2
guid: d49ca04ff4a91bc4fb645c417f9ef0b3
timeCreated: 1552548022
timeCreated: 1553061533
licenseType: Pro
MonoImporter:
  serializedVersion: 2
System/Equip/EquipModel.cs
@@ -7,7 +7,7 @@
namespace Snxxz.UI
{
    [XLua.LuaCallCSharp]
    public class EquipModel : Model
    public class EquipModel : Model, IAfterPlayerDataInitialize
    {
        public static readonly List<int> realmEquipTypes = new List<int>() { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 };
@@ -15,6 +15,9 @@
            get { return LocalSave.GetInt(StringUtility.Contact(PlayerDatas.Instance.baseData.PlayerID, "EquipSetUnLockHasShowed"), 1); }
            set { LocalSave.SetInt(StringUtility.Contact(PlayerDatas.Instance.baseData.PlayerID, "EquipSetUnLockHasShowed"), value); }
        }
        public readonly List<int> showedSuitPlaceEffect = new List<int>();
        public readonly List<int> showedSuitLevelEffect = new List<int>();
        public readonly LogicInt selectedLevel = new LogicInt();
        public readonly LogicString selectedEquip = new LogicString();
@@ -26,6 +29,9 @@
        public readonly LogicBool isAppearanceLevel = new LogicBool();
        public readonly LogicList<int> suitPlaces = new LogicList<int>();
        public readonly LogicStruct<EquipSuitProperty> suitProperty = new LogicStruct<EquipSuitProperty>();
        public readonly LogicList<int> suitPlaceCollectEffects = new LogicList<int>();
        public readonly LogicStruct<EquipSuitActive> suitActive = new LogicStruct<EquipSuitActive>();
        static Dictionary<int, string> equipSetNames = new Dictionary<int, string>();
        Dictionary<int, EquipSet> equipSets = new Dictionary<int, EquipSet>();
@@ -52,6 +58,25 @@
            PlayerDatas.Instance.playerDataRefreshEvent -= OnPlayerDataRefresh;
        }
        public void OnAfterPlayerDataInitialize()
        {
            var playerId = PlayerDatas.Instance.baseData.PlayerID;
            showedSuitPlaceEffect.Clear();
            var showedSuitPlaceEffectsRecord = LocalSave.GetIntArray(StringUtility.Contact(playerId, "_showedSuitPlaceEffect"));
            if (showedSuitPlaceEffectsRecord != null)
            {
                showedSuitPlaceEffect.AddRange(showedSuitPlaceEffectsRecord);
            }
            showedSuitLevelEffect.Clear();
            var showedSuitLevelEffectsRecord = LocalSave.GetIntArray(StringUtility.Contact(playerId, "_showedSuitLevelEffect"));
            if (showedSuitLevelEffectsRecord != null)
            {
                showedSuitPlaceEffect.AddRange(showedSuitLevelEffectsRecord);
            }
        }
        public int GetLastestUnLockEquipSet()
        {
            for (int i = sortedLevels.Count - 1; i >= 0; i--)
@@ -64,6 +89,20 @@
            }
            return 1;
        }
        public int GetFirstRedpointEquipSet()
        {
            for (int i = sortedLevels.Count - 1; i >= 0; i--)
            {
                var level = sortedLevels[i];
                if (equipSets[level].redpoint.state == RedPointState.Simple)
                {
                    return level;
                }
            }
            return GetLastestUnLockEquipSet();
        }
        public void OneKeyPutOn(int level)
@@ -146,6 +185,8 @@
            suitPlaces.Clear();
            candidateEquips.Clear();
            getWays.Clear();
            suitPlaceCollectEffects.Clear();
            suitActive.value = default(EquipSuitActive);
        }
        private void RefreshCandidateEquips(int level)
@@ -419,6 +460,40 @@
            return entry;
        }
        public bool IsSuitPlaceEffectPlayed(Int2 equipPosition)
        {
            var place = EquipSet.ClientPlaceToServerPlace(equipPosition);
            return showedSuitPlaceEffect.Contains(place);
        }
        public void RecordSuitPlaceEffectPlay(Int2 equipPosition)
        {
            var place = EquipSet.ClientPlaceToServerPlace(equipPosition);
            if (!showedSuitPlaceEffect.Contains(place))
            {
                showedSuitPlaceEffect.Add(place);
                var playerId = PlayerDatas.Instance.baseData.PlayerID;
                LocalSave.SetIntArray(StringUtility.Contact(playerId, "_showedSuitPlaceEffect"), showedSuitPlaceEffect.ToArray());
            }
        }
        public bool IsSuitLevelEffectPlayed(Int3 info)
        {
            var place = info.x * 100 + info.y * 10 + info.z;
            return showedSuitLevelEffect.Contains(place);
        }
        public void RecordSuitLevelEffectPlay(Int3 info)
        {
            var place = info.x * 100 + info.y * 10 + info.z;
            if (!showedSuitLevelEffect.Contains(place))
            {
                showedSuitLevelEffect.Add(place);
                var playerId = PlayerDatas.Instance.baseData.PlayerID;
                LocalSave.SetIntArray(StringUtility.Contact(playerId, "_showedSuitLevelEffect"), showedSuitLevelEffect.ToArray());
            }
        }
        private void OnPlayerDataRefresh(PlayerDataType type)
        {
            switch (type)
@@ -598,6 +673,10 @@
                if (hasSuit)
                {
                    suitPlaces.Add(i);
                    if (!IsSuitPlaceEffectPlayed(new Int2(level, i)))
                    {
                        suitPlaceCollectEffects.Add(i);
                    }
                }
            }
        }
@@ -606,6 +685,7 @@
        {
            var property = new EquipSuitProperty();
            property.star = star;
            property.twoSuit = GetEquipSuitEntry(level, star, EquipSuitType.TwoSuit);
            property.fiveSuit = GetEquipSuitEntry(level, star, EquipSuitType.FiveSuit);
@@ -621,6 +701,26 @@
            property.eightActived = GetSuitLevel(level, EquipSuitType.EightSuit) >= star;
            this.suitProperty.value = property;
            var suitActive = new EquipSuitActive();
            suitActive.level = level;
            suitActive.star = star;
            if (property.twoSuit.actived && !IsSuitLevelEffectPlayed(new Int3(level, star, 2)))
            {
                suitActive.twoActived = true;
            }
            if (property.fiveSuit.actived && !IsSuitLevelEffectPlayed(new Int3(level, star, 5)))
            {
                suitActive.fiveActived = true;
            }
            if (property.eightActived && !IsSuitLevelEffectPlayed(new Int3(level, star, 8)))
            {
                suitActive.eightActived = true;
            }
            this.suitActive.value = suitActive;
        }
        private void ParseConfig()
@@ -714,11 +814,22 @@
    public struct EquipSuitProperty
    {
        public int star;
        public EquipSuitPropertyEntry twoSuit;
        public EquipSuitPropertyEntry fiveSuit;
        public int eightSuitId;
        public bool eightActived;
    }
    public struct EquipSuitActive
    {
        public int level;
        public int star;
        public bool twoActived;
        public bool fiveActived;
        public bool eightActived;
    }
}
System/Equip/EquipSuitPropertyWidget.cs
@@ -15,14 +15,22 @@
        [SerializeField] Text m_SuitName;
        [SerializeField] StarToggle[] m_StarToggles;
        [SerializeField] Text[] m_SuitEquipNames;
        [SerializeField] UIEffect[] m_SuitEquipEffects;
        [SerializeField] EquipSuitPropertyBar m_TwoSuit;
        [SerializeField] EquipSuitPropertyBar m_FiveSuit;
        [SerializeField] Text m_EightSuitTitle;
        [SerializeField] Text m_EightSuitDescription;
        [SerializeField] UIEffect[] m_SuitLevelEffects;
        EquipModel model { get { return ModelCenter.Instance.GetModel<EquipModel>(); } }
        int level;
        public void Init(int level)
        {
            this.level = level;
            m_SuitName.text = EquipSuitConfig.GetConfigs(PlayerDatas.Instance.baseData.Job, level, EquipSuitType.TwoSuit)[0].name;
            var maxLevel = EquipStarModel.GetMaxStarLevel(level);
            m_StarToggles[3].SetActive(maxLevel >= 9);
@@ -41,6 +49,15 @@
            }
        }
        public void DisplaySuitPlaceEffects(List<int> places)
        {
            foreach (var place in places)
            {
                m_SuitEquipEffects[place - 1].Play();
                model.RecordSuitPlaceEffectPlay(new Int2(this.level, place));
            }
        }
        public void DisplayProperty(EquipSuitProperty property)
        {
            m_TwoSuit.Display(property.twoSuit);
@@ -51,6 +68,27 @@
            m_EightSuitDescription.color = color;
        }
        public void DisplaySuitLevelEffects(EquipSuitActive suitActive)
        {
            if (suitActive.twoActived)
            {
                m_SuitLevelEffects[0].Play();
                model.RecordSuitLevelEffectPlay(new Int3(suitActive.level, suitActive.star, 2));
            }
            if (suitActive.fiveActived)
            {
                m_SuitLevelEffects[1].Play();
                model.RecordSuitLevelEffectPlay(new Int3(suitActive.level, suitActive.star, 5));
            }
            if (suitActive.eightActived)
            {
                m_SuitLevelEffects[2].Play();
                model.RecordSuitLevelEffectPlay(new Int3(suitActive.level, suitActive.star, 8));
            }
        }
        public void Dispose()
        {
System/Equip/RealmEquipWin.cs
@@ -50,12 +50,14 @@
        {
            if (model.selectedLevel.value == 0)
            {
                model.SelectSet(model.GetLastestUnLockEquipSet());
                model.SelectSet(model.GetFirstRedpointEquipSet());
            }
        }
        protected override void OnAfterOpen()
        {
            m_SuitPropertyWidget.DisplaySuitPlaceEffects(model.suitPlaceCollectEffects.Fetch());
            m_SuitPropertyWidget.DisplaySuitLevelEffects(model.suitActive.Fetch());
        }
        protected override void OnPreClose()
@@ -129,6 +131,16 @@
            {
                DisplayAppearaneSign(model.isAppearanceLevel.Fetch());
            }
            if (this.windowState == WindowState.Opened && model.suitPlaceCollectEffects.dirty)
            {
                m_SuitPropertyWidget.DisplaySuitPlaceEffects(model.suitPlaceCollectEffects.Fetch());
            }
            if (this.windowState == WindowState.Opened && model.suitActive.dirty)
            {
                m_SuitPropertyWidget.DisplaySuitLevelEffects(model.suitActive.Fetch());
            }
        }
        private void DisplayLevels()