少年修仙传客户端代码仓库
client_Wu Xijin
2019-04-01 cbbd55e2e9c4afdf38197d907a16b4a19df7f6a1
6396 【2.0】【开发】除装备外可成为拍品的物品TIPS添加拍品信息
2 文件已重命名
16个文件已添加
11个文件已修改
1031 ■■■■ 已修改文件
Core/NetworkPackage/DTCFile/ServerPack/HAD_SaleActivity.meta 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/HAE_Truck.meta 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/HAF_Merge.meta 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/HB0_Event.meta 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ServerPack/HAD_SaleActivity.meta 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ServerPack/HAE_Truck.meta 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ServerPack/HAF_Merge.meta 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ServerPack/HB0_Event.meta 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Lua/Gen/SnxxzUIItemOperateUtilityWrap.cs 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/ItemTip/EquipTipUtility.cs 194 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/ItemTip/EquipTipWin.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/ItemTip/ItemTipWin.cs 148 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/ItemTip/TipEquipBaseInfoWidget.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/ItemTip/TipEquipBaseInfoWidget.cs.meta 补丁 | 查看 | 原始文档 | blame | 历史
System/ItemTip/TipItemBaseInfoWidget.cs 99 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/ItemTip/TipItemBaseInfoWidget.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/ItemTip/TipItemDescriptionWidget.cs 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/ItemTip/TipItemDescriptionWidget.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/ItemTip/TipModelWidget.cs 141 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/ItemTip/TipModelWidget.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/ItemTip/TipOperateButton.cs 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/ItemTip/TipOperateButton.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/KnapSack/ItemUseBehaviour.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/KnapSack/Logic/ItemOperateUtility.cs 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/KnapSack/Logic/ItemTipsModel.cs 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/KnapSack/Logic/ModelShowPerfab.cs 78 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/KnapSack/New/SplitWin.cs 63 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/KnapSack/PreciousItemGetBehaviour.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/SystemSetting/SettingEffectMgr.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/HAD_SaleActivity.meta
New file
@@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 3e05761d690b75440a6be79207d0fb01
folderAsset: yes
timeCreated: 1547643019
licenseType: Pro
DefaultImporter:
  userData:
  assetBundleName:
  assetBundleVariant:
Core/NetworkPackage/DTCFile/ServerPack/HAE_Truck.meta
New file
@@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 1d70ccd06161e0443b7a802ad94292f8
folderAsset: yes
timeCreated: 1547643019
licenseType: Pro
DefaultImporter:
  userData:
  assetBundleName:
  assetBundleVariant:
Core/NetworkPackage/DTCFile/ServerPack/HAF_Merge.meta
New file
@@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 71e878ac60c49ad4f964dd2dbc725739
folderAsset: yes
timeCreated: 1547643019
licenseType: Pro
DefaultImporter:
  userData:
  assetBundleName:
  assetBundleVariant:
Core/NetworkPackage/DTCFile/ServerPack/HB0_Event.meta
New file
@@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: eed34091b0568664b9fb42f0634496c1
folderAsset: yes
timeCreated: 1547643019
licenseType: Pro
DefaultImporter:
  userData:
  assetBundleName:
  assetBundleVariant:
Core/NetworkPackage/ServerPack/HAD_SaleActivity.meta
New file
@@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 32ceb8b7faf99f84a8b73ce53c5e3e4d
folderAsset: yes
timeCreated: 1547643019
licenseType: Pro
DefaultImporter:
  userData:
  assetBundleName:
  assetBundleVariant:
Core/NetworkPackage/ServerPack/HAE_Truck.meta
New file
@@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 77f69c2b862d1704299a32d0d8eeb71e
folderAsset: yes
timeCreated: 1547643019
licenseType: Pro
DefaultImporter:
  userData:
  assetBundleName:
  assetBundleVariant:
Core/NetworkPackage/ServerPack/HAF_Merge.meta
New file
@@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: fa14960fa44b0d1439bab471a764e34f
folderAsset: yes
timeCreated: 1547643019
licenseType: Pro
DefaultImporter:
  userData:
  assetBundleName:
  assetBundleVariant:
Core/NetworkPackage/ServerPack/HB0_Event.meta
New file
@@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: d914565b65f8e8145988734c4d915834
folderAsset: yes
timeCreated: 1547643019
licenseType: Pro
DefaultImporter:
  userData:
  assetBundleName:
  assetBundleVariant:
Lua/Gen/SnxxzUIItemOperateUtilityWrap.cs
@@ -243,15 +243,8 @@
            
            
                Snxxz.UI.ItemOperateUtility gen_to_be_invoked = (Snxxz.UI.ItemOperateUtility)translator.FastGetCSObj(L, 1);
                
                {
                    int _itemIndex = LuaAPI.xlua_tointeger(L, 2);
                    gen_to_be_invoked.GotoUseItem( _itemIndex );
                    
                    return 0;
                }
System/ItemTip/EquipTipUtility.cs
@@ -39,12 +39,15 @@
        public struct BaseInfo
        {
            public int itemId;
            public int count;
            public bool isAuction;
            public bool isEquiped;
            public int star;
            public int score;
            public int auctionSurplusTime;
            public int levelLimit;
            public int realmLimit;
        }
        public struct BaseProperty
@@ -113,22 +116,28 @@
        {
            tipType = type;
            secondaryData = null;
            mainTipData = new TipData()
            {
                itemId = itemId,
                guid = string.Empty,
                baseInfo = GetBaseInfo(itemId),
                baseProperty = GetBaseProperty(itemId),
                legendProperty = GetLegendProperty(itemId),
                suitInfo = GetSuitInfo(itemId),
                gemInfo = GetGemInfo(itemId),
            };
            var isEquip = ItemLogicUtility.Instance.IsEquip(itemId);
            if (isEquip)
            {
                mainTipData = CreateNormalEquipData(itemId);
            }
            else
            {
                mainTipData = CreateItemData(itemId);
            }
            switch (type)
            {
                case TipType.Normal:
                    WindowCenter.Instance.Open<EquipTipWin>();
                    if (isEquip)
                    {
                        WindowCenter.Instance.Open<EquipTipWin>();
                    }
                    else
                    {
                        WindowCenter.Instance.Open<ItemTipWin>();
                    }
                    break;
                case TipType.Good:
                    WindowCenter.Instance.Open<GoodTipWin>();
@@ -146,27 +155,35 @@
            secondaryData = null;
            var packType = item.packType;
            var isEquip = ItemLogicUtility.Instance.IsEquip(item.itemId);
            switch (packType)
            {
                case PackType.Equip:
                    tipType = TipType.Normal;
                    mainTipData = CreateEquipData(guid);
                    mainTipData = CreateNormalEquipData(guid);
                    break;
                default:
                    tipType = TipType.Normal;
                    if (item.isAuction)
                    if (isEquip)
                    {
                        mainTipData = CreateAuctionData(guid);
                        secondaryData = default(TipData);
                        if (item.isAuction)
                        {
                            mainTipData = CreateEquipAuctionData(guid);
                        }
                        else
                        {
                            mainTipData = CreateNormalEquipData(guid);
                            var equipedGuid = equipModel.GetEquip(new Int2(item.config.LV, item.config.EquipPlace));
                            if (equipedGuid != guid)
                            {
                                secondaryData = CreateNormalEquipData(equipedGuid);
                            }
                        }
                    }
                    else
                    {
                        mainTipData = CreateEquipData(guid);
                        var equipedGuid = equipModel.GetEquip(new Int2(item.config.LV, item.config.EquipPlace));
                        if (equipedGuid != guid)
                        {
                            secondaryData = CreateEquipData(equipedGuid);
                        }
                        mainTipData = CreateItemData(guid);
                    }
                    break;
            }
@@ -174,7 +191,14 @@
            switch (tipType)
            {
                case TipType.Normal:
                    WindowCenter.Instance.Open<EquipTipWin>();
                    if (isEquip)
                    {
                        WindowCenter.Instance.Open<EquipTipWin>();
                    }
                    else
                    {
                        WindowCenter.Instance.Open<ItemTipWin>();
                    }
                    break;
                case TipType.Good:
                    WindowCenter.Instance.Open<GoodTipWin>();
@@ -182,7 +206,7 @@
            }
        }
        static TipData CreateEquipData(string guid)
        static TipData CreateNormalEquipData(string guid)
        {
            var item = packModel.GetItemByGuid(guid);
            if (item == null)
@@ -208,7 +232,22 @@
            };
        }
        static TipData CreateAuctionData(string guid)
        static TipData CreateNormalEquipData(int itemId)
        {
            return new TipData()
            {
                itemId = itemId,
                guid = string.Empty,
                baseInfo = GetBaseInfo(itemId),
                baseProperty = GetBaseProperty(itemId),
                legendProperty = GetLegendProperty(itemId),
                suitInfo = GetSuitInfo(itemId),
                gemInfo = GetGemInfo(itemId),
            };
        }
        static TipData CreateEquipAuctionData(string guid)
        {
            var item = packModel.GetItemByGuid(guid);
            if (item == null)
@@ -226,6 +265,34 @@
                legendProperty = GetLegendProperty(item.itemId),
                suitInfo = GetSuitInfo(item.itemId),
                operates = GetOperates(guid),
            };
        }
        static TipData CreateItemData(string guid)
        {
            var item = packModel.GetItemByGuid(guid);
            if (item == null)
            {
                return default(TipData);
            }
            return new TipData()
            {
                itemId = item.itemId,
                guid = guid,
                baseInfo = GetBaseInfo(guid),
                operates = GetOperates(guid),
            };
        }
        static TipData CreateItemData(int itemId)
        {
            return new TipData()
            {
                itemId = itemId,
                baseInfo = GetBaseInfo(itemId),
                operates = GetOperates(itemId),
            };
        }
@@ -258,11 +325,18 @@
                case ItemOperateType.train:
                    ItemOperateUtility.Instance.GotoTrain(guid);
                    break;
                case ItemOperateType.makeUse:
                    ItemOperateUtility.Instance.GotoUseItem(guid);
                    break;
                case ItemOperateType.split:
                    ItemOperateUtility.Instance.OnClickSplitBtn(guid);
                    break;
            }
        }
        private static BaseInfo GetBaseInfo(int itemId)
        {
            var config = ItemConfig.Get(itemId);
            var baseInfo = new BaseInfo()
            {
                itemId = itemId,
@@ -270,6 +344,8 @@
                isEquiped = false,
                score = ItemLogicUtility.Instance.GetEquipScore(PackType.Item, itemId, null, true),
                auctionSurplusTime = 0,
                levelLimit = config.UseLV,
                realmLimit = config.RealmLimit,
            };
            return baseInfo;
@@ -284,10 +360,13 @@
            var baseInfo = new BaseInfo()
            {
                itemId = item.itemId,
                count = item.count,
                isAuction = item.isAuction,
                isEquiped = isEquiped,
                score = item.score,
                auctionSurplusTime = item.auctionSurplusTime,
                auctionSurplusTime = item.isAuction ? item.auctionSurplusTime : 0,
                levelLimit = item.isAuction ? 0 : item.config.UseLV,
                realmLimit = item.isAuction ? 0 : item.config.RealmLimit,
                star = star,
            };
@@ -611,6 +690,22 @@
            return trainProperty;
        }
        private static List<ItemOperateType> GetOperates(int itemId)
        {
            var config = ItemConfig.Get(itemId);
            var operates = new List<ItemOperateType>();
            if (config.CanSell == 1)
            {
                operates.Add(ItemOperateType.sell);
            }
            if (config.UseTag == 1)
            {
                operates.Add(ItemOperateType.makeUse);
            }
            return operates;
        }
        private static List<ItemOperateType> GetOperates(string guid)
        {
            var item = packModel.GetItemByGuid(guid);
@@ -646,12 +741,32 @@
                    if (item.isAuction)
                    {
                        operates.Add(ItemOperateType.putAway);
                        secondaryData = default(TipData);
                    }
                    else
                    {
                        operates.Add(ItemOperateType.sell);
                        operates.Add(ItemOperateType.putOn);
                        var isEquip = ItemLogicUtility.Instance.IsEquip(item.itemId);
                        if (isEquip)
                        {
                            operates.Add(ItemOperateType.sell);
                            operates.Add(ItemOperateType.putOn);
                        }
                        else
                        {
                            if (item.config.CanSell == 1)
                            {
                                operates.Add(ItemOperateType.sell);
                            }
                            if (item.count > 1)
                            {
                                operates.Add(ItemOperateType.split);
                            }
                            if (item.config.UseTag == 1)
                            {
                                operates.Add(ItemOperateType.makeUse);
                            }
                        }
                    }
                    break;
            }
@@ -678,29 +793,6 @@
            }
            return true;
        }
        private static int GetStarGemHoleCount(int itemId)
        {
            var config = ItemConfig.Get(itemId);
            if (config == null)
            {
                return 0;
            }
            var maxStar = EquipStarModel.GetMaxStarLevel(config.ItemColor, config.LV);
            if (maxStar >= 5)
            {
                return 3;
            }
            else if (maxStar >= 2)
            {
                return 2;
            }
            else
            {
                return 1;
            }
        }
    }
System/ItemTip/EquipTipWin.cs
@@ -114,7 +114,7 @@
        {
            public RectTransform container;
            public ScrollRect scrollRect;
            public TipBaseInfoWidget baseInfoWidget;
            public TipEquipBaseInfoWidget baseInfoWidget;
            public TipBasePropertyWidget basePropertyWidget;
            public TipLegendPropertyWidget legendPropertyWidget;
            public TipSuitBriefWidget suitBriefWidget;
System/ItemTip/ItemTipWin.cs
@@ -9,10 +9,18 @@
using UnityEngine;
using UnityEngine.UI;
namespace Snxxz.UI {
namespace Snxxz.UI
{
    public class ItemTipWin : Window
    {
        [SerializeField] Button m_Close;
        [SerializeField] TipItemBaseInfoWidget m_BaseInfoWidget;
        [SerializeField] TipItemDescriptionWidget m_DescriptionWidget;
        [SerializeField] TipAuctionTipWidget m_AuctionWidget;
        [SerializeField] OperateButton[] m_OperateButtons;
        PackModel packModel { get { return ModelCenter.Instance.GetModel<PackModel>(); } }
        #region Built-in
        protected override void BindController()
@@ -21,6 +29,7 @@
        protected override void AddListeners()
        {
            m_Close.SetListener(CloseClick);
        }
        protected override void OnPreOpen()
@@ -29,19 +38,150 @@
        protected override void OnAfterOpen()
        {
            packModel.refreshItemDayUseCountEvent += OnUseItem;
        }
        protected override void OnPreClose()
        {
            StopAllCoroutines();
            packModel.refreshItemDayUseCountEvent += OnUseItem;
        }
        protected override void OnAfterClose()
        {
        }
        #endregion
    }
        protected override void OnActived()
        {
            base.OnActived();
            DisplayBaseInfo();
            DisplayItemDescription();
            DisplayItemUseState();
            DisplayAuctionInfo();
            DisplayOperateButton();
        }
        #endregion
        private void DisplayBaseInfo()
        {
            var data = EquipTipUtility.mainTipData;
            m_BaseInfoWidget.Display(data.baseInfo);
        }
        private void DisplayItemDescription()
        {
            var data = EquipTipUtility.mainTipData;
            m_DescriptionWidget.Display(data.baseInfo.itemId);
        }
        private void OnUseItem(int itemId)
        {
            if (itemId == EquipTipUtility.mainTipData.itemId)
            {
                DisplayItemUseState();
            }
        }
        private void DisplayItemUseState()
        {
            var data = EquipTipUtility.mainTipData;
            var count = packModel.GetItemUsedTimesToday(data.itemId);
            var config = ItemConfig.Get(data.itemId);
            m_DescriptionWidget.DisplayUseState(count, config.MaxSkillCnt);
        }
        private void DisplayAuctionInfo()
        {
            var data = EquipTipUtility.mainTipData;
            m_AuctionWidget.gameObject.SetActive(data.baseInfo.isAuction);
            if (data.baseInfo.isAuction)
            {
                var overdueTime = DateTime.Now.AddSeconds((double)data.baseInfo.auctionSurplusTime);
                m_AuctionWidget.Display(overdueTime);
            }
        }
        private void DisplayOperateButton()
        {
            var operates = EquipTipUtility.mainTipData.operates;
            var guid = EquipTipUtility.mainTipData.guid;
            if (operates.IsNullOrEmpty())
            {
                for (int i = 0; i < m_OperateButtons.Length; i++)
                {
                    var button = m_OperateButtons[i];
                    button.SetActive(false);
                }
            }
            else
            {
                for (int i = 0; i < m_OperateButtons.Length; i++)
                {
                    var button = m_OperateButtons[i];
                    if (i < operates.Count)
                    {
                        button.SetActive(true);
                        button.Bind(operates[i], guid);
                    }
                    else
                    {
                        button.SetActive(false);
                    }
                }
            }
        }
        [Serializable]
        public class OperateButton
        {
            [SerializeField] RectTransform m_Container;
            [SerializeField] Button m_Button;
            [SerializeField] Text m_Title;
            ItemOperateType operateType;
            string guid;
            public void SetActive(bool active)
            {
                this.m_Container.gameObject.SetActive(active);
            }
            public void Bind(ItemOperateType type, string guid)
            {
                operateType = type;
                this.guid = guid;
                switch (type)
                {
                    case ItemOperateType.putAway:
                        this.m_Title.text = "上架";
                        break;
                    case ItemOperateType.sell:
                        this.m_Title.text = "出售";
                        break;
                    case ItemOperateType.makeUse:
                        this.m_Title.text = "使用";
                        break;
                    case ItemOperateType.split:
                        this.m_Title.text = "拆分";
                        break;
                    default:
                        this.m_Title.text = "";
                        break;
                }
                m_Button.SetListener(() =>
                {
                    WindowCenter.Instance.Close<ItemTipWin>();
                    EquipTipUtility.Operate(operateType, this.guid);
                });
            }
        }
    }
}
System/ItemTip/TipEquipBaseInfoWidget.cs
File was renamed from System/ItemTip/TipBaseInfoWidget.cs
@@ -9,7 +9,7 @@
namespace Snxxz.UI
{
    public class TipBaseInfoWidget : MonoBehaviour
    public class TipEquipBaseInfoWidget : MonoBehaviour
    {
        [SerializeField] ImageEx m_Label;
        [SerializeField] Text m_ItemName;
System/ItemTip/TipEquipBaseInfoWidget.cs.meta
System/ItemTip/TipItemBaseInfoWidget.cs
New file
@@ -0,0 +1,99 @@
//--------------------------------------------------------
//    [Author]:           第二世界
//    [  Date ]:           Tuesday, March 12, 2019
//--------------------------------------------------------
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
namespace Snxxz.UI
{
    public class TipItemBaseInfoWidget : MonoBehaviour
    {
        [SerializeField] ImageEx m_Label;
        [SerializeField] Text m_ItemName;
        [SerializeField] ItemBehaviour m_Item;
        [SerializeField] Text m_Type;
        [SerializeField] RectTransform m_LevelConditionContainer;
        [SerializeField] Text m_LevelCondition;
        [SerializeField] RectTransform m_RealmConditionContainer;
        [SerializeField] Text m_RealmCondition;
        [SerializeField] RectTransform m_SurplusTimeContainer;
        [SerializeField] Text m_SurplusTime;
        public void Display(EquipTipUtility.BaseInfo baseInfo)
        {
            if (baseInfo.isAuction)
            {
                m_Label.gameObject.SetActive(true);
                m_Label.SetSprite("Item_Auction_2");
                m_Label.gray = baseInfo.auctionSurplusTime <= 0;
            }
            else
            {
                m_Label.gameObject.SetActive(false);
            }
            var itemConfig = ItemConfig.Get(baseInfo.itemId);
            m_ItemName.text = itemConfig.ItemName;
            m_ItemName.color = UIHelper.GetUIColor(itemConfig.ItemColor);
            m_Item.SetItem(baseInfo.itemId, 1);
            m_Type.text = itemConfig.ItemTypeName;
            if (baseInfo.levelLimit > 0)
            {
                m_LevelConditionContainer.gameObject.SetActive(true);
                m_LevelCondition.text = StringUtility.Contact(Language.Get("KnapS110"), " ", baseInfo.levelLimit);
                var playerLevel = PlayerDatas.Instance.baseData.LV;
                m_LevelCondition.color = UIHelper.GetUIColor(playerLevel < itemConfig.UseLV ? TextColType.Red : TextColType.Green);
            }
            else
            {
                m_LevelConditionContainer.gameObject.SetActive(false);
            }
            if (baseInfo.realmLimit > 0)
            {
                m_RealmConditionContainer.gameObject.SetActive(true);
                var realmConfig = RealmConfig.Get(baseInfo.realmLimit);
                m_RealmCondition.text = StringUtility.Contact(Language.Get("RealmLimit1"), " ", realmConfig.Name);
                var realmLevel = PlayerDatas.Instance.baseData.realmLevel;
                m_LevelCondition.color = UIHelper.GetUIColor(realmLevel < itemConfig.UseLV ? TextColType.Red : TextColType.Green);
            }
            else
            {
                m_RealmConditionContainer.gameObject.SetActive(false);
            }
            if (baseInfo.isAuction)
            {
                m_SurplusTimeContainer.gameObject.SetActive(true);
                if (baseInfo.auctionSurplusTime > 0)
                {
                    m_SurplusTime.text = TimeUtility.SecondsToHMSCHSRetain(baseInfo.auctionSurplusTime);
                }
                else
                {
                    m_SurplusTime.text = "已过期";
                }
            }
            else
            {
                m_SurplusTimeContainer.gameObject.SetActive(false);
            }
        }
    }
}
System/ItemTip/TipItemBaseInfoWidget.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 08479f5564bc9a74981c617531f7a9db
timeCreated: 1552396157
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
System/ItemTip/TipItemDescriptionWidget.cs
New file
@@ -0,0 +1,63 @@
//--------------------------------------------------------
//    [Author]:           第二世界
//    [  Date ]:           Monday, April 01, 2019
//--------------------------------------------------------
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
namespace Snxxz.UI
{
    public class TipItemDescriptionWidget : MonoBehaviour
    {
        [SerializeField] Text m_Description;
        [SerializeField] Text m_UseState;
        ItemTipsModel itemTipModel { get { return ModelCenter.Instance.GetModel<ItemTipsModel>(); } }
        public void Display(int itemId)
        {
            var config = ItemConfig.Get(itemId);
            var description = itemTipModel.curAttrData.GetAllInfoDes();
            if (description.Contains("{Exp}"))
            {
                var expValue = itemTipModel.GetAddExpValue(config.EffectValueA1, config.EffectValueB1);
                description = description.Replace("{Exp}", UIHelper.ReplaceLargeNum(expValue));
            }
            if (description.Contains("{FightPower}"))
            {
                var fightPower = 0;
                itemTipModel.TryGetFightPowerByItemId(itemId, out fightPower);
                description = description.Replace("{FightPower}", fightPower.ToString());
            }
            if (description.Contains("{ShareNum}"))
            {
                var shareNumDes = itemTipModel.GetShareNumItemDes(itemId);
                description = description.Replace("{ShareNum}", shareNumDes);
            }
            m_Description.text = description;
        }
        public void DisplayUseState(int usedCount, int maxCount)
        {
            if (maxCount > 0)
            {
                m_UseState.gameObject.SetActive(true);
                m_UseState.text = Language.Get("BoxUseCntTip", StringUtility.Contact(usedCount, "/", maxCount));
                m_UseState.color = UIHelper.GetUIColor(usedCount >= maxCount ? TextColType.Red : TextColType.Green, false);
            }
            else
            {
                m_UseState.gameObject.SetActive(false);
            }
        }
    }
}
System/ItemTip/TipItemDescriptionWidget.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: d183977a8cdcd6a4fb5595df68e78d70
timeCreated: 1554099458
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
System/ItemTip/TipModelWidget.cs
New file
@@ -0,0 +1,141 @@
//--------------------------------------------------------
//    [Author]:           第二世界
//    [  Date ]:           Monday, April 01, 2019
//--------------------------------------------------------
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using UnityEngine.UI;
namespace Snxxz.UI
{
    public class TipModelWidget : MonoBehaviour
    {
        [SerializeField] Text m_Title;
        [SerializeField] RawImage m_Model;
        [SerializeField] Text m_FightPower;
        [SerializeField] Image m_Fight;
        ModelShowType showType;
        FashionDressModel fashionDressModel { get { return ModelCenter.Instance.GetModel<FashionDressModel>(); } }
        ItemTipsModel tipsModel { get { return ModelCenter.Instance.GetModel<ItemTipsModel>(); } }
        public void OnDisable()
        {
            switch (showType)
            {
                case ModelShowType.treasure:
                    UI3DTreasureExhibition.Instance.StopShow();
                    break;
                case ModelShowType.mount:
                    break;
                case ModelShowType.pet:
                    break;
            }
        }
        public void Display(int id, ModelShowType showType, string title, int fightValue = 0)
        {
            m_Title.text = title;
            this.showType = showType;
            switch (showType)
            {
                case ModelShowType.treasure:
                    m_Fight.SetSprite("FightingLv_Normal");
                    UI3DTreasureExhibition.Instance.BeginShowTreasure(id, m_Model);
                    break;
                case ModelShowType.mount:
                    m_Fight.SetSprite("FightingLv_Max");
                    UI3DModelExhibition.Instance.ShowHourse(id, m_Model);
                    break;
                case ModelShowType.pet:
                    m_Fight.SetSprite("FightingLv_Max");
                    var npcConfig = NPCConfig.Get(id);
                    UI3DModelExhibition.Instance.ShowNPC(id, npcConfig.UIModeLOffset, npcConfig.UIModelRotation, m_Model);
                    break;
                case ModelShowType.FashionDress:
                    m_Fight.SetSprite("FightingLv_Normal");
                    var itemConfig = ItemConfig.Get(id);
                    if (itemConfig != null)
                    {
                        int fashionType = 0;
                        int fashionId = 0;
                        bool isFashion = tipsModel.TryGetItemFashionData(itemConfig.ID, out fashionType, out fashionId);
                        if (isFashion)
                        {
                            List<int> fashionIds = null;
                            fashionDressModel.TryGetFashionIds(fashionType, out fashionIds);
                            if (fashionIds != null && fashionIds.Count > 0)
                            {
                                UI3DModelExhibition.Instance.ShowPlayer(m_Model, SetFashionDressData(fashionIds));
                            }
                        }
                    }
                    break;
            }
            if (fightValue == 0)
            {
                m_Fight.gameObject.SetActive(false);
                m_FightPower.gameObject.SetActive(false);
            }
            else
            {
                m_Fight.gameObject.SetActive(true);
                m_FightPower.gameObject.SetActive(true);
                m_FightPower.text = fightValue.ToString();
                m_Fight.SetNativeSize();
            }
        }
        UI3DPlayerExhibitionData SetFashionDressData(List<int> fashionIds)
        {
            var job = PlayerDatas.Instance.baseData.Job;
            var fashionClothesId = 0;
            var fashionWeaponId = 0;
            var fashionSecondaryId = 0;
            foreach (var fashionId in fashionIds)
            {
                FashionDress fashionDress = null;
                var isFashion = fashionDressModel.TryGetFashionDress(fashionId, out fashionDress);
                if (isFashion)
                {
                    int itemId = fashionDress.requireLevelUpItem;
                    var itemConfig = ItemConfig.Get(itemId);
                    switch (fashionDress.fashionDressType)
                    {
                        case 1:
                            fashionClothesId = fashionDress.GetEquipItemId();
                            break;
                        case 2:
                            fashionWeaponId = fashionDress.GetEquipItemId();
                            break;
                        case 3:
                            fashionSecondaryId = fashionDress.GetEquipItemId();
                            break;
                    }
                }
            }
            var data = new UI3DPlayerExhibitionData()
            {
                job = job,
                fashionClothesId = fashionClothesId,
                fashionWeaponId = fashionWeaponId,
                fashionSecondaryId = fashionSecondaryId,
                isDialogue = false,
            };
            return data;
        }
    }
}
System/ItemTip/TipModelWidget.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 75e6ab197eb9b1746a9b62ebe6f50cb8
timeCreated: 1554099137
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
System/ItemTip/TipOperateButton.cs
New file
@@ -0,0 +1,56 @@
//--------------------------------------------------------
//    [Author]:           第二世界
//    [  Date ]:           Monday, April 01, 2019
//--------------------------------------------------------
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
namespace Snxxz.UI
{
    public class TipOperateButton : MonoBehaviour
    {
        [SerializeField] Button m_Button;
        [SerializeField] Text m_Title;
        ItemOperateType operateType;
        string guid;
        public void SetActive(bool active)
        {
            this.gameObject.SetActive(active);
        }
        public void Bind(ItemOperateType type, string guid)
        {
            operateType = type;
            this.guid = guid;
            switch (type)
            {
                case ItemOperateType.putAway:
                    this.m_Title.text = "上架";
                    break;
                case ItemOperateType.sell:
                    this.m_Title.text = "出售";
                    break;
                case ItemOperateType.makeUse:
                    this.m_Title.text = "使用";
                    break;
                default:
                    this.m_Title.text = "";
                    break;
            }
            m_Button.SetListener(() =>
            {
                WindowCenter.Instance.Close<EquipTipWin>();
                EquipTipUtility.Operate(operateType, this.guid);
            });
        }
    }
}
System/ItemTip/TipOperateButton.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: ddbe08f8a36037741867b36efa826748
timeCreated: 1554101140
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
System/KnapSack/ItemUseBehaviour.cs
@@ -63,7 +63,7 @@
                model.ReportConfirmUseItem(model.currentShowItem);
                if (itemModel != null && itemModel.packType == PackType.Item)
                {
                    ItemOperateUtility.Instance.GotoUseItem(itemModel.gridIndex);
                    ItemOperateUtility.Instance.GotoUseItem(itemModel.guid);
                }
            }
        }
System/KnapSack/Logic/ItemOperateUtility.cs
@@ -263,15 +263,9 @@
        #region 使用物品
        public ItemModel useItemModel { get; set; }
        public void GotoUseItem(int itemIndex)
        public void GotoUseItem(string guid)
        {
            var singlePack = packModel.GetSinglePack(PackType.Item);
            if (singlePack == null)
            {
                return;
            }
            useItemModel = singlePack.GetItemByIndex(itemIndex);
            useItemModel = packModel.GetItemByGuid(guid);
            if (useItemModel == null)
            {
                return;
@@ -291,6 +285,7 @@
            switch (useItemModel.config.ID)
            {
                case 951:
                    var singlePack = packModel.GetSinglePack(PackType.Item);
                    int startLockIndex = singlePack.unlockedGridCount - GeneralDefine.initBagGridCount;
                    int chooseGridCnt = singlePack.unlockedGridCount + GetExtendGridCnt(startLockIndex);
                    packModel.UnLockPackGrid(chooseGridCnt, PackType.Item);
System/KnapSack/Logic/ItemTipsModel.cs
@@ -367,13 +367,20 @@
#if UNITY_EDITOR
            Debug.LogFormat("你查看的物品是:guid->{0}", string.IsNullOrEmpty(curAttrData.guid) ? "" : curAttrData.guid);
            Debug.LogFormat("你查看的物品是:itemId->{0}",  curAttrData.itemId);
            Debug.LogFormat("你查看的物品是:itemId->{0}", curAttrData.itemId);
            Debug.LogFormat("你查看的物品是:name->{0}", curAttrData.itemConfig.ItemName);
#endif
            switch (curAttrData.winType)
            {
                case ItemWinType.itemWin:
                    WindowCenter.Instance.Open<ItemInfoWin>();
                    if (curAttrData.isPreview)
                    {
                        EquipTipUtility.Show(TipType.Normal, curAttrData.itemId);
                    }
                    else
                    {
                        EquipTipUtility.Show(curAttrData.guid);
                    }
                    break;
                case ItemWinType.boxWin:
                    WindowCenter.Instance.Open<BoxInfoWin>();
@@ -612,7 +619,7 @@
                if (attrData.itemConfig.UseTag == 1)
                {
                    attrData.SetTipsFuncBtn(ItemOperateType.makeUse, (ItemWinBtnType, ItemAttrData) => { ItemOperateUtility.Instance.GotoUseItem(attrData.index); });
                    attrData.SetTipsFuncBtn(ItemOperateType.makeUse, (ItemWinBtnType, ItemAttrData) => { ItemOperateUtility.Instance.GotoUseItem(attrData.guid); });
                }
            }
@@ -1878,21 +1885,8 @@
                    SetWingsRefineMat(GetUseDataModel((int)ItemUseDataKey.wingMaterialItemID), GetUseDataModel((int)ItemUseDataKey.wingMaterialItemCount));
                }
            }
            this.score = ItemLogicUtility.Instance.GetEquipScore(type, id, useDataDict, isPreview);
            if (itemTipsModel.randomRuneIds.Contains(this.itemId))
            {
                List<int> unlockRunes = runeModel.GetUnlockRunes();
                List<string> extraInfos = new List<string>();
                foreach (var runeId in unlockRunes)
                {
                    ItemConfig runeConfig = ItemConfig.Get(runeId);
                    string effectDes = StringUtility.Contact(UIHelper.AppendColor(TextColType.Green, runeConfig.ItemName), ":", Language.Get(StringUtility.Contact("RuneTypeDesc_", runeConfig.Effect1)));
                    extraInfos.Add(effectDes);
                }
                SetExtraInfos(extraInfos.ToArray());
            }
            if (type == PackType.DogzEquip || type == PackType.DogzItem)
            {
                strengthDataDict = new Dictionary<int, int>();
@@ -1981,19 +1975,12 @@
        public string GetAllInfoDes()
        {
            _allInfoDesBuider.Length = 0;
            if (itemConfig == null)
                return "";
            if (itemTipsModel.randomRuneIds.Contains(itemConfig.ID))
            {
                return itemConfig.Description.Replace("{Rune}", GetExtraInfos());
            }
            else
            {
                _allInfoDesBuider.Append(itemConfig.Description + "\n");
                _allInfoDesBuider.Append(GetExtraInfos());
            }
            _allInfoDesBuider.Length = 0;
            _allInfoDesBuider.Append(itemConfig.Description + "\n");
            _allInfoDesBuider.Append(GetExtraInfos());
            return _allInfoDesBuider.ToString();
        }
System/KnapSack/Logic/ModelShowPerfab.cs
@@ -15,12 +15,6 @@
        ModelShowType showType;
        FashionDressModel fashionDressModel { get { return ModelCenter.Instance.GetModel<FashionDressModel>(); } }
        ItemTipsModel tipsModel { get { return ModelCenter.Instance.GetModel<ItemTipsModel>(); } }
        PackModel playerPack { get { return ModelCenter.Instance.GetModel<PackModel>(); } }
        MagicianModel godWeaponModel
        {
            get { return ModelCenter.Instance.GetModel<MagicianModel>(); }
        }
        public void OnDisable()
        {
@@ -40,7 +34,6 @@
        {
            titleText.text = title;
            this.showType = showType;
            var job = PlayerDatas.Instance.baseData.Job;
           
            switch (showType)
            {
@@ -96,20 +89,6 @@
        public UI3DPlayerExhibitionData SetFashionDressData(List<int> fashionIds)
        {
            var job = PlayerDatas.Instance.baseData.Job;
            //var playerPack = ModelCenter.Instance.GetModel<PlayerPackModel>();
            //var clothes = playerPack.GetItemModelByIndex(PackType.rptEquip, (int)RoleEquipType.retClothes);
            //var clothesId = clothes == null ? 0 : (int)clothes.itemId;
            //var weapon = playerPack.GetItemModelByIndex(PackType.rptEquip, (int)RoleEquipType.retWeapon);
            //var weaponId = weapon == null ? 0 : (int)weapon.itemId;
            //var wings = playerPack.GetItemModelByIndex(PackType.rptEquip, (int)RoleEquipType.retWing);
            //var wingsId = wings == null ? 0 : (int)wings.itemId;
            //var secondary = playerPack.GetItemModelByIndex(PackType.rptEquip, (int)RoleEquipType.retWeapon2);
            //var secondaryId = secondary == null ? 0 : (int)secondary.itemId;
            var fashionClothesId = 0;
            var fashionWeaponId = 0;
            var fashionSecondaryId = 0;
@@ -137,71 +116,17 @@
            }
            //int _suitLevel = 0;
            //ItemUseDataKey
            //if (clothes != null)
            //{
            //    if (clothes.isSuite == 1)
            //    {
            //        if (clothes.GetUseDataModel(30) != null && clothes.GetUseDataModel(30)[0] != 0)
            //        {
            //            _suitLevel = clothes.GetUseDataModel(30)[0];
            //        }
            //    }
            //}
            //Dictionary<int, int> dict = null;
            //EquipShowSwitch.IsGodWeaponEffectOn(PlayerDatas.Instance.baseData.equipShowSwitch, out dict);
            UI3DPlayerExhibitionData data = new UI3DPlayerExhibitionData()
            var data = new UI3DPlayerExhibitionData()
            {
                job = job,
                //clothesId = clothesId,
                //suitLevel = _suitLevel,
                //weaponId = weaponId,
                //wingsId = wingsId,
                //secondaryId = secondaryId,
                fashionClothesId = fashionClothesId,
                fashionWeaponId = fashionWeaponId,
                fashionSecondaryId = fashionSecondaryId,
                isDialogue = false,
                //godWeapons = dict
            };
            return data;
        }
        private UI3DPlayerExhibitionData SetMagicData(int itemId)
        {
            var job = PlayerDatas.Instance.baseData.Job;
            var appearance = ModelCenter.Instance.GetModel<EquipModel>().GetAppearance();
            var clothesId = appearance.clothes;
            var weaponId = appearance.weapon;
            var wingsId = appearance.wings;
            var secondaryId = appearance.secondary;
            var fashionClothesId = appearance.fashionClothes;
            var fashionWeaponId = appearance.fashionWeapon;
            var fashionSecondaryId = appearance.fashionWeapon;
            int _suitLevel = 0;
            UI3DPlayerExhibitionData data = new UI3DPlayerExhibitionData()
            {
                job = job,
                fashionClothesId = fashionClothesId,
                fashionWeaponId = fashionWeaponId,
                fashionSecondaryId = fashionSecondaryId,
                clothesId = clothesId,
                suitLevel = _suitLevel,
                weaponId = weaponId,
                wingsId = wingsId,
                secondaryId = secondaryId,
                isDialogue = false,
            };
            return data;
        }
    }
    public enum ModelShowType
@@ -211,4 +136,5 @@
        pet, //灵宠
        FashionDress, //时装
    }
}
System/KnapSack/New/SplitWin.cs
@@ -3,16 +3,11 @@
//    [  Date ]:           Friday, September 08, 2017
//--------------------------------------------------------
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
namespace Snxxz.UI
{
    public class SplitWin : Window
    {
        #region 成员变量
@@ -25,23 +20,9 @@
        private Button _closeBtn;
        private ItemCell _itemCell;
        #endregion
        private ItemModel _itemModel;
        private ItemConfig _chinModel;
        ItemTipsModel _itemTipsModel;
        ItemTipsModel itemTipsModel
        {
            get
            {
                return _itemTipsModel ?? (_itemTipsModel = ModelCenter.Instance.GetModel<ItemTipsModel>());
            }
        }
        PackModel _playerPack;
        PackModel playerPack
        {
            get { return _playerPack ?? (_playerPack = ModelCenter.Instance.GetModel<PackModel>()); }
        }
        ItemTipsModel itemTipsModel { get { return ModelCenter.Instance.GetModel<ItemTipsModel>(); } }
        PackModel packModel { get { return ModelCenter.Instance.GetModel<PackModel>(); } }
        #region Built-in
        protected override void BindController()
@@ -58,25 +39,11 @@
        protected override void AddListeners()
        {
            _splitSlider.onValueChanged.RemoveAllListeners();
            _addBtn.onClick.RemoveAllListeners();
            _reduceBtn.onClick.RemoveAllListeners();
            _splitBtn.onClick.RemoveAllListeners();
            _closeBtn.onClick.RemoveAllListeners();
            _splitSlider.onValueChanged.AddListener(
             delegate
             {
                 OnSplitValueChange();
             }
             );
            _addBtn.onClick.AddListener(OnClickAddBtn);
            _reduceBtn.onClick.AddListener(OnClickReduceBtn);
            _splitBtn.onClick.AddListener(OnClickSplitBtn);
            _closeBtn.onClick.AddListener(OnClickCloseBtn);
            _splitSlider.SetListener(OnSplitValueChange);
            _addBtn.SetListener(OnClickAddBtn);
            _reduceBtn.SetListener(OnClickReduceBtn);
            _splitBtn.SetListener(OnClickSplitBtn);
            _closeBtn.SetListener(OnClickCloseBtn);
        }
        protected override void OnPreOpen()
@@ -98,9 +65,9 @@
        }
        #endregion
        public void InitPanel()
        void InitPanel()
        {
            ItemModel itemModel = playerPack.GetItemByGuid(itemTipsModel.curAttrData.guid);
            var itemModel = packModel.GetItemByGuid(itemTipsModel.curAttrData.guid);
            if (itemModel == null)
                return;
@@ -112,12 +79,12 @@
            _number.text = Mathf.Ceil(_splitSlider.value).ToString();
        }
        public void OnSplitValueChange()
        void OnSplitValueChange(float value)
        {
            _number.text = Mathf.Ceil(_splitSlider.value).ToString();
            _number.text = Mathf.Ceil(value).ToString();
        }
        public void OnClickAddBtn()
        void OnClickAddBtn()
        {
            if (_splitSlider.value < _splitSlider.maxValue)
            {
@@ -125,7 +92,7 @@
            }
        }
        public void OnClickReduceBtn()
        void OnClickReduceBtn()
        {
            if (_splitSlider.value > _splitSlider.minValue)
            {
@@ -133,13 +100,13 @@
            }
        }
        public void OnClickSplitBtn()
        void OnClickSplitBtn()
        {
            ItemOperateUtility.Instance.SplitItem(itemTipsModel.curAttrData.guid, (int)Mathf.Ceil(_splitSlider.value));
            OnClickCloseBtn();
        }
        public void OnClickCloseBtn()
        void OnClickCloseBtn()
        {
            WindowCenter.Instance.Close<SplitWin>();
        }
System/KnapSack/PreciousItemGetBehaviour.cs
@@ -98,7 +98,7 @@
                            }
                            break;
                        default:
                            ItemOperateUtility.Instance.GotoUseItem(itemModel.gridIndex);
                            ItemOperateUtility.Instance.GotoUseItem(itemModel.guid);
                            break;
                    }
                }
System/SystemSetting/SettingEffectMgr.cs
@@ -235,7 +235,7 @@
                    if (singlePack.GetCountById(_tagItemModel.ID) > 0)
                    {
                        var list = singlePack.GetItemsById(_tagItemModel.ID);
                        ItemOperateUtility.Instance.GotoUseItem(list[0].gridIndex);
                        ItemOperateUtility.Instance.GotoUseItem(list[0].guid);
                        break;
                    }
                    else