少年修仙传客户端代码仓库
client_linchunjie
2019-01-08 5c5d2aa48f7163a9742d53d91aa2c9894ad7b0c9
Merge branch 'FashionDress' of http://192.168.0.87:10010/r/snxxz_scripts into FashionDress
2个文件已添加
2个文件已修改
284 ■■■■■ 已修改文件
System/FashionDress/FashionAttrBeh.cs 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FashionDress/FashionDetailsWin.cs 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FashionDress/FashionSumAttrWin.cs 189 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FashionDress/FashionSumAttrWin.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FashionDress/FashionAttrBeh.cs
@@ -6,6 +6,7 @@
namespace Snxxz.UI
{
    [XLua.Hotfix]
    public class FashionAttrBeh : MonoBehaviour
    {
        [SerializeField] Text titleText;
@@ -13,6 +14,7 @@
        [SerializeField] List<Text> attrlist = new List<Text>();
        ItemTipsModel tipsModel { get { return ModelCenter.Instance.GetModel<ItemTipsModel>(); } }
        FashionDressModel fashionModel { get { return ModelCenter.Instance.GetModel<FashionDressModel>(); } }
        public void SetDisplay(int star,int curStar)
        {
@@ -43,33 +45,39 @@
                starDesText.text = StringUtility.Contact("升至", minStar, "星时获得属性");
            }
            int curFashionId = fashionModel.viewFashionDressId;
            Dictionary<int, int> attrDict = null;
            List<int> attrIds = attrDict.Keys.ToList();
            for(int i = 0; i < attrlist.Count; i++)
            fashionModel.TryGetFashionDressProperty(curFashionId,star,out attrDict);
            if(attrDict != null)
            {
                var attrText = attrlist[i];
                if(i < attrIds.Count)
                List<int> attrIds = attrDict.Keys.ToList();
                for (int i = 0; i < attrlist.Count; i++)
                {
                    attrText.gameObject.SetActive(true);
                    int attrId = attrIds[i];
                    int attrValue = attrDict[attrId];
                    var attrConfig = Config.Instance.Get<PlayerPropertyConfig>(attrId);
                    string attrSB = string.Empty;
                    if(attrConfig.Name.Contains("%s"))
                    var attrText = attrlist[i];
                    if (i < attrIds.Count)
                    {
                        attrSB = attrConfig.Name.Replace("%s",tipsModel.GetProValueTypeStr(attrConfig,attrValue));
                        attrText.gameObject.SetActive(true);
                        int attrId = attrIds[i];
                        int attrValue = attrDict[attrId];
                        var attrConfig = Config.Instance.Get<PlayerPropertyConfig>(attrId);
                        string attrSB = string.Empty;
                        if (attrConfig.Name.Contains("%s"))
                        {
                            attrSB = attrConfig.Name.Replace("%s", tipsModel.GetProValueTypeStr(attrConfig, attrValue));
                        }
                        else
                        {
                            attrSB = StringUtility.Contact(attrConfig.Name, "+", tipsModel.GetProValueTypeStr(attrConfig, attrValue));
                        }
                        attrText.text = attrSB;
                    }
                    else
                    {
                        attrSB = StringUtility.Contact(attrConfig.Name,"+", tipsModel.GetProValueTypeStr(attrConfig, attrValue));
                        attrText.gameObject.SetActive(false);
                    }
                    attrText.text = attrSB;
                }
                else
                {
                    attrText.gameObject.SetActive(false);
                }
            }
        }
    }
}
System/FashionDress/FashionDetailsWin.cs
@@ -6,6 +6,7 @@
namespace Snxxz.UI
{
    [XLua.Hotfix]
    public class FashionDetailsWin : Window
    {
        [SerializeField] GameObject container;
@@ -17,12 +18,16 @@
        [SerializeField] CommonItemBaisc itemBaisc;
        [Header("中间UI")]
        [SerializeField] GameObject midPartObj;
        [SerializeField] List<FashionAttrBeh> fashionAttrs = new List<FashionAttrBeh>();
        [SerializeField] FashionAttrBeh currentFashionAttr;
        [SerializeField] FashionAttrBeh nextFashionAttr;
        [Header("底部UI")]
        [SerializeField] GameObject bottomPartObj;
        [SerializeField] Text resourceText;
        FashionDress fashionDress = null;
        ItemConfig itemConfig = null;
        FashionDressModel fashionModel { get { return ModelCenter.Instance.GetModel<FashionDressModel>(); } }
        #region Built-in
        protected override void BindController()
        {
@@ -59,9 +64,12 @@
        private void SetDisplay()
        {
            fashionModel.TryGetFashionDress(fashionModel.viewFashionDressId,out fashionDress);
            if (fashionDress == null) return;
            container.SetActive(false);
            alpha.alpha = 0;
            itemConfig = Config.Instance.Get<ItemConfig>(1);
            itemConfig = Config.Instance.Get<ItemConfig>(fashionDress.GetEquipItemId());
            SetTopUI();
            SetMidUI();
            SetBotttomUI();
@@ -71,6 +79,11 @@
        {
            if (itemConfig == null) return;
            if (itemConfig.JobLimit != 0)
            {
                JobNameConfig jobNameConfig = Config.Instance.Get<JobNameConfig>(itemConfig.JobLimit);
                jobText.text = jobNameConfig.name;
            }
            nameText.text = itemConfig.ItemName;
            nameText.color = UIHelper.GetUIColor(itemConfig.ItemColor);
            fashionPartText.text = itemConfig.ItemTypeName;
@@ -80,7 +93,29 @@
        private void SetMidUI()
        {
           //midPartObj.SetActive(true);
            //midPartObj.SetActive(true);
            if (fashionDress == null) return;
            int minStar = 1;
            int curSatr = fashionModel.GetFashionDressLevel(fashionDress.id);
            if(curSatr < minStar)
            {
                currentFashionAttr.gameObject.SetActive(false);
                nextFashionAttr.gameObject.SetActive(true);
                nextFashionAttr.SetDisplay(minStar,curSatr);
            }
            else if(curSatr >= fashionDress.maxLevel)
            {
                currentFashionAttr.gameObject.SetActive(true);
                nextFashionAttr.gameObject.SetActive(false);
                currentFashionAttr.SetDisplay(fashionDress.maxLevel,curSatr);
            }
            else
            {
                currentFashionAttr.gameObject.SetActive(true);
                nextFashionAttr.gameObject.SetActive(true);
                currentFashionAttr.SetDisplay(curSatr,curSatr);
                nextFashionAttr.SetDisplay(curSatr+1,curSatr);
            }
        }
        private void SetBotttomUI()
System/FashionDress/FashionSumAttrWin.cs
New file
@@ -0,0 +1,189 @@
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using TableConfig;
using System.Linq;
using System.Collections;
namespace Snxxz.UI
{
    [XLua.Hotfix]
    public class FashionSumAttrWin : Window
    {
        [SerializeField] GameObject container;
        [SerializeField] CanvasGroup alpha;
        [Header("时装总加成")]
        [SerializeField] Text activateNumText;
        [SerializeField] GameObject noneActivate;
        [SerializeField] List<Text> activateAttrs = new List<Text>();
        [SerializeField] List<GameObject> activateAttrObjs = new List<GameObject>();
        [Header("衣柜等级加成")]
        [SerializeField] Text wardrobeLvText;
        [SerializeField] GameObject noneLvAdd;
        [SerializeField] List<Text> lvAddAttrs = new List<Text>();
        [SerializeField] List<GameObject> lvAddAttrObjs = new List<GameObject>();
        FashionDressModel fashionModel { get { return ModelCenter.Instance.GetModel<FashionDressModel>(); } }
        ItemTipsModel tipsModel { get { return ModelCenter.Instance.GetModel<ItemTipsModel>(); } }
        #region Built-in
        protected override void BindController()
        {
        }
        protected override void AddListeners()
        {
        }
        protected override void OnPreOpen()
        {
            SetDisplay();
        }
        protected override void OnActived()
        {
            base.OnActived();
            StartCoroutine(DelayShow());
        }
        protected override void OnAfterOpen()
        {
        }
        protected override void OnPreClose()
        {
        }
        protected override void OnAfterClose()
        {
        }
        #endregion
        private void SetDisplay()
        {
            alpha.alpha = 0;
            container.SetActive(false);
            SetActivateFashionAdd();
            SetWardrobeLvAdd();
        }
        private void SetActivateFashionAdd()
        {
            int sumNum = 10;
            int activateNum = 0;
            string actvivateNumSB = string.Empty;
            if(activateNum > 0)
            {
                actvivateNumSB = UIHelper.AppendStringColor(TextColType.Green,activateNum.ToString());
            }
            else
            {
                actvivateNumSB = UIHelper.AppendStringColor(TextColType.Red, activateNum.ToString());
            }
            activateNumText.text = StringUtility.Contact(actvivateNumSB, "/",sumNum);
            Dictionary<int, int> attrDict = null;
            if(attrDict != null && attrDict.Count > 0)
            {
                noneActivate.SetActive(false);
                List<int> attrIds = attrDict.Keys.ToList();
                for(int i = 0; i < activateAttrObjs.Count; i++)
                {
                    var attrObj = activateAttrObjs[i];
                    attrObj.SetActive(i < attrIds.Count);
                    if(i < attrIds.Count)
                    {
                        var attrText = activateAttrs[i];
                        int attrId = attrIds[i];
                        int attrValue = attrDict[attrId];
                        var attrConfig = Config.Instance.Get<PlayerPropertyConfig>(attrId);
                        string attrSB = string.Empty;
                        string attrValueSB = UIHelper.AppendStringColor(TextColType.Green, tipsModel.GetProValueTypeStr(attrConfig, attrValue));
                        if (attrConfig.Name.Contains("%s"))
                        {
                            attrSB = attrConfig.Name.Replace("%s",attrValueSB);
                        }
                        else
                        {
                            attrSB = StringUtility.Contact(attrConfig.Name, "+",attrValueSB);
                        }
                        attrText.text = attrSB;
                    }
                }
            }
            else
            {
                noneActivate.SetActive(true);
                for (int i = 0; i < activateAttrObjs.Count; i++)
                {
                    var attrObj = activateAttrObjs[i];
                    attrObj.SetActive(false);
                }
            }
        }
        private void SetWardrobeLvAdd()
        {
            int wardrobeLevel = 0;
            string wardrobeLevelSB = string.Empty;
            if (wardrobeLevel > 0)
            {
                wardrobeLevelSB = UIHelper.AppendStringColor(TextColType.Green, wardrobeLevel.ToString());
            }
            else
            {
                wardrobeLevelSB = UIHelper.AppendStringColor(TextColType.Red, wardrobeLevel.ToString());
            }
            wardrobeLvText.text = StringUtility.Contact(wardrobeLevelSB, "级");
            Dictionary<int, int> attrDict = null;
            if (attrDict != null && attrDict.Count > 0)
            {
                noneLvAdd.SetActive(false);
                List<int> attrIds = attrDict.Keys.ToList();
                for (int i = 0; i < lvAddAttrObjs.Count; i++)
                {
                    var attrObj = lvAddAttrObjs[i];
                    attrObj.SetActive(i < attrIds.Count);
                    if (i < attrIds.Count)
                    {
                        var attrText = lvAddAttrs[i];
                        int attrId = attrIds[i];
                        int attrValue = attrDict[attrId];
                        var attrConfig = Config.Instance.Get<PlayerPropertyConfig>(attrId);
                        string attrSB = string.Empty;
                        string attrValueSB = UIHelper.AppendStringColor(TextColType.Green, tipsModel.GetProValueTypeStr(attrConfig, attrValue));
                        if (attrConfig.Name.Contains("%s"))
                        {
                            attrSB = attrConfig.Name.Replace("%s", attrValueSB);
                        }
                        else
                        {
                            attrSB = StringUtility.Contact(attrConfig.Name, "+", attrValueSB);
                        }
                        attrText.text = attrSB;
                    }
                }
            }
            else
            {
                noneLvAdd.SetActive(true);
                for (int i = 0; i < lvAddAttrObjs.Count; i++)
                {
                    var attrObj = lvAddAttrObjs[i];
                    attrObj.SetActive(false);
                }
            }
        }
        IEnumerator DelayShow()
        {
            yield return null;
            container.SetActive(true);
            StartCoroutine(DelayAlpha());
        }
        IEnumerator DelayAlpha()
        {
            yield return null;
            alpha.alpha = 1;
        }
    }
}
System/FashionDress/FashionSumAttrWin.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: c8afd26123775ac4b912680f965deea6
timeCreated: 1546915247
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant: