From 8475d4589859b58e2a38f1f54ed43505dc1c50a5 Mon Sep 17 00:00:00 2001
From: client_linchunjie <461730578@qq.com>
Date: 星期一, 20 八月 2018 20:47:13 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts
---
System/KnapSack/Logic/PackSendQuestMgr.cs | 7
System/Dogz/DogzEquip.cs | 6
System/Dogz/DogzItemCell.cs | 6
System/KnapSack/Logic/PackModelInterface.cs | 24 +-
UI/Common/SortTable.cs | 218 +++++++++++++++---------------
System/KnapSack/Logic/ItemTipsModel.cs | 36 ++++
System/Dogz/DogzCell.cs | 17 ++
System/Dogz/DogzModel.cs | 44 ++++-
System/KnapSack/Logic/PlayerPackModels.cs | 10 +
System/KnapSack/Logic/EquipTip.cs | 9
10 files changed, 226 insertions(+), 151 deletions(-)
diff --git a/System/Dogz/DogzCell.cs b/System/Dogz/DogzCell.cs
index 4bd7933..2b300ec 100644
--- a/System/Dogz/DogzCell.cs
+++ b/System/Dogz/DogzCell.cs
@@ -28,10 +28,21 @@
m_DogzIcon.SetSprite(_dogzCfg.HeadIcon);
m_DogzIcon.SetNativeSize();
var _dogzEquips = model.GetDogzEquips(_dogzCfg.ID);
- m_DogzIcon.material = (_dogzEquips == null || _dogzEquips.Count < 5) ? MaterialUtility.GetDefaultSpriteGrayMaterial() :
- MaterialUtility.GetUIDefaultGraphicMaterial();
+ bool isActive = (_dogzEquips == null || _dogzEquips.Count < 5) ? false : true;
m_DogzName.text = _dogzCfg.Name;
- //m_DogzGrade.text = StringUtility.Contact("璇勫垎锛�", 100);
+ m_DogzGrade.text = StringUtility.Contact("璇勫垎锛�", 100);
+ if (isActive)
+ {
+ m_DogzIcon.material = MaterialUtility.GetUIDefaultGraphicMaterial();
+ m_DogzName.material = MaterialUtility.GetUIDefaultGraphicMaterial();
+ m_DogzGrade.material = MaterialUtility.GetUIDefaultGraphicMaterial();
+ }
+ else
+ {
+ m_DogzIcon.material = MaterialUtility.GetDefaultSpriteGrayMaterial();
+ m_DogzName.material = MaterialUtility.GetDefaultSpriteGrayMaterial();
+ m_DogzGrade.material = MaterialUtility.GetDefaultSpriteGrayMaterial();
+ }
m_DogzBtn.image.color = model.presentSelectDogz == _dogzCfg.ID ? Color.blue : Color.white;
m_DogzAssist.gameObject.SetActive(model.TryGetAssistDogzState(_dogzCfg.ID));
m_DogzBtn.onClick.RemoveAllListeners();
diff --git a/System/Dogz/DogzEquip.cs b/System/Dogz/DogzEquip.cs
index f35fcb0..54f13c1 100644
--- a/System/Dogz/DogzEquip.cs
+++ b/System/Dogz/DogzEquip.cs
@@ -32,9 +32,9 @@
itemBaisc.cellBtn.RemoveAllListeners();
itemBaisc.cellBtn.AddListener(()=>
{
- ItemAttrData attrData = new ItemAttrData(model.itemId,false,(ulong)model.itemInfo.ItemCount,model.itemInfo.ItemPlace,
- model.itemInfo.IsBind,false,PackType.rptDogzEquip,model.itemInfo.ItemGUID);
- tipsModel.SetItemTipsModel(attrData);
+ tipsModel.SetItemTipsModel(model.packType,model.itemInfo.ItemGUID,false,false);
+ tipsModel.SetDogzEquipBtn(tipsModel.curAttrData);
+ tipsModel.ShowUICtrl();
});
}
}
diff --git a/System/Dogz/DogzItemCell.cs b/System/Dogz/DogzItemCell.cs
index a85f664..3e83f36 100644
--- a/System/Dogz/DogzItemCell.cs
+++ b/System/Dogz/DogzItemCell.cs
@@ -46,9 +46,9 @@
itemBaisc.cellBtn.RemoveAllListeners();
itemBaisc.cellBtn.AddListener(()=>
{
- ItemAttrData attrData = new ItemAttrData(model.itemId, false, (ulong)model.itemInfo.ItemCount, model.itemInfo.ItemPlace,
- model.itemInfo.IsBind, false, PackType.rptDogzItem, model.itemInfo.ItemGUID);
- tipsModel.SetItemTipsModel(attrData);
+ tipsModel.SetItemTipsModel(model.packType, model.itemInfo.ItemGUID, false, false);
+ tipsModel.SetDogzItemBtn(tipsModel.curAttrData);
+ tipsModel.ShowUICtrl();
});
}
}
diff --git a/System/Dogz/DogzModel.cs b/System/Dogz/DogzModel.cs
index c50516b..43eae00 100644
--- a/System/Dogz/DogzModel.cs
+++ b/System/Dogz/DogzModel.cs
@@ -69,7 +69,7 @@
AddAssistItem = int.Parse(_funcCfg.Numerical2);
AddAssistItemCnt = ConfigParse.GetMultipleStr<int>(_funcCfg.Numerical3);
m_DogzEquipStrenLimit = ConfigParse.GetDic<int, int>(_funcCfg.Numerical4);
- _funcCfg = ConfigManager.Instance.GetTemplate<FuncConfigConfig>("DogzPack");
+ _funcCfg = ConfigManager.Instance.GetTemplate<FuncConfigConfig>("DogzPack");
DogzPackGridCnt = int.Parse(_funcCfg.Numerical1);
}
/// <summary>
@@ -236,28 +236,48 @@
ItemModel itemModel = playerPack.GetItemModelByIndex(type, index);
int dogzId = GetDogzIDByIndex(index);
- if (itemModel != null)
+ List<ItemModel> modellist = GetDogzEquips(dogzId);
+ if(modellist != null)
{
- for (int i = 0; i < m_DogzEquipDict[dogzId].Count; i++)
+ if (itemModel != null)
{
- if (m_DogzEquipDict[dogzId][i].itemInfo.ItemPlace == index)
+ bool isAdd = true;
+ for (int i = 0; i < modellist.Count; i++)
{
- m_DogzEquipDict[dogzId][i] = itemModel;
- return;
+ if (modellist[i].itemInfo.ItemPlace == index)
+ {
+ isAdd = false;
+ modellist[i] = itemModel;
+ break;
+ }
+ }
+ if(isAdd)
+ {
+ modellist.Add(itemModel);
+ }
+ }
+ else
+ {
+ for (int i = 0; i < modellist.Count; i++)
+ {
+ if (modellist[i].itemInfo.ItemPlace == index)
+ {
+ modellist.RemoveAt(i);
+ break;
+ }
}
}
}
else
{
- for (int i = 0; i < m_DogzEquipDict[dogzId].Count; i++)
+ if(itemModel != null)
{
- if (m_DogzEquipDict[dogzId][i].itemInfo.ItemPlace == index)
- {
- m_DogzEquipDict[dogzId].RemoveAt(i);
- return;
- }
+ List<ItemModel> equipDatas = new List<ItemModel>();
+ equipDatas.Add(itemModel);
+ m_DogzEquipDict.Add(dogzId,equipDatas);
}
}
+
if(RefreshDogzEquipAct != null)
{
diff --git a/System/KnapSack/Logic/EquipTip.cs b/System/KnapSack/Logic/EquipTip.cs
index 7338b03..08866c9 100644
--- a/System/KnapSack/Logic/EquipTip.cs
+++ b/System/KnapSack/Logic/EquipTip.cs
@@ -179,7 +179,8 @@
yield return null;
if(itemAttrData.isCompare)
{
- if (itemAttrData.packType != PackType.rptEquip)
+ if (itemAttrData.packType != PackType.rptEquip
+ && itemAttrData.packType != PackType.rptDogzEquip)
{
itemTipsModel.SetCurTips(this.GetComponent<RectTransform>());
}
@@ -205,7 +206,8 @@
ItemCellModel cellModel = new ItemCellModel(itemAttrData.itemId,itemAttrData.isPreview, (ulong)itemAttrData.count, itemAttrData.isBind,
itemAttrData.guid,itemAttrData.packType,itemAttrData.isCompare, itemAttrData.useDataDict);
itemCell.Init(cellModel);
- if(itemAttrData.packType == PackType.rptEquip)
+ if(itemAttrData.packType == PackType.rptEquip
+ || itemAttrData.packType == PackType.rptDogzEquip)
{
putOnIcon.SetActive(true);
}
@@ -262,7 +264,8 @@
if (itemAttrData.isCompare)
{
- if(itemAttrData.packType != PackType.rptEquip)
+ if(itemAttrData.packType != PackType.rptEquip
+ && itemAttrData.packType != PackType.rptDogzEquip)
{
CreateFuncBtn();
}
diff --git a/System/KnapSack/Logic/ItemTipsModel.cs b/System/KnapSack/Logic/ItemTipsModel.cs
index 2a723a2..372c964 100644
--- a/System/KnapSack/Logic/ItemTipsModel.cs
+++ b/System/KnapSack/Logic/ItemTipsModel.cs
@@ -71,6 +71,8 @@
get { return _modelInterface ?? (_modelInterface = ModelCenter.Instance.GetModel<PackModelInterface>()); }
}
+ DogzModel dogzModel { get { return ModelCenter.Instance.GetModel<DogzModel>(); } }
+
public override void Init()
{
m_storeModel.RefreshTCBPlayerDataEvent += RefreshOfflinePluginTime;
@@ -637,11 +639,7 @@
switch (attrData.winType)
{
case ItemWinType.equipWin:
- attrData.SetTipsFuncBtn(ItemWinBtnType.putOn, (ItemWinBtnType, ItemAttrData) => { PackSendQuestMgr.Instance.SendPutOnQuest(ItemWinBtnType.putOn, attrData.guid); });
- break;
case ItemWinType.wingsWin:
- attrData.SetTipsFuncBtn(ItemWinBtnType.putOn, (ItemWinBtnType, ItemAttrData) => { PackSendQuestMgr.Instance.SendPutOnQuest(ItemWinBtnType.putOn, attrData.guid); });
- break;
case ItemWinType.guardWin:
attrData.SetTipsFuncBtn(ItemWinBtnType.putOn, (ItemWinBtnType, ItemAttrData) => { PackSendQuestMgr.Instance.SendPutOnQuest(ItemWinBtnType.putOn, attrData.guid); });
break;
@@ -688,6 +686,36 @@
}
+ public void SetDogzItemBtn(ItemAttrData attrData)
+ {
+ if (attrData == null) return;
+
+ if (attrData.itemConfig.CanSell == 1)
+ {
+ attrData.SetTipsFuncBtn(ItemWinBtnType.sell, (ItemWinBtnType, ItemAttrData) => { PackSendQuestMgr.Instance.SendSellQuest(ItemWinBtnType.sell, attrData); });
+ }
+
+ switch (attrData.winType)
+ {
+ case ItemWinType.equipWin:
+ attrData.SetTipsFuncBtn(ItemWinBtnType.putOn, (ItemWinBtnType, ItemAttrData) => { dogzModel.SendPutOnEquip(dogzModel.presentSelectDogz, attrData.index); });
+ break;
+ }
+ }
+
+ public void SetDogzEquipBtn(ItemAttrData attrData)
+ {
+ if (attrData == null) return;
+
+ attrData.SetTipsFuncBtn(ItemWinBtnType.putOff, (ItemWinBtnType, ItemAttrData) => {
+ dogzModel.SendPutOffEquip(dogzModel.presentSelectDogz,dogzModel.GetDogzEquipPlaceByIndex(attrData.index));
+ });
+
+ attrData.SetTipsFuncBtn(ItemWinBtnType.strength, (ItemWinBtnType, ItemAttrData) => {
+ WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.StrengthFunc1);
+ });
+ }
+
/// <summary>
/// 璁剧疆浠撳簱寮规鎸夐挳
/// </summary>
diff --git a/System/KnapSack/Logic/PackModelInterface.cs b/System/KnapSack/Logic/PackModelInterface.cs
index f4e6205..1205a85 100644
--- a/System/KnapSack/Logic/PackModelInterface.cs
+++ b/System/KnapSack/Logic/PackModelInterface.cs
@@ -588,7 +588,7 @@
SinglePackModel singlePack = playerPack.GetSinglePackModel(PackType.rptItem);
if (singlePack == null) return false;
- int startLockIndex = singlePack.openGridCount - GetInitGridCount(PackType.rptItem);
+ int startLockIndex = singlePack.openGridCount - playerPack.InitBagGridCnt;
FuncConfigConfig _tagFuncModel = ConfigManager.Instance.GetTemplate<FuncConfigConfig>("OpenBagItem");
int haveCount = playerPack.GetItemCountByID(PackType.rptItem,itemId);
Equation.Instance.Clear();
@@ -779,22 +779,20 @@
#region 瑙i攣鏍煎瓙
- public int GetInitGridCount(PackType type)
- {
- FuncConfigConfig initGridCount = null;
- if (type == PackType.rptItem)
- initGridCount = ConfigManager.Instance.GetTemplate<FuncConfigConfig>("InitBagCellCount");
- else if (type == PackType.rptWarehouse)
- initGridCount = ConfigManager.Instance.GetTemplate<FuncConfigConfig>("InitDepotCellCount");
-
- return int.Parse(initGridCount.Numerical1);
- }
-
public void OpenGrid(int chooseGridCount, PackType type)
{
SinglePackModel singlePack = playerPack.GetSinglePackModel(type);
int openCount = chooseGridCount - singlePack.openGridCount;
- int index = chooseGridCount - GetInitGridCount(type);
+ int index = 0;
+ switch(type)
+ {
+ case PackType.rptItem:
+ index = chooseGridCount - playerPack.InitBagGridCnt;
+ break;
+ case PackType.rptWarehouse:
+ index = chooseGridCount - playerPack.InitDepotGridCnt;
+ break;
+ }
itemTipsModel.SetExtendGirdModel(openCount,index, type);
WindowCenter.Instance.Open<ExtendWin>();
}
diff --git a/System/KnapSack/Logic/PackSendQuestMgr.cs b/System/KnapSack/Logic/PackSendQuestMgr.cs
index 9941810..db6ac8e 100644
--- a/System/KnapSack/Logic/PackSendQuestMgr.cs
+++ b/System/KnapSack/Logic/PackSendQuestMgr.cs
@@ -680,7 +680,7 @@
if (useItemModel.itemId == 951)
{
- int startLockIndex = singlePack.openGridCount - modelInterface.GetInitGridCount(PackType.rptItem);
+ int startLockIndex = singlePack.openGridCount - playerPack.InitBagGridCnt;
int chooseGridCnt = singlePack.openGridCount + GetExtendGridCnt(startLockIndex);
modelInterface.OpenGrid(chooseGridCnt, PackType.rptItem);
return;
@@ -776,6 +776,11 @@
{
extendCnt = 1;
}
+ int remianLock = playerPack.MaxBagGridCnt - playerPack.GetSinglePackModel(PackType.rptItem).openGridCount;
+ if(extendCnt > remianLock)
+ {
+ extendCnt = remianLock;
+ }
return extendCnt;
}
}
diff --git a/System/KnapSack/Logic/PlayerPackModels.cs b/System/KnapSack/Logic/PlayerPackModels.cs
index 12b2315..0cdb99f 100644
--- a/System/KnapSack/Logic/PlayerPackModels.cs
+++ b/System/KnapSack/Logic/PlayerPackModels.cs
@@ -17,6 +17,11 @@
public Dictionary<int, Dictionary<int, int>> decomposeAttrDict = new Dictionary<int, Dictionary<int, int>>();
public static string StrengthAttrShift_RecordKey = "StrengthAttrShift";
public const string RecordKnapsackTitle = "RecordKnapsackTitle";
+ public int MaxBagGridCnt { get; private set; }
+ public int InitBagGridCnt { get; private set; }
+ public int MaxDepotGridCnt { get; private set; }
+ public int InitDepotGridCnt { get; private set; }
+
public override void Init()
{
List<DungeonOpenTimeConfig> dungeonlist = ConfigManager.Instance.GetAllValues<DungeonOpenTimeConfig>();
@@ -71,6 +76,11 @@
minDecomposeNum = int.Parse(equipDecompose.Numerical1);
defaultUnSelectlist = ConfigParse.GetMultipleStr<int>(equipDecompose.Numerical2);
+ InitDepotGridCnt = int.Parse(ConfigManager.Instance.GetTemplate<FuncConfigConfig>("InitDepotCellCount").Numerical1);
+ InitBagGridCnt = int.Parse(ConfigManager.Instance.GetTemplate<FuncConfigConfig>("InitBagCellCount").Numerical1);
+ MaxBagGridCnt = int.Parse(ConfigManager.Instance.GetTemplate<FuncConfigConfig>("MaxBagCellCount").Numerical1);
+ MaxDepotGridCnt = int.Parse(ConfigManager.Instance.GetTemplate<FuncConfigConfig>("MaxDepotCellCount").Numerical1);
+
}
public void OnBeforePlayerDataInitialize()
diff --git a/UI/Common/SortTable.cs b/UI/Common/SortTable.cs
index c146a98..dce259c 100644
--- a/UI/Common/SortTable.cs
+++ b/UI/Common/SortTable.cs
@@ -1,67 +1,67 @@
-锘縰sing EnhancedUI.EnhancedScroller;
-using System;
-using System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
-using UnityEngine.UI;
-
-namespace Snxxz.UI
-{
- public class SortTable : MonoBehaviour
- {
- [SerializeField] SortType m_SortType;
- public SortType sortType
- {
- get
- {
- return m_SortType;
- }
- set
- {
- m_SortType = value;
- }
- }
- [SerializeField] List<SortElement> m_SortElements;
- [SerializeField] ScrollerController m_Controller;
- [SerializeField] ClickScreenOtherSpace m_ClickOtherSpace;
- [SerializeField] Text m_TargetDisplay;
- public event Action<int> onSelectSortEvent;
- public event Action onSortCloseEvent;
-
- DogzModel dogzModel { get { return ModelCenter.Instance.GetModel<DogzModel>(); } }
- private void Awake()
- {
- m_Controller.OnRefreshCell += OnRefreshCell;
- }
-
- private void OnEnable()
- {
- m_Controller.Refresh();
- if (m_SortElements != null)
- {
- for (int i = 0; i < m_SortElements.Count; i++)
- {
- m_Controller.AddCell(ScrollerDataType.Header, i, OnSortSelect);
- }
- }
- m_Controller.Restart();
-
- if (m_ClickOtherSpace != null)
- {
- m_ClickOtherSpace.RemoveAllListeners();
- m_ClickOtherSpace.AddListener(() =>
- {
- if (onSortCloseEvent != null)
- {
- onSortCloseEvent();
- }
- });
- }
- }
- private void OnSortSelect(CellView _cell)
- {
- var _index = _cell.index;
- var type = m_SortElements[_index].type;
+锘縰sing EnhancedUI.EnhancedScroller;
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.UI;
+
+namespace Snxxz.UI
+{
+ public class SortTable : MonoBehaviour
+ {
+ [SerializeField] SortType m_SortType;
+ public SortType sortType
+ {
+ get
+ {
+ return m_SortType;
+ }
+ set
+ {
+ m_SortType = value;
+ }
+ }
+ [SerializeField] List<SortElement> m_SortElements;
+ [SerializeField] ScrollerController m_Controller;
+ [SerializeField] ClickScreenOtherSpace m_ClickOtherSpace;
+ [SerializeField] Text m_TargetDisplay;
+ public event Action<int> onSelectSortEvent;
+ public event Action onSortCloseEvent;
+
+ DogzModel dogzModel { get { return ModelCenter.Instance.GetModel<DogzModel>(); } }
+ private void Awake()
+ {
+ m_Controller.OnRefreshCell += OnRefreshCell;
+ }
+
+ private void OnEnable()
+ {
+ m_Controller.Refresh();
+ if (m_SortElements != null)
+ {
+ for (int i = 0; i < m_SortElements.Count; i++)
+ {
+ m_Controller.AddCell(ScrollerDataType.Header, i, OnSortSelect);
+ }
+ }
+ m_Controller.Restart();
+
+ if (m_ClickOtherSpace != null)
+ {
+ m_ClickOtherSpace.RemoveAllListeners();
+ m_ClickOtherSpace.AddListener(() =>
+ {
+ if (onSortCloseEvent != null)
+ {
+ onSortCloseEvent();
+ }
+ });
+ }
+ }
+ private void OnSortSelect(CellView _cell)
+ {
+ var _index = _cell.index;
+ var type = m_SortElements[_index].type;
switch (sortType)
{
case SortType.EquipQuality:
@@ -70,48 +70,48 @@
case SortType.EquipStar:
dogzModel.SelectDogzItemStart = type;
break;
- }
-
- if (onSelectSortEvent != null)
- {
- onSelectSortEvent(type);
- }
- if (onSortCloseEvent != null)
- {
- onSortCloseEvent();
- }
- if (m_TargetDisplay != null)
- {
- m_TargetDisplay.text = Language.Get(m_SortElements[_index].textKey);
- }
- this.gameObject.SetActive(false);
- }
- private void OnRefreshCell(ScrollerDataType type, CellView cell)
- {
- var _sortCell = cell as SortCell;
- _sortCell.sortTypeTxt.text = Language.Get(m_SortElements[cell.index].textKey);
- }
-
- public void SetDefault()
- {
- if (m_TargetDisplay != null && m_SortElements != null && m_SortElements.Count > 0)
- {
- m_TargetDisplay.text = Language.Get(m_SortElements[0].textKey);
- }
- }
- }
-
- public enum SortType
- {
- EquipQuality,
- EquipStar,
- }
- [Serializable]
- public struct SortElement
- {
- [Header("璇█琛╧ey")]
- public string textKey;
- public int type;
- }
-}
-
+ }
+
+ if (onSelectSortEvent != null)
+ {
+ onSelectSortEvent(type);
+ }
+ if (onSortCloseEvent != null)
+ {
+ onSortCloseEvent();
+ }
+ if (m_TargetDisplay != null)
+ {
+ m_TargetDisplay.text = Language.Get(m_SortElements[_index].textKey);
+ }
+ this.gameObject.SetActive(false);
+ }
+ private void OnRefreshCell(ScrollerDataType type, CellView cell)
+ {
+ var _sortCell = cell as SortCell;
+ _sortCell.sortTypeTxt.text = Language.Get(m_SortElements[cell.index].textKey);
+ }
+
+ public void SetDefault()
+ {
+ if (m_TargetDisplay != null && m_SortElements != null && m_SortElements.Count > 0)
+ {
+ m_TargetDisplay.text = Language.Get(m_SortElements[0].textKey);
+ }
+ }
+ }
+
+ public enum SortType
+ {
+ EquipQuality,
+ EquipStar,
+ }
+ [Serializable]
+ public struct SortElement
+ {
+ [Header("璇█琛╧ey")]
+ public string textKey;
+ public int type;
+ }
+}
+
--
Gitblit v1.8.0