From ee3196b5a04c15d025d1a9eab825d5d14987758d Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期四, 30 十月 2025 00:23:30 +0800
Subject: [PATCH] 286 【常规】坊市系统; 调整布阵界面对应引导
---
Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA232_tagCSRefreshShop.cs | 18
Main/Core/NetworkPackage/ClientPack/CA3_Item/CA310_tagCSBuyItem.cs | 20
Main/System/Store/StoreCell.cs.meta | 2
Main/System/Store/StoreWin.cs | 179 +++
Main/Core/NetworkPackage/DTCFile/ServerPack/HA8_Item/DTCA802_tagSCShopItemBuyCntInfo.cs.meta | 2
Main/System/Redpoint/MainRedDot.cs | 10
Main/Utility/ComponentExtersion.cs | 35
Main/System/UIBase/OneLevelWin.cs | 183 ---
Main/System/Store/StoreBaseWin.cs.meta | 2
Main/Core/NetworkPackage/ServerPack/H01_System/H0102_tagCDBPlayer.cs | 2
Main/System/Store/StoreModel.cs | 1521 ++++---------------------------
Main/System/HeroUI/HeroDeleteWin.cs | 3
Main/Component/UI/Common/GroupButtonEx.cs | 19
Main/System/Store/BuyItemWin.cs.meta | 0
Main/Utility/EnumHelper.cs | 4
Main/Manager/UIManager.cs | 6
Main/System/HeroUI/HeroBaseWin.cs | 6
Main/System/Store/BuyItemWin.cs | 97 ++
Main/Core/NetworkPackage/DTCFile/ServerPack/HA8_Item/DTCA802_tagSCShopItemBuyCntInfo.cs | 12
Main/Core/NetworkPackage/DTCFile/ServerPack/HA8_Item/DTCA803_tagSCShopRefreshItemInfo.cs.meta | 2
Main/System/Redpoint/RedpointCenter.cs | 33
Main/System/Arena/ArenaAwardWin.cs | 1
Main/Core/NetworkPackage/ServerPack/HA8_Item/HA802_tagSCShopItemBuyCntInfo.cs | 29
Main/System/Main/FuncsBaseWin.cs | 1
Main/System/Guild/GuildHawkerWin.cs | 2
Main/System/Mail/MailWin.cs | 1
Main/System/Main/RightFuncInHome.cs.meta | 2
Main/System/FirstCharge/FirstChargeWin.cs | 4
Main/System/Main/HomeWin.cs | 15
Main/Core/NetworkPackage/ServerPack/HA8_Item/HA803_tagSCShopRefreshItemInfo.cs | 23
Main/Core/NetworkPackage/ServerPack/HA8_Item/HA803_tagSCShopRefreshItemInfo.cs.meta | 2
Main/Config/Configs/StoreConfig.cs | 102 -
Main/System/Guild/GuildManager.cs | 7
Main/System/Store/StoreLineCell.cs.meta | 2
Main/Component/UI/Common/SliderPanel.cs | 6
Main/Core/NetworkPackage/ServerPack/HA8_Item/HA802_tagSCShopItemBuyCntInfo.cs.meta | 2
Main/System/Redpoint/Redpoint.cs | 120 +-
Main/System/ItemTip/ItemTipUtility.cs | 26
/dev/null | 12
Main/Utility/UIHelper.cs | 7
Main/System/Main/RightFuncInHome.cs | 75 +
Main/Core/NetworkPackage/ClientPack/CA3_Item/CA310_tagCSBuyItem.cs.meta | 2
Main/Core/NetworkPackage/DataToCtl/PackageRegedit.cs | 4
Main/System/Store/StoreCell.cs | 143 ++
Main/Core/NetworkPackage/DTCFile/ServerPack/HA8_Item/DTCA803_tagSCShopRefreshItemInfo.cs | 12
Main/System/Store/StoreBaseWin.cs | 26
Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA232_tagCSRefreshShop.cs.meta | 2
Main/System/Guild/GuildBaseWin.cs | 9
Main/System/Store/StoreLineCell.cs | 33
Main/System/Store/StoreWin.cs.meta | 2
50 files changed, 1,127 insertions(+), 1,701 deletions(-)
diff --git a/Main/Component/UI/Common/GroupButtonEx.cs b/Main/Component/UI/Common/GroupButtonEx.cs
index 0edff16..5f233f4 100644
--- a/Main/Component/UI/Common/GroupButtonEx.cs
+++ b/Main/Component/UI/Common/GroupButtonEx.cs
@@ -78,6 +78,8 @@
set { m_SelectEffect = value; }
}
+ [SerializeField] public RedpointBehaviour redpoint; //澶栭儴鑷繁鐢�
+
public bool isLock = false;
protected override void Awake()
@@ -124,12 +126,19 @@
// 鏇存柊鎸夐挳鐘舵��
public void UpdateButtonState()
{
- // 鏇存柊鍥炬爣鏄剧ず
- if (m_SelectIcon != null)
- m_SelectIcon.SetActive(m_State == TitleBtnState.Click);
+ if (m_SelectIcon != null && m_UnSelectIcon != null && m_SelectIcon.sprite == m_UnSelectIcon.sprite)
+ {
+ m_SelectIcon.SetActive(true);
+ }
+ else
+ {
+ // 鏇存柊鍥炬爣鏄剧ず
+ if (m_SelectIcon != null)
+ m_SelectIcon.SetActive(m_State == TitleBtnState.Click);
- if (m_UnSelectIcon != null)
- m_UnSelectIcon.SetActive(m_State != TitleBtnState.Click);
+ if (m_UnSelectIcon != null)
+ m_UnSelectIcon.SetActive(m_State != TitleBtnState.Click);
+ }
// 鏇存柊鏂囧瓧棰滆壊
if (m_Title != null && m_Manager != null)
diff --git a/Main/Component/UI/Common/SliderPanel.cs b/Main/Component/UI/Common/SliderPanel.cs
index 761b58a..542e5ca 100644
--- a/Main/Component/UI/Common/SliderPanel.cs
+++ b/Main/Component/UI/Common/SliderPanel.cs
@@ -54,9 +54,9 @@
{
count = _count;
maxCount = _maxCount;
- slider.minValue = 1;
- slider.maxValue = _maxCount;
slider.value = count;
+ slider.minValue = 0;
+ slider.maxValue = _maxCount;
Refresh();
OnChangeEvent = _OnChangeEvent;
@@ -82,7 +82,7 @@
maxBtn.SetColorful(null, true);
}
- if (count <= 0)
+ if (count <= 1)
{
decBtn.interactable = false;
decBtn.SetColorful(null, false);
diff --git a/Main/Config/Configs/StoreConfig.cs b/Main/Config/Configs/StoreConfig.cs
index 307587f..26eb7c6 100644
--- a/Main/Config/Configs/StoreConfig.cs
+++ b/Main/Config/Configs/StoreConfig.cs
@@ -1,6 +1,6 @@
锘�//--------------------------------------------------------
// [Author]: YYL
-// [ Date ]: 2025骞�8鏈�5鏃�
+// [ Date ]: 2025骞�10鏈�28鏃�
//--------------------------------------------------------
using System.Collections.Generic;
@@ -18,27 +18,17 @@
public int ID;
public int ShopType;
- public int[] SecondType;
public int ShopSort;
public int ItemID;
public int ItemCnt;
- public int IsBind;
- public string ItemListEx;
- public int MainItemID;
- public string JobItem;
- public int RefreshType;
- public int[] VIPLV;
- public int LV;
- public int LVSee;
- public int[] GoumaiNumber;
+ public int[][] ItemListEx;
+ public int ResetType;
+ public int LimitCnt;
public int MoneyType;
- public int MoneyNumber;
+ public int MoneyNum;
public int MoneyOriginal;
- public int LimitValue;
- public string SalesStatus;
- public int TheOnlyShop;
- public int RemindSuccess;
- public int IsHideSellOut;
+ public int UnlockType;
+ public int UnlockValue;
public override int LoadKey(string _key)
{
@@ -54,83 +44,27 @@
int.TryParse(tables[1],out ShopType);
- if (tables[2].Contains("["))
- {
- SecondType = JsonMapper.ToObject<int[]>(tables[2]);
- }
- else
- {
- string[] SecondTypeStringArray = tables[2].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
- SecondType = new int[SecondTypeStringArray.Length];
- for (int i=0;i<SecondTypeStringArray.Length;i++)
- {
- int.TryParse(SecondTypeStringArray[i],out SecondType[i]);
- }
- }
+ int.TryParse(tables[2],out ShopSort);
- int.TryParse(tables[3],out ShopSort);
+ int.TryParse(tables[3],out ItemID);
- int.TryParse(tables[4],out ItemID);
+ int.TryParse(tables[4],out ItemCnt);
- int.TryParse(tables[5],out ItemCnt);
+ ItemListEx = JsonMapper.ToObject<int[][]>(tables[5].Replace("(", "[").Replace(")", "]"));
- int.TryParse(tables[6],out IsBind);
+ int.TryParse(tables[6],out ResetType);
- ItemListEx = tables[7];
+ int.TryParse(tables[7],out LimitCnt);
- int.TryParse(tables[8],out MainItemID);
+ int.TryParse(tables[8],out MoneyType);
- JobItem = tables[9];
+ int.TryParse(tables[9],out MoneyNum);
- int.TryParse(tables[10],out RefreshType);
+ int.TryParse(tables[10],out MoneyOriginal);
- if (tables[11].Contains("["))
- {
- VIPLV = JsonMapper.ToObject<int[]>(tables[11]);
- }
- else
- {
- string[] VIPLVStringArray = tables[11].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
- VIPLV = new int[VIPLVStringArray.Length];
- for (int i=0;i<VIPLVStringArray.Length;i++)
- {
- int.TryParse(VIPLVStringArray[i],out VIPLV[i]);
- }
- }
+ int.TryParse(tables[11],out UnlockType);
- int.TryParse(tables[12],out LV);
-
- int.TryParse(tables[13],out LVSee);
-
- if (tables[14].Contains("["))
- {
- GoumaiNumber = JsonMapper.ToObject<int[]>(tables[14]);
- }
- else
- {
- string[] GoumaiNumberStringArray = tables[14].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
- GoumaiNumber = new int[GoumaiNumberStringArray.Length];
- for (int i=0;i<GoumaiNumberStringArray.Length;i++)
- {
- int.TryParse(GoumaiNumberStringArray[i],out GoumaiNumber[i]);
- }
- }
-
- int.TryParse(tables[15],out MoneyType);
-
- int.TryParse(tables[16],out MoneyNumber);
-
- int.TryParse(tables[17],out MoneyOriginal);
-
- int.TryParse(tables[18],out LimitValue);
-
- SalesStatus = tables[19];
-
- int.TryParse(tables[20],out TheOnlyShop);
-
- int.TryParse(tables[21],out RemindSuccess);
-
- int.TryParse(tables[22],out IsHideSellOut);
+ int.TryParse(tables[12],out UnlockValue);
}
catch (Exception exception)
{
diff --git a/Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA201_tagCMQueryNPCShopItem.cs b/Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA201_tagCMQueryNPCShopItem.cs
deleted file mode 100644
index 378ee4d..0000000
--- a/Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA201_tagCMQueryNPCShopItem.cs
+++ /dev/null
@@ -1,18 +0,0 @@
-using UnityEngine;
-using System.Collections;
-
-//A2 01 请求npc商店物品信息 #tagCMQueryNPCShopItem
-
-public class CA201_tagCMQueryNPCShopItem : GameNetPackBasic {
- public uint NPCShopID; //商店npcid
-
- public CA201_tagCMQueryNPCShopItem () {
- combineCmd = (ushort)0x03FE;
- _cmd = (ushort)0xA201;
- }
-
- public override void WriteToBytes () {
- WriteBytes (NPCShopID, NetDataType.DWORD);
- }
-
-}
diff --git a/Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA201_tagCMQueryNPCShopItem.cs.meta b/Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA201_tagCMQueryNPCShopItem.cs.meta
deleted file mode 100644
index 68e4135..0000000
--- a/Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA201_tagCMQueryNPCShopItem.cs.meta
+++ /dev/null
@@ -1,12 +0,0 @@
-fileFormatVersion: 2
-guid: 32d724a12783cc8418b8c55ac5e2b1ac
-timeCreated: 1505463111
-licenseType: Pro
-MonoImporter:
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA232_tagCMRefreshMysticalShop.cs b/Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA232_tagCMRefreshMysticalShop.cs
deleted file mode 100644
index f199dfc..0000000
--- a/Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA232_tagCMRefreshMysticalShop.cs
+++ /dev/null
@@ -1,19 +0,0 @@
-锘縰sing UnityEngine;
-using System.Collections;
-
-// A2 32 绁炵鍟嗗簵鍒锋柊 #tagCMRefreshMysticalShop
-
-public class CA232_tagCMRefreshMysticalShop : GameNetPackBasic
-{
-
- public CA232_tagCMRefreshMysticalShop()
- {
- combineCmd = (ushort)0x03FE;
- _cmd = (ushort)0xA232;
- }
-
- public override void WriteToBytes()
- {
- }
-
-}
\ No newline at end of file
diff --git a/Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA232_tagCMRefreshMysticalShop.cs.meta b/Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA232_tagCMRefreshMysticalShop.cs.meta
deleted file mode 100644
index 0f3a1b3..0000000
--- a/Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA232_tagCMRefreshMysticalShop.cs.meta
+++ /dev/null
@@ -1,12 +0,0 @@
-fileFormatVersion: 2
-guid: 18beaa3b153bbc145a3d8de5fff41866
-timeCreated: 1551083019
-licenseType: Pro
-MonoImporter:
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA232_tagCSRefreshShop.cs b/Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA232_tagCSRefreshShop.cs
new file mode 100644
index 0000000..8906e99
--- /dev/null
+++ b/Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA232_tagCSRefreshShop.cs
@@ -0,0 +1,18 @@
+using UnityEngine;
+using System.Collections;
+
+// A2 32 鍒锋柊鍟嗗簵 #tagCSRefreshShop
+
+public class CA232_tagCSRefreshShop : GameNetPackBasic {
+ public ushort ShopType;
+
+ public CA232_tagCSRefreshShop () {
+ combineCmd = (ushort)0x03FE;
+ _cmd = (ushort)0xA232;
+ }
+
+ public override void WriteToBytes () {
+ WriteBytes (ShopType, NetDataType.WORD);
+ }
+
+}
diff --git a/Main/Core/NetworkPackage/ServerPack/HA8_Item/HA802_tagMCShopItemDayBuyCntInfo.cs.meta b/Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA232_tagCSRefreshShop.cs.meta
similarity index 83%
copy from Main/Core/NetworkPackage/ServerPack/HA8_Item/HA802_tagMCShopItemDayBuyCntInfo.cs.meta
copy to Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA232_tagCSRefreshShop.cs.meta
index 80dfcd7..cee489b 100644
--- a/Main/Core/NetworkPackage/ServerPack/HA8_Item/HA802_tagMCShopItemDayBuyCntInfo.cs.meta
+++ b/Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA232_tagCSRefreshShop.cs.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: cbdb66c5b2f98534ca9f73a2b9b281e0
+guid: 29b7288a0ca13a0459cee54ee3946f00
MonoImporter:
externalObjects: {}
serializedVersion: 2
diff --git a/Main/Core/NetworkPackage/ClientPack/CA3_Item/CA310_tagCMBuyItem.cs b/Main/Core/NetworkPackage/ClientPack/CA3_Item/CA310_tagCMBuyItem.cs
deleted file mode 100644
index 0590a8e..0000000
--- a/Main/Core/NetworkPackage/ClientPack/CA3_Item/CA310_tagCMBuyItem.cs
+++ /dev/null
@@ -1,20 +0,0 @@
-using UnityEngine;
-using System.Collections;
-
-// A3 10 璐拱鍟嗗煄鐗╁搧 #tagCMBuyItem
-
-public class CA310_tagCMBuyItem : GameNetPackBasic {
- public ushort BuyItemIndex; //璐拱鐨勭墿鍝佺储寮�
- public uint BuyCount; //璐拱鏁伴噺
-
- public CA310_tagCMBuyItem () {
- combineCmd = (ushort)0x03FE;
- _cmd = (ushort)0xA310;
- }
-
- public override void WriteToBytes () {
- WriteBytes (BuyItemIndex, NetDataType.WORD);
- WriteBytes (BuyCount, NetDataType.DWORD);
- }
-
-}
diff --git a/Main/Core/NetworkPackage/ClientPack/CA3_Item/CA310_tagCMBuyItem.cs.meta b/Main/Core/NetworkPackage/ClientPack/CA3_Item/CA310_tagCMBuyItem.cs.meta
deleted file mode 100644
index 8e8cbf7..0000000
--- a/Main/Core/NetworkPackage/ClientPack/CA3_Item/CA310_tagCMBuyItem.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: 164792ae07cbd5445aeb4d834ed6f3a2
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Main/Core/NetworkPackage/ClientPack/CA3_Item/CA310_tagCSBuyItem.cs b/Main/Core/NetworkPackage/ClientPack/CA3_Item/CA310_tagCSBuyItem.cs
new file mode 100644
index 0000000..c48e1d8
--- /dev/null
+++ b/Main/Core/NetworkPackage/ClientPack/CA3_Item/CA310_tagCSBuyItem.cs
@@ -0,0 +1,20 @@
+using UnityEngine;
+using System.Collections;
+
+// A3 10 璐拱鍟嗗煄鐗╁搧 #tagCSBuyItem
+
+public class CA310_tagCSBuyItem : GameNetPackBasic {
+ public uint ShopID; //鍟嗗搧ID
+ public uint BuyCount; //璐拱鏁伴噺
+
+ public CA310_tagCSBuyItem () {
+ combineCmd = (ushort)0x03FE;
+ _cmd = (ushort)0xA310;
+ }
+
+ public override void WriteToBytes () {
+ WriteBytes (ShopID, NetDataType.DWORD);
+ WriteBytes (BuyCount, NetDataType.DWORD);
+ }
+
+}
diff --git a/Main/Core/NetworkPackage/ServerPack/HA8_Item/HA802_tagMCShopItemDayBuyCntInfo.cs.meta b/Main/Core/NetworkPackage/ClientPack/CA3_Item/CA310_tagCSBuyItem.cs.meta
similarity index 83%
rename from Main/Core/NetworkPackage/ServerPack/HA8_Item/HA802_tagMCShopItemDayBuyCntInfo.cs.meta
rename to Main/Core/NetworkPackage/ClientPack/CA3_Item/CA310_tagCSBuyItem.cs.meta
index 80dfcd7..2384dc4 100644
--- a/Main/Core/NetworkPackage/ServerPack/HA8_Item/HA802_tagMCShopItemDayBuyCntInfo.cs.meta
+++ b/Main/Core/NetworkPackage/ClientPack/CA3_Item/CA310_tagCSBuyItem.cs.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: cbdb66c5b2f98534ca9f73a2b9b281e0
+guid: 2c10800b4df582940bcd553f7ce5d5e7
MonoImporter:
externalObjects: {}
serializedVersion: 2
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/HA8_Item/DTCA802_tagMCShopItemDayBuyCntInfo.cs b/Main/Core/NetworkPackage/DTCFile/ServerPack/HA8_Item/DTCA802_tagMCShopItemDayBuyCntInfo.cs
deleted file mode 100644
index 5f91d18..0000000
--- a/Main/Core/NetworkPackage/DTCFile/ServerPack/HA8_Item/DTCA802_tagMCShopItemDayBuyCntInfo.cs
+++ /dev/null
@@ -1,13 +0,0 @@
-using UnityEngine;
-using System.Collections;
-
-// A8 02 閫氱煡NPC鍟嗗簵鐗╁搧浠婃棩宸茶喘涔版鏁� #tagMCShopItemDayBuyCntInfo
-
-public class DTCA802_tagMCShopItemDayBuyCntInfo : DtcBasic {
- public override void Done(GameNetPackBasic vNetPack)
- {
- base.Done(vNetPack);
- HA802_tagMCShopItemDayBuyCntInfo vNetData = vNetPack as HA802_tagMCShopItemDayBuyCntInfo;
- StoreModel.Instance.RefreshBuyShopLimitModel(vNetData);
- }
-}
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/HA8_Item/DTCA802_tagMCShopItemDayBuyCntInfo.cs.meta b/Main/Core/NetworkPackage/DTCFile/ServerPack/HA8_Item/DTCA802_tagMCShopItemDayBuyCntInfo.cs.meta
deleted file mode 100644
index 81e2b01..0000000
--- a/Main/Core/NetworkPackage/DTCFile/ServerPack/HA8_Item/DTCA802_tagMCShopItemDayBuyCntInfo.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: 5b4ee9607394bd446b2fb9ff4f29488b
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/HA8_Item/DTCA802_tagSCShopItemBuyCntInfo.cs b/Main/Core/NetworkPackage/DTCFile/ServerPack/HA8_Item/DTCA802_tagSCShopItemBuyCntInfo.cs
new file mode 100644
index 0000000..e12978d
--- /dev/null
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/HA8_Item/DTCA802_tagSCShopItemBuyCntInfo.cs
@@ -0,0 +1,12 @@
+using UnityEngine;
+using System.Collections;
+
+// A8 02 鍟嗗簵鐗╁搧宸茶喘涔版鏁� #tagSCShopItemBuyCntInfo
+
+public class DTCA802_tagSCShopItemBuyCntInfo : DtcBasic {
+ public override void Done(GameNetPackBasic vNetPack) {
+ base.Done(vNetPack);
+ HA802_tagSCShopItemBuyCntInfo vNetData = vNetPack as HA802_tagSCShopItemBuyCntInfo;
+ StoreModel.Instance.RefreshBuyShopLimitModel(vNetData);
+ }
+}
diff --git a/Main/Core/NetworkPackage/ServerPack/HA8_Item/HA802_tagMCShopItemDayBuyCntInfo.cs.meta b/Main/Core/NetworkPackage/DTCFile/ServerPack/HA8_Item/DTCA802_tagSCShopItemBuyCntInfo.cs.meta
similarity index 83%
copy from Main/Core/NetworkPackage/ServerPack/HA8_Item/HA802_tagMCShopItemDayBuyCntInfo.cs.meta
copy to Main/Core/NetworkPackage/DTCFile/ServerPack/HA8_Item/DTCA802_tagSCShopItemBuyCntInfo.cs.meta
index 80dfcd7..d87f749 100644
--- a/Main/Core/NetworkPackage/ServerPack/HA8_Item/HA802_tagMCShopItemDayBuyCntInfo.cs.meta
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/HA8_Item/DTCA802_tagSCShopItemBuyCntInfo.cs.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: cbdb66c5b2f98534ca9f73a2b9b281e0
+guid: 6562275467e1a804fba2bf87c1dfc299
MonoImporter:
externalObjects: {}
serializedVersion: 2
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/HA8_Item/DTCA803_tagSCShopRefreshItemInfo.cs b/Main/Core/NetworkPackage/DTCFile/ServerPack/HA8_Item/DTCA803_tagSCShopRefreshItemInfo.cs
new file mode 100644
index 0000000..b88d439
--- /dev/null
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/HA8_Item/DTCA803_tagSCShopRefreshItemInfo.cs
@@ -0,0 +1,12 @@
+using UnityEngine;
+using System.Collections;
+
+// A8 03 鍟嗗簵鍒锋柊瑙i攣鐨勫晢鍝佷俊鎭� #tagSCShopRefreshItemInfo
+
+public class DTCA803_tagSCShopRefreshItemInfo : DtcBasic {
+ public override void Done(GameNetPackBasic vNetPack) {
+ base.Done(vNetPack);
+ HA803_tagSCShopRefreshItemInfo vNetData = vNetPack as HA803_tagSCShopRefreshItemInfo;
+ StoreModel.Instance.UpdateRefreshItemInfo(vNetData);
+ }
+}
diff --git a/Main/Core/NetworkPackage/ServerPack/HA8_Item/HA802_tagMCShopItemDayBuyCntInfo.cs.meta b/Main/Core/NetworkPackage/DTCFile/ServerPack/HA8_Item/DTCA803_tagSCShopRefreshItemInfo.cs.meta
similarity index 83%
copy from Main/Core/NetworkPackage/ServerPack/HA8_Item/HA802_tagMCShopItemDayBuyCntInfo.cs.meta
copy to Main/Core/NetworkPackage/DTCFile/ServerPack/HA8_Item/DTCA803_tagSCShopRefreshItemInfo.cs.meta
index 80dfcd7..ad3625a 100644
--- a/Main/Core/NetworkPackage/ServerPack/HA8_Item/HA802_tagMCShopItemDayBuyCntInfo.cs.meta
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/HA8_Item/DTCA803_tagSCShopRefreshItemInfo.cs.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: cbdb66c5b2f98534ca9f73a2b9b281e0
+guid: 3448d17fb6821f145a4011196fbe337f
MonoImporter:
externalObjects: {}
serializedVersion: 2
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/HA8_Item/DTCA811_tagMCShoppingResult.cs b/Main/Core/NetworkPackage/DTCFile/ServerPack/HA8_Item/DTCA811_tagMCShoppingResult.cs
deleted file mode 100644
index e8fbf43..0000000
--- a/Main/Core/NetworkPackage/DTCFile/ServerPack/HA8_Item/DTCA811_tagMCShoppingResult.cs
+++ /dev/null
@@ -1,13 +0,0 @@
-using UnityEngine;
-using System.Collections;
-
-// A8 11 鍟嗗簵璐拱缁撴灉 #tagMCShoppingResult
-
-public class DTCA811_tagMCShoppingResult : DtcBasic {
- public override void Done(GameNetPackBasic vNetPack)
- {
- base.Done(vNetPack);
- HA811_tagMCShoppingResult vNetData = vNetPack as HA811_tagMCShoppingResult;
- StoreModel.Instance.GetBuyResult(vNetData);
- }
-}
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/HA8_Item/DTCA811_tagMCShoppingResult.cs.meta b/Main/Core/NetworkPackage/DTCFile/ServerPack/HA8_Item/DTCA811_tagMCShoppingResult.cs.meta
deleted file mode 100644
index fe67285..0000000
--- a/Main/Core/NetworkPackage/DTCFile/ServerPack/HA8_Item/DTCA811_tagMCShoppingResult.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: 6fc2d2e8163f66f4fa1e4cc97b9df1f7
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Main/Core/NetworkPackage/DataToCtl/PackageRegedit.cs b/Main/Core/NetworkPackage/DataToCtl/PackageRegedit.cs
index 7a7a29b..672dfce 100644
--- a/Main/Core/NetworkPackage/DataToCtl/PackageRegedit.cs
+++ b/Main/Core/NetworkPackage/DataToCtl/PackageRegedit.cs
@@ -67,9 +67,9 @@
Register(typeof(HA501_tagMCNotifyRequestJoinFamilyInfo), typeof(DTCA501_tagMCNotifyRequestJoinFamilyInfo));
Register(typeof(HA705_tagSCQueryPlayerCacheResult), typeof(DTCA705_tagSCQueryPlayerCacheResult));
Register(typeof(HA801_tagMCGiveAwardInfo), typeof(DTCA801_tagMCGiveAwardInfo));
- Register(typeof(HA802_tagMCShopItemDayBuyCntInfo), typeof(DTCA802_tagMCShopItemDayBuyCntInfo));
+ Register(typeof(HA802_tagSCShopItemBuyCntInfo), typeof(DTCA802_tagSCShopItemBuyCntInfo));
+ Register(typeof(HA803_tagSCShopRefreshItemInfo), typeof(DTCA803_tagSCShopRefreshItemInfo));
Register(typeof(HA809_tagMCItemDayUseCntInfo), typeof(DTCA809_tagMCItemDayUseCntInfo));
- Register(typeof(HA811_tagMCShoppingResult), typeof(DTCA811_tagMCShoppingResult));
Register(typeof(HA721_tagMCEmojiPackInfo), typeof(DTCA721_tagMCEmojiPackInfo));
Register(typeof(HB117_tagMCFaceInfo), typeof(DTCB117_tagMCFaceInfo));
Register(typeof(HB118_tagMCFacePicInfo), typeof(DTCB118_tagMCFacePicInfo));
diff --git a/Main/Core/NetworkPackage/ServerPack/H01_System/H0102_tagCDBPlayer.cs b/Main/Core/NetworkPackage/ServerPack/H01_System/H0102_tagCDBPlayer.cs
index fe5a8eb..5d5dae0 100644
--- a/Main/Core/NetworkPackage/ServerPack/H01_System/H0102_tagCDBPlayer.cs
+++ b/Main/Core/NetworkPackage/ServerPack/H01_System/H0102_tagCDBPlayer.cs
@@ -103,7 +103,7 @@
public uint HPEx; //褰撳墠琛�閲� 瓒呰繃E鐨勮褰�
public uint Face; //澶村儚
public uint FacePic; //澶村儚澶栨
- public uint RoleType; //瑙掕壊绫诲瀷锛堝悇椤圭洰鍙嚜瀹氫箟鍚箟锛屽绉嶆棌锛屼笌鑱屼笟鍖哄垎锛�
+ public uint RoleType; //瑙掕壊澶栬
public H0102_tagCDBPlayer () {
_cmd = (ushort)0x0102;
diff --git a/Main/Core/NetworkPackage/ServerPack/HA8_Item/HA802_tagMCShopItemDayBuyCntInfo.cs b/Main/Core/NetworkPackage/ServerPack/HA8_Item/HA802_tagMCShopItemDayBuyCntInfo.cs
deleted file mode 100644
index 2adcc55..0000000
--- a/Main/Core/NetworkPackage/ServerPack/HA8_Item/HA802_tagMCShopItemDayBuyCntInfo.cs
+++ /dev/null
@@ -1,31 +0,0 @@
-using UnityEngine;
-using System.Collections;
-
-// A8 02 閫氱煡NPC鍟嗗簵鐗╁搧浠婃棩宸茶喘涔版鏁� #tagMCShopItemDayBuyCntInfo
-
-public class HA802_tagMCShopItemDayBuyCntInfo : GameNetPackBasic {
- public ushort Count; //閫氱煡涓暟锛屾敞鎰忎笉闄愬埗姣忔棩璐拱娆℃暟鐨勯粯璁や笉閫氱煡
- public tagMCShopItemDayBuyCnt[] DayBuyCntList;
-
- public HA802_tagMCShopItemDayBuyCntInfo () {
- _cmd = (ushort)0xA802;
- }
-
- public override void ReadFromBytes (byte[] vBytes) {
- TransBytes (out Count, vBytes, NetDataType.WORD);
- DayBuyCntList = new tagMCShopItemDayBuyCnt[Count];
- for (int i = 0; i < Count; i ++) {
- DayBuyCntList[i] = new tagMCShopItemDayBuyCnt();
- TransBytes (out DayBuyCntList[i].ItemIndex, vBytes, NetDataType.DWORD);
- TransBytes (out DayBuyCntList[i].BuyCnt, vBytes, NetDataType.DWORD);
- TransBytes (out DayBuyCntList[i].IsReset, vBytes, NetDataType.BYTE);
- }
- }
-
- public class tagMCShopItemDayBuyCnt {
- public uint ItemIndex;
- public uint BuyCnt; // 浠婃棩宸茶喘涔版鏁�
- public byte IsReset; //鏄惁閲嶇疆
- }
-
-}
diff --git a/Main/Core/NetworkPackage/ServerPack/HA8_Item/HA802_tagSCShopItemBuyCntInfo.cs b/Main/Core/NetworkPackage/ServerPack/HA8_Item/HA802_tagSCShopItemBuyCntInfo.cs
new file mode 100644
index 0000000..6da4e22
--- /dev/null
+++ b/Main/Core/NetworkPackage/ServerPack/HA8_Item/HA802_tagSCShopItemBuyCntInfo.cs
@@ -0,0 +1,29 @@
+using UnityEngine;
+using System.Collections;
+
+// A8 02 鍟嗗簵鐗╁搧宸茶喘涔版鏁� #tagSCShopItemBuyCntInfo
+
+public class HA802_tagSCShopItemBuyCntInfo : GameNetPackBasic {
+ public ushort Count;
+ public tagSCShopItemBuyCnt[] BuyCntList; //浠呴�氱煡鏈夐檺璐鏁扮殑鍟嗗搧
+
+ public HA802_tagSCShopItemBuyCntInfo () {
+ _cmd = (ushort)0xA802;
+ }
+
+ public override void ReadFromBytes (byte[] vBytes) {
+ TransBytes (out Count, vBytes, NetDataType.WORD);
+ BuyCntList = new tagSCShopItemBuyCnt[Count];
+ for (int i = 0; i < Count; i ++) {
+ BuyCntList[i] = new tagSCShopItemBuyCnt();
+ TransBytes (out BuyCntList[i].ShopID, vBytes, NetDataType.DWORD);
+ TransBytes (out BuyCntList[i].BuyCnt, vBytes, NetDataType.DWORD);
+ }
+ }
+
+ public class tagSCShopItemBuyCnt {
+ public uint ShopID; // 鍟嗗搧ID
+ public uint BuyCnt; // 宸茶喘涔版鏁�
+ }
+
+}
diff --git a/Main/Core/NetworkPackage/ServerPack/HA8_Item/HA802_tagMCShopItemDayBuyCntInfo.cs.meta b/Main/Core/NetworkPackage/ServerPack/HA8_Item/HA802_tagSCShopItemBuyCntInfo.cs.meta
similarity index 83%
copy from Main/Core/NetworkPackage/ServerPack/HA8_Item/HA802_tagMCShopItemDayBuyCntInfo.cs.meta
copy to Main/Core/NetworkPackage/ServerPack/HA8_Item/HA802_tagSCShopItemBuyCntInfo.cs.meta
index 80dfcd7..9c2855f 100644
--- a/Main/Core/NetworkPackage/ServerPack/HA8_Item/HA802_tagMCShopItemDayBuyCntInfo.cs.meta
+++ b/Main/Core/NetworkPackage/ServerPack/HA8_Item/HA802_tagSCShopItemBuyCntInfo.cs.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: cbdb66c5b2f98534ca9f73a2b9b281e0
+guid: 550e038f35a05504e907bb17dc280742
MonoImporter:
externalObjects: {}
serializedVersion: 2
diff --git a/Main/Core/NetworkPackage/ServerPack/HA8_Item/HA803_tagSCShopRefreshItemInfo.cs b/Main/Core/NetworkPackage/ServerPack/HA8_Item/HA803_tagSCShopRefreshItemInfo.cs
new file mode 100644
index 0000000..27d4fb7
--- /dev/null
+++ b/Main/Core/NetworkPackage/ServerPack/HA8_Item/HA803_tagSCShopRefreshItemInfo.cs
@@ -0,0 +1,23 @@
+using UnityEngine;
+using System.Collections;
+
+// A8 03 鍟嗗簵鍒锋柊瑙i攣鐨勫晢鍝佷俊鎭� #tagSCShopRefreshItemInfo
+
+public class HA803_tagSCShopRefreshItemInfo : GameNetPackBasic {
+ public ushort ShopType; // 鍟嗗簵绫诲瀷
+ public byte RefreshCnt; // 浠婃棩宸插埛鏂版鏁�
+ public byte Count;
+ public uint[] ShopIDList; // 瀵瑰簲鍒锋柊鍑烘潵鐨勫晢搴楄〃鍟嗗搧ID鍒楄〃
+
+ public HA803_tagSCShopRefreshItemInfo () {
+ _cmd = (ushort)0xA803;
+ }
+
+ public override void ReadFromBytes (byte[] vBytes) {
+ TransBytes (out ShopType, vBytes, NetDataType.WORD);
+ TransBytes (out RefreshCnt, vBytes, NetDataType.BYTE);
+ TransBytes (out Count, vBytes, NetDataType.BYTE);
+ TransBytes (out ShopIDList, vBytes, NetDataType.DWORD, Count);
+ }
+
+}
diff --git a/Main/Core/NetworkPackage/ServerPack/HA8_Item/HA802_tagMCShopItemDayBuyCntInfo.cs.meta b/Main/Core/NetworkPackage/ServerPack/HA8_Item/HA803_tagSCShopRefreshItemInfo.cs.meta
similarity index 83%
copy from Main/Core/NetworkPackage/ServerPack/HA8_Item/HA802_tagMCShopItemDayBuyCntInfo.cs.meta
copy to Main/Core/NetworkPackage/ServerPack/HA8_Item/HA803_tagSCShopRefreshItemInfo.cs.meta
index 80dfcd7..5ca50e9 100644
--- a/Main/Core/NetworkPackage/ServerPack/HA8_Item/HA802_tagMCShopItemDayBuyCntInfo.cs.meta
+++ b/Main/Core/NetworkPackage/ServerPack/HA8_Item/HA803_tagSCShopRefreshItemInfo.cs.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: cbdb66c5b2f98534ca9f73a2b9b281e0
+guid: ed9f0959991e18a428f4cb38e6e31163
MonoImporter:
externalObjects: {}
serializedVersion: 2
diff --git a/Main/Core/NetworkPackage/ServerPack/HA8_Item/HA811_tagMCShoppingResult.cs b/Main/Core/NetworkPackage/ServerPack/HA8_Item/HA811_tagMCShoppingResult.cs
deleted file mode 100644
index a0592ff..0000000
--- a/Main/Core/NetworkPackage/ServerPack/HA8_Item/HA811_tagMCShoppingResult.cs
+++ /dev/null
@@ -1,19 +0,0 @@
-using UnityEngine;
-using System.Collections;
-
-// A8 11 鍟嗗簵璐拱缁撴灉 #tagMCShoppingResult
-
-public class HA811_tagMCShoppingResult : GameNetPackBasic {
- public uint ItemIndex;
- public uint ItemCnt; //璐拱鏁伴噺
-
- public HA811_tagMCShoppingResult () {
- _cmd = (ushort)0xA811;
- }
-
- public override void ReadFromBytes (byte[] vBytes) {
- TransBytes (out ItemIndex, vBytes, NetDataType.DWORD);
- TransBytes (out ItemCnt, vBytes, NetDataType.DWORD);
- }
-
-}
diff --git a/Main/Core/NetworkPackage/ServerPack/HA8_Item/HA811_tagMCShoppingResult.cs.meta b/Main/Core/NetworkPackage/ServerPack/HA8_Item/HA811_tagMCShoppingResult.cs.meta
deleted file mode 100644
index 19048ca..0000000
--- a/Main/Core/NetworkPackage/ServerPack/HA8_Item/HA811_tagMCShoppingResult.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: d60a47c2cc066fd4591828a8598e0759
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Main/Manager/UIManager.cs b/Main/Manager/UIManager.cs
index 748a879..eed236b 100644
--- a/Main/Manager/UIManager.cs
+++ b/Main/Manager/UIManager.cs
@@ -326,7 +326,7 @@
return false;
}
- // 妫�鏌ユ槸鍚﹀瓨鍦ㄤ换浣曞叏灞忔垨閬僵绐楀彛, 鏆傛湭瀹氫箟鍏ㄥ睆鍙互缁熶竴鍕鹃�塷penMask
+ // 妫�鏌ユ槸鍚﹀瓨鍦ㄤ换浣曞叏灞忔垨閬僵绐楀彛, 鏈塻creenMask 鍗冲彲浠h〃鍏ㄥ睆
public bool ExistAnyFullScreenOrMaskWin(string excludeUIName)
{
var exist = false;
@@ -338,7 +338,7 @@
// 鍒锋柊UI
if (ui.IsActive() && ui.name != excludeUIName)
{
- if (ui.openMask)
+ if (ui.screenMask != null)
{
exist = true;
break;
@@ -370,7 +370,7 @@
{
break;
}
- if (uiBase.IsActive() && uiBase.openMask)
+ if (uiBase.IsActive() && uiBase.screenMask != null)
{
return true;
}
diff --git a/Main/System/Arena/ArenaAwardWin.cs b/Main/System/Arena/ArenaAwardWin.cs
index bfe044e..890ce45 100644
--- a/Main/System/Arena/ArenaAwardWin.cs
+++ b/Main/System/Arena/ArenaAwardWin.cs
@@ -19,7 +19,6 @@
protected override void OnPreOpen()
{
base.OnPreOpen();
- tabButtons[functionOrder].SelectBtn(true);
ArenaManager.Instance.OnArenaMatchListEvent += OnArenaMatchListEvent;
ArenaManager.Instance.OnUpdateArenaPlayerInfo += OnUpdateArenaPlayerInfo;
ArenaManager.Instance.OnUpdateGameRecInfo += OnUpdateGameRecInfo;
diff --git a/Main/System/Arena/BuyItemWin.cs b/Main/System/Arena/BuyItemWin.cs
deleted file mode 100644
index 65dcb71..0000000
--- a/Main/System/Arena/BuyItemWin.cs
+++ /dev/null
@@ -1,119 +0,0 @@
-using System.Collections.Generic;
-using UnityEngine;
-using UnityEngine.UI;
-
-public class BuyItemWin : UIBase
-{
-
- [SerializeField] ItemCell itemCell;
- [SerializeField] Text nameText;
- [SerializeField] Text descText;
- //[SerializeField] ScrollerController scroller;
- [SerializeField] SliderPanel sliderPanel;
- [SerializeField] Button openButton;
-
- //[SerializeField] CellView _InitCell;
-
- string guid;
- int itemID;
- int itemCount;
- int useCnt;
- List<Item> items;
- protected override void InitComponent()
- {
- openButton.AddListener(() =>
- {
- if (useCnt == 0)
- {
- CloseWindow();
- return;
- }
- if (ItemLogicUtility.Instance.UseItem(guid, useCnt))
- {
- CloseWindow();
- }
- });
- }
-
- protected override void Start()
- {
- //_InitCell.cellIdentifier = _InitCell.cellIdentifier + this.GetInstanceID().ToString();
- }
-
-
- protected override void OnPreOpen()
- {
- itemID = ItemTipUtility.mainTipData.baseInfo.itemId;
- itemCount = ItemTipUtility.mainTipData.baseInfo.count;
- guid = ItemTipUtility.mainTipData.guid;
-
- itemCell.Init(new ItemCellModel(itemID, false, itemCount));
- var itemConfig = ItemConfig.Get(itemID);
- nameText.text = itemConfig.ItemName;
- descText.text = itemConfig.Description;
-
- if (string.IsNullOrEmpty(guid))
- {
- openButton.SetActive(false);
- sliderPanel.SetActive(false);
- }
- else
- {
- openButton.SetActive(true);
- sliderPanel.SetActive(true);
- }
-
- sliderPanel.Init((value) => { useCnt = value; }, itemCount);
-
-
- // scroller.OnRefreshCell += OnRefreshCell;
- items = BoxGetItemModel.Instance.GetBoxItems(itemID);
- CreateScroller();
- }
-
- protected override void OnPreClose()
- {
- //scroller.OnRefreshCell -= OnRefreshCell;
- }
-
- void CreateScroller()
- {
- // scroller.Refresh();
-
- for (int i = 0; i < items.Count; i++)
- {
- if (i % 4 == 0)
- {
- List<Item> tmpIDs = new List<Item>();
- for (int j = 0; j < 4; j++)
- {
- int index = i + j;
- if (index >= items.Count)
- break;
- tmpIDs.Add(items[index]);
- }
- // scroller.AddCell(ScrollerDataType.Header, i);
- }
- }
- // scroller.Restart();
- }
-
-
- void OnRefreshCell(ScrollerDataType type, CellView cell)
- {
- var _cell = cell as BoxItemLineCell;
-
- List<Item> tmpIDs = new List<Item>();
- for (int j = 0; j < 4; j++)
- {
- int index = cell.index + j;
- if (index >= items.Count)
- break;
- tmpIDs.Add(items[index]);
- }
-
- _cell.Display(tmpIDs);
- }
-
-
-}
diff --git a/Main/System/FirstCharge/FirstChargeWin.cs b/Main/System/FirstCharge/FirstChargeWin.cs
index 740c7bf..1e88509 100644
--- a/Main/System/FirstCharge/FirstChargeWin.cs
+++ b/Main/System/FirstCharge/FirstChargeWin.cs
@@ -47,11 +47,9 @@
protected override void OnPreOpen()
{
+ functionOrder = GetDefaultTabIndex();
base.OnPreOpen();
InitRedPoint();
-
- functionOrder = GetDefaultTabIndex();
- tabButtons[functionOrder].SelectBtn(true);
int firstId = model.GetFirstIDByTabIndex(functionOrder);
model.SetClickTabState(firstId);
diff --git a/Main/System/Guild/GuildBaseWin.cs b/Main/System/Guild/GuildBaseWin.cs
index 5227648..c316e96 100644
--- a/Main/System/Guild/GuildBaseWin.cs
+++ b/Main/System/Guild/GuildBaseWin.cs
@@ -16,7 +16,7 @@
[SerializeField] Text guildNameText;
[SerializeField] Text guildMemberCountText;
[SerializeField] Button rankBtn;
-
+ [SerializeField] Button storeBtn;
[SerializeField] Button requestBtn;
@@ -32,8 +32,13 @@
{
// UIManager.Instance.OpenWindow<GuildRequestWin>();
});
-
+
guildHawkerBtn.AddListener(OpenHawker);
+ storeBtn.AddListener(() =>
+ {
+ StoreModel.Instance.selectStoreFuncType = StoreFunc.Guild;
+ UIManager.Instance.OpenWindow<StoreBaseWin>();
+ });
}
diff --git a/Main/System/Guild/GuildHawkerWin.cs b/Main/System/Guild/GuildHawkerWin.cs
index b7410ce..efd2c4d 100644
--- a/Main/System/Guild/GuildHawkerWin.cs
+++ b/Main/System/Guild/GuildHawkerWin.cs
@@ -227,7 +227,7 @@
ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"),
- Language.Get("L1135", GuildManager.Instance.zbgPriceType, cutPrice)+ Language.Get("Guild_71"), (bool isOK) =>
+ Language.Get("L1135", UIHelper.GetIconNameWithMoneyType(GuildManager.Instance.zbgPriceType), cutPrice)+ Language.Get("Guild_71"), (bool isOK) =>
{
if (isOK)
{
diff --git a/Main/System/Guild/GuildManager.cs b/Main/System/Guild/GuildManager.cs
index 23369b2..ca9c83a 100644
--- a/Main/System/Guild/GuildManager.cs
+++ b/Main/System/Guild/GuildManager.cs
@@ -58,7 +58,7 @@
void OnPlayerLoginOk()
{
UpdateDonateRedPoint();
- QueryZBGFamilyInfo();
+
}
void PlayerDataRefreshEvent(PlayerDataType type)
@@ -104,6 +104,7 @@
await UniTask.Delay(100);
UpdateDonateRedPoint();
UpdateZBGRedpoint();
+ QueryZBGFamilyInfo();
EnterOrQuitGuildEvent?.Invoke(true);
}
@@ -784,7 +785,7 @@
if (isQueryZBGYet)
return;
- QueryFamilyAction((int)PlayerDatas.Instance.baseData.FamilyId, 16);
+ QueryFamilyAction((int)PlayerDatas.Instance.baseData.FamilyId, ZBGFamilyActionType);
isQueryZBGYet = true;
}
@@ -896,7 +897,7 @@
#region 绾㈢偣
- Redpoint hallRedpoint = new Redpoint(MainRedDot.MainGuildRedpoint, MainRedDot.guildHallRedpointID);
+
Redpoint donateRedpoint = new Redpoint(MainRedDot.guildHallRedpointID, MainRedDot.guildHallRedpointID * 10);
//鐝嶅疂闃�(琛屽晢)
Redpoint zbgRedpoint = new Redpoint(MainRedDot.MainGuildRedpoint, MainRedDot.MainGuildRedpoint * 100 + 1);
diff --git a/Main/System/HeroUI/HeroBaseWin.cs b/Main/System/HeroUI/HeroBaseWin.cs
index 7125cfe..dc88305 100644
--- a/Main/System/HeroUI/HeroBaseWin.cs
+++ b/Main/System/HeroUI/HeroBaseWin.cs
@@ -24,12 +24,6 @@
}
- protected override void OnPreOpen()
- {
- base.OnPreOpen();
- tabButtons[functionOrder].SelectBtn(true);
- }
-
protected override void OnPreClose()
{
base.OnPreClose();
diff --git a/Main/System/HeroUI/HeroDeleteWin.cs b/Main/System/HeroUI/HeroDeleteWin.cs
index fd7b9bf..94da638 100644
--- a/Main/System/HeroUI/HeroDeleteWin.cs
+++ b/Main/System/HeroUI/HeroDeleteWin.cs
@@ -21,7 +21,8 @@
{
storeBtn.AddListener(() =>
{
- // UIManager.Instance.OpenWindow<StoreWin>();
+ StoreModel.Instance.selectStoreFuncType = StoreFunc.Hero;
+ UIManager.Instance.OpenWindow<StoreBaseWin>();
});
quickSelectBtn.AddListener(QuickSelect);
deleteBtn.AddListener(DeleteHero);
diff --git a/Main/System/ItemTip/ItemTipUtility.cs b/Main/System/ItemTip/ItemTipUtility.cs
index 1615781..180b884 100644
--- a/Main/System/ItemTip/ItemTipUtility.cs
+++ b/Main/System/ItemTip/ItemTipUtility.cs
@@ -682,7 +682,7 @@
//suitInfo = GetSuitInfo(itemId),
//gemInfo = GetGemInfo(itemId),
//starInfo = GetStarInfo(itemId),
- operates = GetGoodOperates(goodId),
+ // operates = GetGoodOperates(goodId),
//shenProperty = GetShenProperty(itemId)
};
}
@@ -771,7 +771,7 @@
// legendProperty = GetLegendProperty(itemId),
// spiritWeaponProperty = GetSpiritWeaponProperty(itemId),
// petMountBaseProperty = GetPetMountBaseProperty(itemId),
- operates = GetGoodOperates(goodId),
+ // operates = GetGoodOperates(goodId),
// shenProperty = GetShenProperty(itemId)
};
}
@@ -1605,28 +1605,6 @@
// }
-
-
- private static List<ItemOperateType> GetGoodOperates(int goodId)
- {
- var operates = new List<ItemOperateType>();
- var countLimit = BuyItemController.Instance.GetBuyCountLimit(goodId, PlayerDatas.Instance.baseData.VIPLv);
- if (countLimit == -1 || countLimit > 0)
- {
- var config = StoreConfig.Get(goodId);
- int curVipIndex = -1;
- int nextVipIndex = -1;
- bool isVipBuy = BuyItemController.Instance.CheckIsVipBuy(config, out curVipIndex, out nextVipIndex);
-
- if ((isVipBuy && curVipIndex == -1) || PlayerDatas.Instance.baseData.LV < config.LV)
- {
- return operates;
- }
- operates.Add(ItemOperateType.buy);
- }
-
- return operates;
- }
// private static bool IsEquipGemHoleOpen(Int2 equipPosition, int maxStar, int hole)
// {
diff --git a/Main/System/Mail/MailWin.cs b/Main/System/Mail/MailWin.cs
index 411f7a5..a14527a 100644
--- a/Main/System/Mail/MailWin.cs
+++ b/Main/System/Mail/MailWin.cs
@@ -21,7 +21,6 @@
protected override void OnPreOpen()
{
base.OnPreOpen();
- tabButtons[functionOrder].SelectBtn(true);
model.nowMailCategory = MailCategory.Personal;
rpTab0.redpointId = model.GetTabRedpointId(MailCategory.Personal);
rpTab1.redpointId = model.GetTabRedpointId(MailCategory.Global);
diff --git a/Main/System/Main/FuncsBaseWin.cs b/Main/System/Main/FuncsBaseWin.cs
index e773ae3..a4b8e4e 100644
--- a/Main/System/Main/FuncsBaseWin.cs
+++ b/Main/System/Main/FuncsBaseWin.cs
@@ -24,6 +24,7 @@
}
protected override void OnPreOpen()
{
+ tabButtons[functionOrder].SelectBtn();
// 榛樿閫変腑绗竴涓爣绛�
SelectBottomTab(functionOrder);
diff --git a/Main/System/Main/HomeWin.cs b/Main/System/Main/HomeWin.cs
index 66a8c6e..4276ee7 100644
--- a/Main/System/Main/HomeWin.cs
+++ b/Main/System/Main/HomeWin.cs
@@ -52,8 +52,10 @@
[SerializeField] Text blessLVText;
[SerializeField] Button mailBtn;
- //鍏朵粬鍔熻兘鍏ュ彛
- [SerializeField] Button monthCardBtn;
+ //鍙充晶鍔熻兘
+ [SerializeField] Button funcColBtn;
+ [SerializeField] RightFuncInHome rightFuncInHome;
+
[SerializeField] Button FirstChargeBtn;
/// <summary>
@@ -80,10 +82,7 @@
});
- monthCardBtn.AddListener(() =>
- {
- InvestModel.Instance.BuyInvest(InvestModel.monthCardType);
- });
+
FirstChargeBtn.AddListener(() =>
{
@@ -112,6 +111,10 @@
});
restBtn.AddListener(GotoRest);
+ funcColBtn.AddListener(()=>
+ {
+ rightFuncInHome.ShowFuncCol(true);
+ });
}
diff --git a/Main/System/Main/RightFuncInHome.cs b/Main/System/Main/RightFuncInHome.cs
new file mode 100644
index 0000000..dd251c1
--- /dev/null
+++ b/Main/System/Main/RightFuncInHome.cs
@@ -0,0 +1,75 @@
+锘縰sing UnityEngine;
+using UnityEngine.UI;
+using DG.Tweening;
+
+//涓荤晫闈㈢殑鍙宠竟鏍忕缉杩涘姛鑳�
+public class RightFuncInHome : MonoBehaviour
+{
+
+ [SerializeField] ClickScreenOtherSpaceEvent clickScreenOtherSpaceEvent;
+ [SerializeField] RectTransform funcCol;
+ [SerializeField] RectTransform showPoint;
+ [SerializeField] RectTransform hidePoint;
+ [SerializeField] Button closeBtn;
+ [SerializeField] Button storeBtn;
+ [SerializeField] Button monthCardBtn;
+
+ string listenWindowName = ""; //鐩戝惉鍏抽棴鏃跺啀鏄剧ず
+
+ bool isShow = false;
+ void Awake()
+ {
+ monthCardBtn.AddListener(() =>
+ {
+ ListenWindow("");
+ InvestModel.Instance.BuyInvest(InvestModel.monthCardType);
+ });
+ storeBtn.AddListener(() =>
+ {
+ ListenWindow("StoreBaseWin");
+ UIManager.Instance.OpenWindow<StoreBaseWin>();
+ });
+
+ clickScreenOtherSpaceEvent.AddListener(() =>
+ {
+ if (isShow)
+ {
+ isShow = !isShow;
+ ShowFuncCol(isShow);
+ }
+ });
+ closeBtn.AddListener(() =>
+ {
+ ShowFuncCol(false);
+ });
+
+ UIManager.Instance.OnCloseWindow -= OnCloseWindow;
+ UIManager.Instance.OnCloseWindow += OnCloseWindow;
+ }
+
+
+ //鏄鹃殣鍔熻兘鏍�
+ public void ShowFuncCol(bool _isShow)
+ {
+ isShow = _isShow;
+ funcCol.DOLocalMove(isShow ? showPoint.localPosition : hidePoint.localPosition, 0.3f);
+ }
+
+ void OnCloseWindow(UIBase win)
+ {
+ if (win.name == listenWindowName)
+ {
+ ShowFuncCol(true);
+ listenWindowName = "";
+ }
+ }
+
+
+ void ListenWindow(string _listenWindowName)
+ {
+ ShowFuncCol(false);
+ listenWindowName = _listenWindowName;
+ }
+
+}
+
diff --git a/Main/Core/NetworkPackage/ServerPack/HA8_Item/HA802_tagMCShopItemDayBuyCntInfo.cs.meta b/Main/System/Main/RightFuncInHome.cs.meta
similarity index 83%
copy from Main/Core/NetworkPackage/ServerPack/HA8_Item/HA802_tagMCShopItemDayBuyCntInfo.cs.meta
copy to Main/System/Main/RightFuncInHome.cs.meta
index 80dfcd7..6a3909c 100644
--- a/Main/Core/NetworkPackage/ServerPack/HA8_Item/HA802_tagMCShopItemDayBuyCntInfo.cs.meta
+++ b/Main/System/Main/RightFuncInHome.cs.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: cbdb66c5b2f98534ca9f73a2b9b281e0
+guid: 74e5ae08181442a4f8900388b534c310
MonoImporter:
externalObjects: {}
serializedVersion: 2
diff --git a/Main/System/Redpoint/MainRedDot.cs b/Main/System/Redpoint/MainRedDot.cs
index 8040724..1855f64 100644
--- a/Main/System/Redpoint/MainRedDot.cs
+++ b/Main/System/Redpoint/MainRedDot.cs
@@ -16,6 +16,8 @@
public Redpoint redpointChallenge = new Redpoint(MainChallengeRedpoint);
public const int MainGuildRedpoint = 4; //鍏細
public Redpoint redpointGuild = new Redpoint(MainGuildRedpoint);
+ public const int RightFuncRedpoint = 5; //鍙充晶鍔熻兘绾㈢偣
+ public Redpoint redpointRightFunc = new Redpoint(RightFuncRedpoint);
//浠ヤ笅绾㈢偣瑙勫垯锛氬姛鑳藉熀纭�绾㈢偣3浣嶆暟锛屽瓙绾㈢偣鑷冲皯澶т簬1000锛�
@@ -55,13 +57,17 @@
#region 浠欑洘绾㈢偣
+ //澶у巺
public const int guildHallRedpointID = MainGuildRedpoint * 10;
+ Redpoint hallRedpoint = new Redpoint(MainGuildRedpoint, guildHallRedpointID);
#endregion
- #region 浠欑洘鍟嗗簵绾㈢偣
- public const int FAIRYStore_REDPOINT_KEY3 = 1070106;
+ #region 鍟嗗簵鍏ュ彛绾㈢偣
+ public const int Store_REDPOINT = 103;
+
+
#endregion
diff --git a/Main/System/Redpoint/Redpoint.cs b/Main/System/Redpoint/Redpoint.cs
index 1f68524..1de7f2f 100644
--- a/Main/System/Redpoint/Redpoint.cs
+++ b/Main/System/Redpoint/Redpoint.cs
@@ -2,63 +2,67 @@
using System.Collections.Generic;
using UnityEngine;
-
- public class Redpoint
- {
- int m_Id = 0;
- public int id {
- get { return m_Id; }
- private set { m_Id = value; }
- }
- int m_Parent = 0;
- public int parent {
- get { return m_Parent; }
- private set { m_Parent = value; }
- }
-
- RedPointState m_State = RedPointState.None;
- public RedPointState state {
- get { return m_State; }
- set {
- if (m_State != value)
- {
- m_State = value;
- RedpointCenter.Instance.Report(this);
- }
- }
- }
-
- int m_Count = 0;
- public int count {
- get { return m_Count; }
- set {
- if (m_Count != value)
- {
- m_Count = value;
- RedpointCenter.Instance.ReportWithoutParent(this);
- }
- }
- }
-
- public Redpoint(int _id)
- {
- id = _id;
- RedpointCenter.Instance.Register(this);
- }
-
- public Redpoint(int _parent, int _id)
- {
- if (_parent <= 0)
- {
- Debug.Log("鏃犳晥鐨勭埗瀵硅薄Id锛�");
- return;
- }
-
- parent = _parent;
- id = _id;
- RedpointCenter.Instance.Register(this);
- }
-
- public int RedpoindId { get; internal set; }
+public class Redpoint
+{
+ int m_Id = 0;
+ public int id {
+ get { return m_Id; }
+ private set { m_Id = value; }
}
+
+ int m_Parent = 0;
+ public int parent
+ {
+ get { return m_Parent; }
+ private set { m_Parent = value; }
+ }
+
+ public int otherParent;
+
+
+ RedPointState m_State = RedPointState.None;
+ public RedPointState state {
+ get { return m_State; }
+ set {
+ if (m_State != value)
+ {
+ m_State = value;
+ RedpointCenter.Instance.Report(this);
+ }
+ }
+ }
+
+ int m_Count = 0;
+ public int count {
+ get { return m_Count; }
+ set {
+ if (m_Count != value)
+ {
+ m_Count = value;
+ RedpointCenter.Instance.ReportWithoutParent(this);
+ }
+ }
+ }
+
+ public Redpoint(int _id)
+ {
+ id = _id;
+ RedpointCenter.Instance.Register(this);
+ }
+
+ public Redpoint(int _parent, int _id)
+ {
+ if (_parent <= 0)
+ {
+ Debug.Log("鏃犳晥鐨勭埗瀵硅薄Id锛�");
+ return;
+ }
+
+ parent = _parent;
+ id = _id;
+ RedpointCenter.Instance.Register(this);
+ }
+
+ public int RedpoindId { get; internal set; }
+}
diff --git a/Main/System/Redpoint/RedpointCenter.cs b/Main/System/Redpoint/RedpointCenter.cs
index 408a26f..69b7ae9 100644
--- a/Main/System/Redpoint/RedpointCenter.cs
+++ b/Main/System/Redpoint/RedpointCenter.cs
@@ -50,19 +50,46 @@
}
}
+ //棰濆娣诲姞鐖剁孩鐐圭敤
+ public void AddParent(int _parentId, int _childId)
+ {
+ Redpoint child = null;
+ if (!redpoints.TryGetValue(_childId, out child))
+ {
+ Debug.LogErrorFormat("娣诲姞鐖跺瓙鍏崇郴澶辫触锛屽瓙鑺傜偣涓嶅瓨鍦細id->{0}", _childId);
+ return;
+ }
+
+ child.otherParent = _parentId;
+
+ List<int> children = null;
+ if (!parentChildren.TryGetValue(_parentId, out children))
+ {
+ parentChildren[_parentId] = children = new List<int>();
+ }
+
+ if (!children.Contains(_childId))
+ {
+ children.Add(_childId);
+ }
+ }
+
public void Report(Redpoint _redpoint)
{
- var parentId = _redpoint.parent;
-
if (redpointValueChangeEvent != null)
{
redpointValueChangeEvent(_redpoint.id);
}
- if (parentId > 0)
+ if (_redpoint.parent > 0)
{
TestParentValue(_redpoint.parent);
}
+
+ if (_redpoint.otherParent > 0)
+ {
+ TestParentValue(_redpoint.otherParent);
+ }
}
public void ReportWithoutParent(Redpoint _redpoint)
diff --git a/Main/System/Store/BuyItemController.cs b/Main/System/Store/BuyItemController.cs
deleted file mode 100644
index 909a317..0000000
--- a/Main/System/Store/BuyItemController.cs
+++ /dev/null
@@ -1,214 +0,0 @@
-锘縰sing System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using UnityEngine;
-
-
-public class BuyItemController : Singleton<BuyItemController>
-{
-
- Dictionary<int, int> vipBuyCntDict = new Dictionary<int, int>();
-
- public bool CheckIsVipBuy(StoreConfig model, out int curVipIndex, out int nextVipIndex)
- {
- vipBuyCntDict.Clear();
- curVipIndex = -1;
- nextVipIndex = -1;
- bool isVipBuy = false;
- if (model == null) return isVipBuy;
-
- if (model.VIPLV.Length < 2)
- {
- if (model.VIPLV[0] != 0)
- {
- isVipBuy = true;
- }
- else
- {
- isVipBuy = false;
- }
- }
- else
- {
- isVipBuy = true;
- }
-
- if (isVipBuy)
- {
- for (int i = model.VIPLV.Length - 1; i > -1; i--)
- {
- vipBuyCntDict.Add(model.VIPLV[i], model.GoumaiNumber[i]);
- }
- int playerVip = PlayerDatas.Instance.baseData.VIPLv;
- for (int i = model.VIPLV.Length - 1; i > -1; i--)
- {
- if (model.VIPLV[i] > playerVip)
- {
- nextVipIndex = i;
- }
- else if (model.VIPLV[i] <= playerVip)
- {
- curVipIndex = i;
- break;
- }
- }
-
- }
-
- return isVipBuy;
- }
-
- public bool CheckIsLimitBuyCnt(StoreConfig model, out int canBuyCnt, out int addBuyCnt)
- {
- canBuyCnt = 0;
- addBuyCnt = 0;
- if (model == null) return false;
-
- int[] canBuyNums = model.GoumaiNumber;
- int curVipIndex = -1;
- int nexVipIndex = -1;
- bool isVipBuy = CheckIsVipBuy(model, out curVipIndex, out nexVipIndex);
- if (isVipBuy)
- {
- if (curVipIndex != -1)
- {
- canBuyCnt = canBuyNums[curVipIndex];
- }
-
- if (nexVipIndex != -1)
- {
- addBuyCnt = canBuyNums[nexVipIndex] - canBuyCnt;
- }
- return true;
- }
- else
- {
- if (canBuyNums[0] != 0)
- {
- canBuyCnt = canBuyNums[0];
- return true;
- }
- else
- {
- return false;
- }
- }
- }
-
- public int goodId { get; private set; }
- public readonly LogicInt wannaBuyCount = new LogicInt();
-
-
- public void SetGood(int goodId)
- {
- this.goodId = goodId;
- wannaBuyCount.value = 1;
- }
-
- public void SetBuyCount(int goodId, int count)
- {
- var countLimit = GetBuyCountLimit(goodId, PlayerDatas.Instance.baseData.VIPLv);
- if (countLimit == -1)
- {
- wannaBuyCount.value = Mathf.Clamp(count, 1, 999);
- }
- else
- {
- wannaBuyCount.value = Mathf.Clamp(count, 1, countLimit);
- }
- }
-
- public bool IsVipLimitGood(int goodId)
- {
- var config = StoreConfig.Get(goodId);
- return config != null && config.VIPLV.Length > 1 && config.VIPLV[0] > 0;
- }
-
- /// <summary>
- /// 杩斿洖鍊间负-1锛岃〃绀烘病鏈塿ip闄愬埗锛岃繑鍥炲�间负999琛ㄧず宸茬粡娌℃湁涓嬩竴涓獀ip闄愬埗
- /// </summary>
- /// <param name="goodId"></param>
- /// <param name="vipLevel"></param>
- /// <returns></returns>
- public int GetNextCanbuyVipLevel(int goodId, int vipLevel)
- {
- if (!IsVipLimitGood(goodId))
- {
- return -1;
- }
-
- var config = StoreConfig.Get(goodId);
- var nextLevel = 999;
- for (int i = 0; i < config.VIPLV.Length; i++)
- {
- if (config.VIPLV[i] > vipLevel)
- {
- nextLevel = config.VIPLV[i];
- break;
- }
- }
-
- return nextLevel;
- }
-
- /// <summary>
- /// 杩斿洖鍊煎鏋滄槸-1锛岃〃绀烘棤闄愬埗
- /// </summary>
- /// <param name="goodId"></param>
- /// <returns></returns>
- public int GetBuyCountLimit(int goodId, int vipLevel)
- {
- var config = StoreConfig.Get(goodId);
- if (config.GoumaiNumber.Length == 0 || config.GoumaiNumber[0] == 0)
- {
- return -1;
- }
-
- var isVipLimitGood = config != null && config.VIPLV.Length > 1;
- var canBuy = 0;
- if (isVipLimitGood)
- {
- var index = -1;
- for (var i = config.VIPLV.Length - 1; i >= 0; i--)
- {
- if (config.VIPLV[i] <= vipLevel)
- {
- index = i;
- break;
- }
- }
-
- if (index != -1)
- {
- canBuy = config.GoumaiNumber[index];
- }
- else
- {
- canBuy = 0;
- }
- }
- else
- {
- canBuy = config.GoumaiNumber[0];
- }
-
- var goodLimit = StoreModel.Instance.GetBuyShopLimit((uint)goodId);
- var haveBuy = goodLimit != null ? goodLimit.BuyCnt : 0;
- return canBuy - haveBuy;
- }
-
- public bool IsSellOut(int goodId, int vipLevel)
- {
- var limitCount = GetBuyCountLimit(goodId, vipLevel);
- return limitCount != -1 && limitCount <= 0;
- }
-
- public int GetTotalPrice(int goodId, int count)
- {
- var config = StoreConfig.Get(goodId);
- return config.MoneyNumber * count;
- }
-
-
-}
diff --git a/Main/System/Store/BuyItemController.cs.meta b/Main/System/Store/BuyItemController.cs.meta
deleted file mode 100644
index 25724b9..0000000
--- a/Main/System/Store/BuyItemController.cs.meta
+++ /dev/null
@@ -1,12 +0,0 @@
-fileFormatVersion: 2
-guid: dc23e302e8daefe418c0a4baeaedb9f1
-timeCreated: 1556020061
-licenseType: Pro
-MonoImporter:
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Main/System/Store/BuyItemWin.cs b/Main/System/Store/BuyItemWin.cs
new file mode 100644
index 0000000..89ab2d6
--- /dev/null
+++ b/Main/System/Store/BuyItemWin.cs
@@ -0,0 +1,97 @@
+using System;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.UI;
+
+//浣跨敤璐у竵璐拱鍧婂競琛ㄥ晢鍝�
+public class BuyItemWin : UIBase
+{
+ [SerializeField] ItemCell itemCell;
+ [SerializeField] Text nameText;
+ [SerializeField] Text countText;
+ [SerializeField] Text descText;
+ [SerializeField] SliderPanel sliderPanel;
+ [SerializeField] Text limitText;
+ [SerializeField] Image moneyIcon;
+ [SerializeField] Text moneyText;
+ [SerializeField] Button buyButton;
+
+
+ int itemCount;
+ int useCnt;
+ int maxCnt;
+ protected override void InitComponent()
+ {
+ buyButton.AddListener(BuyGoods);
+ }
+
+
+
+ protected override void OnPreOpen()
+ {
+ useCnt = 1;
+ Display();
+ }
+
+ void Display()
+ {
+ var shopConfig = StoreConfig.Get(StoreModel.Instance.buyShopID);
+ var itemID = shopConfig.ItemID;
+ var itemCount = shopConfig.ItemCnt;
+ itemCell.Init(new ItemCellModel(itemID, false, itemCount));
+ var itemConfig = ItemConfig.Get(itemID);
+ nameText.text = itemConfig.ItemName;
+ countText.text = Language.Get("storename12", PackManager.Instance.GetItemCountByID(PackType.Item, itemID));
+ descText.text = itemConfig.Description;
+
+ var buyCnt = StoreModel.Instance.GetShopLimitBuyCount(StoreModel.Instance.buyShopID);
+ maxCnt = shopConfig.LimitCnt - buyCnt;
+ if (maxCnt == 0)
+ {
+ //娌℃湁闄愯喘,鐢ㄨ揣甯佸彲璐拱鏁伴噺
+ maxCnt = Math.Max(1, (int)(UIHelper.GetMoneyCnt(shopConfig.MoneyType)/shopConfig.MoneyNum));
+ }
+
+ OnSliderChange(useCnt);
+ sliderPanel.Init((value) => { OnSliderChange(value); }, maxCnt);
+ }
+
+ void OnSliderChange(int value)
+ {
+ var shopConfig = StoreConfig.Get(StoreModel.Instance.buyShopID);
+ useCnt = value;
+ itemCell.countText.text = value.ToString();
+
+ string limitStr = "";
+ if (shopConfig.LimitCnt == 0)
+ {
+ limitStr = "";
+ }
+ else if (shopConfig.ResetType == 0)
+ {
+ //闄愯喘
+ limitStr = Language.Get("storename8", useCnt, maxCnt);
+ }
+ else if (shopConfig.ResetType == 1)
+ {
+ //姣忔棩闄愯喘
+ limitStr = Language.Get("storename6", useCnt, maxCnt);
+ }
+ else if (shopConfig.ResetType == 2)
+ {
+ //姣忓懆闄愯喘
+ limitStr = Language.Get("storename7", useCnt, maxCnt);
+ }
+ limitText.text = limitStr;
+
+ moneyIcon.SetIconWithMoneyType(shopConfig.MoneyType);
+ moneyText.text = UIHelper.ShowUseMoney(shopConfig.MoneyType, shopConfig.MoneyNum * useCnt);
+
+ }
+
+ void BuyGoods()
+ {
+ CloseWindow();
+ StoreModel.Instance.SendBuyShopItem(StoreConfig.Get(StoreModel.Instance.buyShopID), useCnt);
+ }
+}
diff --git a/Main/System/Arena/BuyItemWin.cs.meta b/Main/System/Store/BuyItemWin.cs.meta
similarity index 100%
rename from Main/System/Arena/BuyItemWin.cs.meta
rename to Main/System/Store/BuyItemWin.cs.meta
diff --git a/Main/System/Store/StoreBaseWin.cs b/Main/System/Store/StoreBaseWin.cs
new file mode 100644
index 0000000..734b888
--- /dev/null
+++ b/Main/System/Store/StoreBaseWin.cs
@@ -0,0 +1,26 @@
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.UI;
+
+public class StoreBaseWin : OneLevelWin
+{
+
+
+ protected override void OpenSubUIByTabIndex()
+ {
+ switch (functionOrder)
+ {
+ case 0:
+ currentSubUI = UIManager.Instance.OpenWindow<StoreWin>();
+ break;
+ case 1:
+ // 鍏呭�肩晫闈�
+ currentSubUI = UIManager.Instance.OpenWindow<StoreWin>();
+ break;
+ default:
+ Debug.LogWarning("鏈煡鐨勬爣绛剧储寮�: " + functionOrder);
+ break;
+ }
+
+ }
+}
diff --git a/Main/Core/NetworkPackage/ServerPack/HA8_Item/HA802_tagMCShopItemDayBuyCntInfo.cs.meta b/Main/System/Store/StoreBaseWin.cs.meta
similarity index 83%
copy from Main/Core/NetworkPackage/ServerPack/HA8_Item/HA802_tagMCShopItemDayBuyCntInfo.cs.meta
copy to Main/System/Store/StoreBaseWin.cs.meta
index 80dfcd7..d3d9b7c 100644
--- a/Main/Core/NetworkPackage/ServerPack/HA8_Item/HA802_tagMCShopItemDayBuyCntInfo.cs.meta
+++ b/Main/System/Store/StoreBaseWin.cs.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: cbdb66c5b2f98534ca9f73a2b9b281e0
+guid: ec02a33fe66b23e4da4bfcb33ca49c4e
MonoImporter:
externalObjects: {}
serializedVersion: 2
diff --git a/Main/System/Store/StoreCell.cs b/Main/System/Store/StoreCell.cs
new file mode 100644
index 0000000..b565cb0
--- /dev/null
+++ b/Main/System/Store/StoreCell.cs
@@ -0,0 +1,143 @@
+锘縰sing System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.UI;
+
+
+public class StoreCell : MonoBehaviour
+{
+
+ [SerializeField] Transform saleRect;
+ [SerializeField] Text saleText;
+ [SerializeField] Text itemName;
+ [SerializeField] ItemCell itemCell;
+ [SerializeField] Text limitText;
+ [SerializeField] Text lockTip;
+ [SerializeField] Image priceIcon;
+ [SerializeField] Text priceText;
+ [SerializeField] Text salePriceText;
+ [SerializeField] Button buyButton;
+ //鍏嶈垂 鍜� 宸插敭缃勭殑鏄剧ず 鍚屼竴涓寜閽�
+ [SerializeField] Button freeButton;
+ [SerializeField] Image freeRedPoint;
+ [SerializeField] Text freeText;
+
+ public void Display(int index)
+ {
+ if (!StoreModel.Instance.storeTypeDict.ContainsKey((int)StoreModel.Instance.selectStoreFuncType))
+ {
+ return;
+ }
+
+ var list = StoreModel.Instance.storeTypeDict[(int)StoreModel.Instance.selectStoreFuncType];
+ var storeData = list[index];
+ int shopID = storeData.shopId;
+ var itemID = storeData.storeConfig.ItemID;
+ var itemCount = storeData.storeConfig.ItemCnt;
+
+ itemCell.Init(new ItemCellModel(itemID, false, itemCount));
+ itemCell.button.AddListener(() =>
+ {
+ ItemTipUtility.Show(itemID);
+ });
+ var config = ItemConfig.Get(itemID);
+ itemName.text = config.ItemName;
+
+ //鎶樻墸
+ if (storeData.storeConfig.MoneyOriginal != 0)
+ {
+ saleRect.SetActive(true);
+ saleText.text = Language.Get("storename5", (storeData.storeConfig.MoneyNum*10 / (float)storeData.storeConfig.MoneyOriginal).ToString("0.#"));
+ }
+ else
+ {
+ saleRect.SetActive(false);
+ }
+
+
+ var buyCnt = StoreModel.Instance.GetShopLimitBuyCount(shopID);
+ string limitStr = "";
+ if (storeData.storeConfig.MoneyNum == 0)
+ {
+ //鍏嶈垂
+ limitStr = "";
+ }
+ else if (storeData.storeConfig.ResetType == 0)
+ {
+ //闄愯喘
+ limitStr = storeData.storeConfig.LimitCnt > 0 ? Language.Get("storename8", storeData.storeConfig.LimitCnt - buyCnt, storeData.storeConfig.LimitCnt) : "";
+ }
+ else if (storeData.storeConfig.ResetType == 1)
+ {
+ //姣忔棩闄愯喘
+ limitStr = Language.Get("storename6", storeData.storeConfig.LimitCnt - buyCnt, storeData.storeConfig.LimitCnt);
+ }
+ else if (storeData.storeConfig.ResetType == 2)
+ {
+ //姣忓懆闄愯喘
+ limitStr = Language.Get("storename7", storeData.storeConfig.LimitCnt - buyCnt, storeData.storeConfig.LimitCnt);
+ }
+ limitText.text = buyCnt >= storeData.storeConfig.LimitCnt ? UIHelper.AppendColor(TextColType.Gray, limitStr) : limitStr;
+
+ //0鍙喘涔� 1宸插敭缃� 2鍏嶈垂 3鏈В閿�
+ var state = StoreModel.Instance.GetShopIDState(shopID);
+ if (state == 0)
+ {
+ buyButton.SetActive(true);
+ freeButton.SetActive(false);
+ lockTip.text = "";
+
+ priceIcon.SetIconWithMoneyType(storeData.storeConfig.MoneyType);
+ priceText.text = storeData.storeConfig.MoneyNum.ToString();
+
+ if (storeData.storeConfig.MoneyOriginal == 0)
+ {
+ salePriceText.SetActive(false);
+ }
+ else
+ {
+ salePriceText.SetActive(true);
+ salePriceText.text = storeData.storeConfig.MoneyOriginal.ToString();
+ }
+ buyButton.AddListener(()=> { BuyGoods(shopID); });
+ }
+ else if (state == 1)
+ {
+ buyButton.SetActive(false);
+ freeButton.SetActive(true);
+ freeText.text = Language.Get("storename11");
+ freeButton.SetInteractable(false);
+ lockTip.text = "";
+ freeRedPoint.SetActive(false);
+ }
+ else if (state == 2)
+ {
+ buyButton.SetActive(false);
+ freeButton.SetActive(true);
+ freeText.text = Language.Get("L1127");
+ freeButton.SetInteractable(true);
+ lockTip.text = "";
+ freeRedPoint.SetActive(true);
+ freeButton.AddListener(()=> { BuyGoods(shopID); });
+ }
+ else if (state == 3)
+ {
+ buyButton.SetActive(false);
+ freeButton.SetActive(false);
+ lockTip.text = Language.Get("storename10", storeData.storeConfig.UnlockValue);
+ }
+ }
+
+ void BuyGoods(int shopID)
+ {
+ var state = StoreModel.Instance.GetShopIDState(shopID);
+ if (state == 2)
+ {
+ StoreModel.Instance.SendBuyShopItem(StoreConfig.Get(shopID), 1);
+ }
+ else
+ {
+ StoreModel.Instance.buyShopID = shopID;
+ UIManager.Instance.OpenWindow<BuyItemWin>();
+ }
+ }
+}
diff --git a/Main/Core/NetworkPackage/ServerPack/HA8_Item/HA802_tagMCShopItemDayBuyCntInfo.cs.meta b/Main/System/Store/StoreCell.cs.meta
similarity index 83%
copy from Main/Core/NetworkPackage/ServerPack/HA8_Item/HA802_tagMCShopItemDayBuyCntInfo.cs.meta
copy to Main/System/Store/StoreCell.cs.meta
index 80dfcd7..30faa7f 100644
--- a/Main/Core/NetworkPackage/ServerPack/HA8_Item/HA802_tagMCShopItemDayBuyCntInfo.cs.meta
+++ b/Main/System/Store/StoreCell.cs.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: cbdb66c5b2f98534ca9f73a2b9b281e0
+guid: 6ef33ea31e746294a9b5d401fe64b21f
MonoImporter:
externalObjects: {}
serializedVersion: 2
diff --git a/Main/System/Store/StoreLineCell.cs b/Main/System/Store/StoreLineCell.cs
new file mode 100644
index 0000000..3c106fb
--- /dev/null
+++ b/Main/System/Store/StoreLineCell.cs
@@ -0,0 +1,33 @@
+锘縰sing System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.UI;
+
+
+public class StoreLineCell : CellView
+{
+
+ [SerializeField] StoreCell[] storeCells;
+
+ public void Display(int index)
+ {
+ if (!StoreModel.Instance.storeTypeDict.ContainsKey((int)StoreModel.Instance.selectStoreFuncType))
+ {
+ return;
+ }
+
+ var list = StoreModel.Instance.storeTypeDict[(int)StoreModel.Instance.selectStoreFuncType];
+
+ for (int i = 0; i < storeCells.Length; i++)
+ {
+ if (index + i < list.Count)
+ {
+ storeCells[i].SetActive(true);
+ storeCells[i].Display(index + i);
+ }
+ else
+ {
+ storeCells[i].SetActive(false);
+ }
+ }
+ }
+}
diff --git a/Main/Core/NetworkPackage/ServerPack/HA8_Item/HA802_tagMCShopItemDayBuyCntInfo.cs.meta b/Main/System/Store/StoreLineCell.cs.meta
similarity index 83%
copy from Main/Core/NetworkPackage/ServerPack/HA8_Item/HA802_tagMCShopItemDayBuyCntInfo.cs.meta
copy to Main/System/Store/StoreLineCell.cs.meta
index 80dfcd7..8dea12b 100644
--- a/Main/Core/NetworkPackage/ServerPack/HA8_Item/HA802_tagMCShopItemDayBuyCntInfo.cs.meta
+++ b/Main/System/Store/StoreLineCell.cs.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: cbdb66c5b2f98534ca9f73a2b9b281e0
+guid: c61cd40bb2d026a4bbdb9b9e2c07ca70
MonoImporter:
externalObjects: {}
serializedVersion: 2
diff --git a/Main/System/Store/StoreModel.cs b/Main/System/Store/StoreModel.cs
index 19b99d2..cc788fa 100644
--- a/Main/System/Store/StoreModel.cs
+++ b/Main/System/Store/StoreModel.cs
@@ -6,14 +6,9 @@
using LitJson;
using System.Collections;
-public class BuyShopItemLimit
-{
- public uint ItemIndex;
- public int BuyCnt; // 浠婃棩宸茶喘涔版鏁�
- public int isReset; //鏄惁灞炰簬姣忔湀閲嶇疆 0 涓嶉噸缃� 1閲嶇疆
-}
-public struct ShopItemInfo
+
+public class ShopItemInfo
{
public int itemId;
public int count;
@@ -27,149 +22,87 @@
public class StoreModel : GameSystemManager<StoreModel>
{
+ public Dictionary<int, List<StoreData>> storeTypeDict { get; private set; } //鎵�鏈夋樉绀哄晢鍝�
+ public Dictionary<int, int> shopRefreshCntDict = new Dictionary<int, int>(); //鍒锋柊娆℃暟
+ private Dictionary<int, int> shopItemlimitDict = new Dictionary<int, int>(); //宸茶喘涔版鏁�
+ public event Action RefreshBuyShopLimitEvent;
+ public event Action RefreshShopEvent;
- public string UNIONSTORESAVE_KEY { get; private set; }
- public string MUSTBUYSAVE_KEY { get; private set; }
- public string StoreEffectRecord_Key { get; private set; }
- public Dictionary<int, Dictionary<int, int>> JobReplaceIdDict = new Dictionary<int, Dictionary<int, int>>();
- public Dictionary<int, int> showCoinUIDict { get; private set; }
- public int storeTrailerLv { get; private set; }
+ public StoreFunc selectStoreFuncType = StoreFunc.Normal;
- public int fairyStoreJumpShopId = 0;
+ public int buyShopID;
- int m_SelectClassifyId = 0;
- public int selectSecondType
- {
- get { return m_SelectClassifyId; }
- set
- {
- if (m_SelectClassifyId != value)
- {
- m_SelectClassifyId = value;
- if (selectClassifyRefresh != null)
- {
- selectClassifyRefresh();
- }
- }
- }
- }
+ //閰嶇疆
+ public int heroSoulRefreshMoneyType;
+ public int heroSoulRefreshMoney;
+ public int heroSoulRefreshFreeCount;
- public event Action selectClassifyRefresh;
-
-
- private bool isUpdatePlayerLv;
-
- //鎺掕姒滄椿鍔ㄧ殑鍟嗗簵
- public int rankActStore_MoneyType;
- public int rankActStore_StoreType;
- public OperationType rankActStore_ActType;
+ Dictionary<int, List<int>> freeShopDict = new Dictionary<int, List<int>>();
+ public Dictionary<int, int> shopMoneyTypeDict = new Dictionary<int, int>();
public override void Init()
{
+ RedpointCenter.Instance.AddParent(MainRedDot.MainGuildRedpoint, MainRedDot.Store_REDPOINT);
+ FuncOpen.Instance.OnFuncStateChangeEvent += FuncStateChange;
+ TimeMgr.Instance.OnDayEvent += RefreshDay;
+ GuildManager.Instance.EnterOrQuitGuildEvent += EnterOrQuitGuildEvent;
+ DTC0102_tagCDBPlayer.beforePlayerDataInitializeEventOnRelogin += OnBeforePlayerDataInitializeRelogin;
+ DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent += OnBeforePlayerDataInitialize;
+
ParseFuncConfig();
ParseStoreConfig();
- SetShopRedpoint();
}
- public void OnBeforePlayerDataInitialize()
+ public override void Release()
{
- isUpdatePlayerLv = false;
- IsMustBuyDay = false;
- sortStoreSecondType = true;
- ClearJump();
FuncOpen.Instance.OnFuncStateChangeEvent -= FuncStateChange;
- PlayerDatas.Instance.fairyData.OnRefreshFairyMine -= RefreshServerHour;
- PlayerDatas.Instance.fairyData.OnRefreshFairyInfo -= RefreshFamilyLv;
- PlayerDatas.Instance.playerDataRefreshEvent -= RefreshPlayerData;
- TimeMgr.Instance.OnHourEvent -= RefreshServerHour;
- GlobalTimeEvent.Instance.secondEvent -= UpdateSecond;
+ TimeMgr.Instance.OnDayEvent -= RefreshDay;
+ GuildManager.Instance.EnterOrQuitGuildEvent -= EnterOrQuitGuildEvent;
+ DTC0102_tagCDBPlayer.beforePlayerDataInitializeEventOnRelogin -= OnBeforePlayerDataInitializeRelogin;
+ DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent -= OnBeforePlayerDataInitialize;
+ }
+
+ void OnBeforePlayerDataInitialize()
+ {
shopItemlimitDict.Clear();
- storeFuncType = StoreFunc.DayStore;
+ storeTypeDict.Remove((int)StoreFunc.Hero); //鐢辨湇鍔″櫒閫氱煡
+ selectStoreFuncType = StoreFunc.Normal;
}
- public void OnAfterPlayerDataInitialize()
+ void OnBeforePlayerDataInitializeRelogin()
{
- UNIONSTORESAVE_KEY = StringUtility.Contact(PlayerDatas.Instance.baseData.PlayerID, LocalSaveStoreType.UnionStore);
- StoreEffectRecord_Key = StringUtility.Contact(PlayerDatas.Instance.baseData.PlayerID, "StoreEffectRecord");
- MUSTBUYSAVE_KEY = StringUtility.Contact(PlayerDatas.Instance.baseData.PlayerID, "MustBuy");
buyItemCheckDict.Clear();
+
}
-
- public void OnPlayerLoginOk()
- {
- PlayerDatas.Instance.fairyData.OnRefreshFairyInfo += RefreshFamilyLv;
- PlayerDatas.Instance.fairyData.OnRefreshFairyMine += RefreshServerHour;
- FuncOpen.Instance.OnFuncStateChangeEvent += FuncStateChange;
- PlayerDatas.Instance.playerDataRefreshEvent += RefreshPlayerData;
- TimeMgr.Instance.OnHourEvent += RefreshServerHour;
- GlobalTimeEvent.Instance.secondEvent += UpdateSecond;
-
- UpdateShowStore();
- SetIsMustBuyDay();
- ControllerRedPoint();
- UpdateFreeShopRedpoint();
- UpdateCanBuyRedpoint();
- UpdateMustBuyRedpoint();
- UpdateDailyRedpoinit();
- }
-
-
-
#region 瑙f瀽鏈湴鏁版嵁
- public Dictionary<int, List<int>> storeRedRuleDict { get; private set; } //绾㈢偣绫诲瀷 1,鍏嶈垂鍟嗗搧 2,蹇呬拱鍟嗗搧 3,鍧愰獞鐏靛疇 4,鍙喘涔扮墿鍝侊紙绉垎鍏戞崲锛�
private void ParseFuncConfig()
{
- storeRedRuleDict = new Dictionary<int, List<int>>();
- FuncConfigConfig storeRedRules = FuncConfigConfig.Get("StoreRedRules");
- if (storeRedRules != null)
- {
- JsonData redRules = JsonMapper.ToObject(storeRedRules.Numerical1);
- foreach (var type in redRules.Keys)
- {
- int redType = 0;
- int.TryParse(type, out redType);
- JsonData shops = redRules[type];
- if (!storeRedRuleDict.ContainsKey(redType))
- {
- List<int> shopIdlist = new List<int>();
- if (shops.IsArray)
- {
- for (int i = 0; i < shops.Count; i++)
- {
- int shopId = 0;
- int.TryParse(shops[i].ToString(), out shopId);
- shopIdlist.Add(shopId);
- }
- }
- storeRedRuleDict.Add(redType, shopIdlist);
- }
- }
-
-
- }
+ var config = FuncConfigConfig.Get("StoreHeroSoul");
+ var tmpArr = ConfigParse.GetMultipleStr<int>(config.Numerical2);
+ heroSoulRefreshMoneyType = tmpArr[0];
+ heroSoulRefreshMoney = tmpArr[1];
+ heroSoulRefreshFreeCount = int.Parse(config.Numerical3);
}
- public Dictionary<int, List<StoreData>> storeTypeDict { get; private set; }
- public Dictionary<int, List<StoreData>> theOnlyShopDict { get; private set; } //key 鐗╁搧id
- public Dictionary<string, List<StoreData>> limitValueShopDict { get; private set; } //key 鍟嗗搧绫诲瀷鍜岄檺鍒舵潯浠�
+
private void ParseStoreConfig()
{
+ freeShopDict.Clear();
storeTypeDict = new Dictionary<int, List<StoreData>>();
- theOnlyShopDict = new Dictionary<int, List<StoreData>>();
- limitValueShopDict = new Dictionary<string, List<StoreData>>();
List<StoreConfig> storeConfigs = StoreConfig.GetValues();
for (int i = 0; i < storeConfigs.Count; i++)
{
var config = storeConfigs[i];
- if (config.ShopType != 0)
+ //UnlockType 2 鐢辨湇鍔$閫氱煡
+ if (config.ShopType != 0 && config.UnlockType != 2)
{
+ //鏋勫缓鍟嗗搧鏁版嵁
StoreData storeData = new StoreData();
storeData.shopId = config.ID;
storeData.storeConfig = config;
- storeData.jobReplaceDict = AnalysisJobReplace(config);
if (!storeTypeDict.ContainsKey(config.ShopType))
{
List<StoreData> storeDatas = new List<StoreData>();
@@ -181,31 +114,21 @@
storeTypeDict[config.ShopType].Add(storeData);
}
- if (config.TheOnlyShop == 1)
+ //鏋勫缓鍏嶈垂鍟嗗搧鏁版嵁
+ if (config.MoneyNum == 0)
{
- if (!theOnlyShopDict.ContainsKey(config.ItemID))
+ if (!freeShopDict.ContainsKey(config.ShopType))
{
- List<StoreData> storeDatas = new List<StoreData>();
- storeDatas.Add(storeData);
- theOnlyShopDict.Add(config.ItemID, storeDatas);
+ freeShopDict.Add(config.ShopType, new List<int>());
}
- else
- {
- theOnlyShopDict[config.ItemID].Add(storeData);
- }
+ freeShopDict[config.ShopType].Add(config.ID);
}
+ }
- string key = StringUtility.Contact(config.ShopType, config.LimitValue);
- if (!limitValueShopDict.ContainsKey(key))
- {
- List<StoreData> storeDatas = new List<StoreData>();
- storeDatas.Add(storeData);
- limitValueShopDict.Add(key, storeDatas);
- }
- else
- {
- limitValueShopDict[key].Add(storeData);
- }
+ //鏋勫缓鍟嗗搧浠锋牸绫诲瀷
+ if (!shopMoneyTypeDict.ContainsKey(config.ShopType))
+ {
+ shopMoneyTypeDict[config.ShopType] = config.MoneyType;
}
}
@@ -216,30 +139,7 @@
}
}
- private Dictionary<int, List<int>> AnalysisJobReplace(StoreConfig storeConfig)
- {
- if (storeConfig == null || string.IsNullOrEmpty(storeConfig.JobItem)) return null;
-
- Dictionary<int, List<int>> replaceDict = new Dictionary<int, List<int>>();
- JsonData jsonData = JsonMapper.ToObject(storeConfig.JobItem);
- if (jsonData.IsArray)
- {
- for (int i = 0; i < jsonData.Count; i++)
- {
- List<int> idlist = new List<int>();
- replaceDict.Add(i, idlist);
- if (jsonData[i].IsArray)
- {
- for (int j = 0; j < jsonData[i].Count; j++)
- {
- int itemId = int.Parse(jsonData[i][j].ToString());
- idlist.Add(itemId);
- }
- }
- }
- }
- return replaceDict;
- }
+
public int CompareByShopSort(StoreData start, StoreData end)
{
@@ -253,114 +153,11 @@
{
public int shopId;
public StoreConfig storeConfig;
- public Dictionary<int, List<int>> jobReplaceDict;
}
#endregion
#region 鑾峰彇鏁版嵁
- private Dictionary<int, List<StoreData>> showStoreTypeDict = new Dictionary<int, List<StoreData>>();
-
- private Dictionary<int, Dictionary<int, List<StoreData>>> showStoreSecondTypeDict = new Dictionary<int, Dictionary<int, List<StoreData>>>();
-
-
- // 鏂拌鍒欏垎浜岀骇鏍囩锛屾鍑芥暟淇濈暀锛屽彟澧炲姞UpdateShowStoreEx鍑芥暟
- public void UpdateShowStore()
- {
- showStoreTypeDict.Clear();
- int playeLv = PlayerDatas.Instance.baseData.LV;
- //int vipLevel = PlayerDatas.Instance.baseData.VIPLv;
- foreach (var type in storeTypeDict.Keys)
- {
- var storeDatas = storeTypeDict[type];
- List<StoreData> showStoreDatas = new List<StoreData>();
- if (!showStoreTypeDict.ContainsKey(type))
- {
- for (int i = 0; i < storeDatas.Count; i++)
- {
- var storeData = storeDatas[i];
- bool isReachLv = playeLv >= storeData.storeConfig.LVSee ? true : false;
-
- bool isReach = isReachLv;
- if (isReach)
- {
- int remainNum = 0;
- bool isSellOut = TryGetIsSellOut(storeData.storeConfig, out remainNum);
- if (storeData.storeConfig.IsHideSellOut != 1)
- {
- showStoreDatas.Add(storeData);
- }
- else
- {
- if (storeData.storeConfig.TheOnlyShop == 1)
- {
- if (!CheckTheOnlyShopSellOut(storeData.shopId))
- {
- showStoreDatas.Add(storeData);
- }
- }
- else
- {
- if (!isSellOut)
- {
- showStoreDatas.Add(storeData);
- }
- }
- }
- }
-
- }
- showStoreTypeDict.Add(type, showStoreDatas);
- }
- }
- UpdateShowStoreEx();
- }
-
- // 鍟嗗煄鍒嗕簩绾ф爣绛�
- public void UpdateShowStoreEx()
- {
- sortStoreSecondType = true;
- showStoreSecondTypeDict.Clear();
- foreach (var type in showStoreTypeDict.Keys)
- {
- if (!showStoreSecondTypeDict.ContainsKey(type))
- showStoreSecondTypeDict[type] = new Dictionary<int, List<StoreData>>();
-
- foreach (var storeData in showStoreTypeDict[type])
- {
-
- foreach (var secondType in storeData.storeConfig.SecondType)
- {
- if (!showStoreSecondTypeDict[type].ContainsKey(secondType))
- showStoreSecondTypeDict[type][secondType] = new List<StoreData>();
-
- showStoreSecondTypeDict[type][secondType].Add(storeData);
- }
-
- }
- }
-
- }
-
- bool sortStoreSecondType = true;
-
- public void SortStoreSecondType()
- {
- //ArrayList lst = new ArrayList(showStoreSecondTypeDict.Keys);
- if (!sortStoreSecondType)
- return;
-
- foreach (var type in showStoreSecondTypeDict.Keys)
- {
- foreach (var secondType in showStoreSecondTypeDict[type].Keys)
- {
- var storeList = showStoreSecondTypeDict[type][secondType];
- storeList.Sort(CompareSecondShop);
- }
- }
-
- sortStoreSecondType = false;
- }
private bool IsSellOut(StoreData storeData)
{
@@ -368,122 +165,24 @@
if (TryGetIsSellOut(storeData.storeConfig, out remainNum))
return true;
- if (storeData.storeConfig.TheOnlyShop == 1 && CheckTheOnlyShopSellOut(storeData.shopId))
- return true;
-
return false;
}
- private int CompareSecondShop(StoreData start, StoreData end)
- {
- bool isSellOut1 = IsSellOut(start);
- bool isSellOut2 = IsSellOut(end);
-
- if (isSellOut1 != isSellOut2)
- return isSellOut1.CompareTo(isSellOut2);
- int sort1 = start.storeConfig.ShopSort;
- int sort2 = end.storeConfig.ShopSort;
-
- return sort1.CompareTo(sort2);
- }
-
- /// <summary>
- /// 妫�娴嬪敮涓�鍟嗗搧鏄惁宸插敭缃�
- /// </summary>
- /// <param name="shopIndex"></param>
- /// <param name="isTheOnlyShop"></param>
- /// <returns></returns>
- public bool CheckTheOnlyShopSellOut(int shopIndex)
- {
- StoreConfig storeConfig = StoreConfig.Get(shopIndex);
- if (storeConfig == null || storeConfig.TheOnlyShop != 1) return false;
-
- if (theOnlyShopDict.ContainsKey(storeConfig.ItemID))
- {
- List<StoreData> datas = theOnlyShopDict[storeConfig.ItemID];
- for (int i = 0; i < datas.Count; i++)
- {
- var data = datas[i];
- int remainNum = 0;
- if (TryGetIsSellOut(data.storeConfig, out remainNum))
- {
- return true;
- }
- }
- }
-
- return false;
- }
public List<StoreData> TryGetStoreDatas(StoreFunc type)
{
- var results = new List<StoreData>();
List<StoreData> datas = null;
- if (showStoreTypeDict.TryGetValue((int)type, out datas))
+ if (storeTypeDict.TryGetValue((int)type, out datas))
{
- results.AddRange(datas);
- //switch (type)
- //{
- // case StoreFunc.MysteryStore:
- // foreach (var item in datas)
- // {
- // if (mysteryCommondities.Contains(item.storeConfig.ID))
- // {
- // results.Add(item);
- // }
- // }
-
- // results.Sort((StoreData x, StoreData y) => { return x.storeConfig.MoneyType < y.storeConfig.MoneyType ? -1 : 1; });
- // break;
- // default:
- // results.AddRange(datas);
- // break;
- //}
+ return datas;
}
- return results;
+ return datas;
}
- // 鑾峰彇浜岀骇鏍囩鍟嗗搧
- public List<StoreData> TryGetStoreDatasBySecondType(int type, int secondType)
- {
- if (!showStoreSecondTypeDict.ContainsKey(type))
- return null;
- if (!showStoreSecondTypeDict[type].ContainsKey(secondType))
- return null;
- SortStoreSecondType();
- return showStoreSecondTypeDict[type][secondType];
- }
-
- // 鑾峰緱浜岀骇鏍囩鐨勭涓�涓爣绛剧被鍨�
- public int GetFirstStoreSecondType(int type, bool jump = true)
- {
- if (jump && jumpToItemId != 0)
- {
- if (selectSecondType == 0) selectSecondType = 1;
- return selectSecondType;
- }
- if (!showStoreSecondTypeDict.ContainsKey(type))
- return 1;
-
- ArrayList sortList = new ArrayList(showStoreSecondTypeDict[type].Keys);
- sortList.Sort();
- return (int)sortList[0];
- }
-
- // 鑾峰緱浜岀骇鏍囩鐨勭涓�涓爣绛剧被鍨�
- public ArrayList GetStoreSecondTypeList(int type)
- {
- if (!showStoreSecondTypeDict.ContainsKey(type))
- return null;
-
- ArrayList sortList = new ArrayList(showStoreSecondTypeDict[type].Keys);
- sortList.Sort();
- return sortList;
- }
-
+
public StoreData GetStoreData(int shopId)
{
StoreConfig storeConfig = StoreConfig.Get(shopId);
@@ -505,61 +204,21 @@
return null;
}
- // 涓嶅悓鑱屼笟鏄剧ず涓嶅悓鐗╁搧鐨勬儏鍐�
- public int GetReplaceId(int shopId, int itemId)
- {
- var storeData = GetStoreData(shopId);
- if (storeData == null) return 0;
- int job = PlayerDatas.Instance.baseData.Job;
- var replaceDict = storeData.jobReplaceDict;
- if (replaceDict != null)
- {
- foreach (var index in replaceDict.Keys)
- {
- var idlist = replaceDict[index];
- if (idlist.Contains(itemId))
- {
- int replaceIndex = job - 1;
- return idlist[replaceIndex];
- }
- }
- }
-
- return itemId;
- }
-
- public bool TryGetRedTypeByShopId(int shopId, out int type)
- {
- type = 0;
- foreach (var key in storeRedRuleDict.Keys)
- {
- List<int> idlist = storeRedRuleDict[key];
- if (idlist.Contains(shopId))
- {
- type = key;
- return true;
- }
- }
- return false;
- }
public bool TryGetIsSellOut(StoreConfig storeConfig, out int remainCnt)
{
- int canBuyCnt = 0;
- int addBuyCnt = 0;
+ int canBuyCnt = storeConfig.LimitCnt;
remainCnt = 0;
- bool isLimitBuy = TryGetLimitBuy(storeConfig, out canBuyCnt, out addBuyCnt);
- if (!isLimitBuy) return false;
+
+ //涓嶉檺璐�
+ if (canBuyCnt == 0) return false;
remainCnt = canBuyCnt;
- BuyShopItemLimit shopItemLimit = GetBuyShopLimit((uint)storeConfig.ID);
- if (shopItemLimit != null)
- {
- remainCnt -= shopItemLimit.BuyCnt;
- }
+ var buyCnt = GetShopLimitBuyCount(storeConfig.ID);
+ remainCnt -= buyCnt;
if (remainCnt <= 0)
{
@@ -568,304 +227,105 @@
return false;
}
- /// <summary>
- ///
- /// </summary>
- /// <param name="config"></param>
- /// <param name="canBuyCnt"> 鍙喘涔颁笂闄�</param>
- /// <param name="addBuyCnt"> 涓嬩竴绾IP澧炲姞鐨勫彲璐拱娆℃暟</param>
- /// <returns></returns>
- public bool TryGetLimitBuy(StoreConfig config, out int canBuyCnt, out int addBuyCnt)
- {
- canBuyCnt = 0;
- addBuyCnt = 0;
- if (config == null) return false;
-
- int[] canBuyNums = config.GoumaiNumber;
- if (canBuyNums == null || canBuyNums.Length < 1) return false;
-
- int curVipIndex = -1;
- int nexVipIndex = -1;
- bool isVipBuy = TryGetVipBuy(config, out curVipIndex, out nexVipIndex);
- if (isVipBuy)
- {
- if (curVipIndex != -1)
- {
- canBuyCnt = canBuyNums[curVipIndex];
- }
-
- if (nexVipIndex != -1)
- {
- addBuyCnt = canBuyNums[nexVipIndex] - canBuyCnt;
- }
- return true;
- }
- else
- {
- if (canBuyNums[0] != 0)
- {
- canBuyCnt = canBuyNums[0];
- return true;
- }
- else
- {
- return false;
- }
- }
- }
-
- public bool TryGetVipBuy(StoreConfig config, out int curVipIndex, out int nextVipIndex)
- {
- curVipIndex = -1;
- nextVipIndex = -1;
- bool isVipBuy = false;
- if (config == null) return false;
-
- var vipLvs = config.VIPLV;
- if (vipLvs == null || vipLvs.Length < 1) return false;
-
- for (int i = 0; i < vipLvs.Length; i++)
- {
- var vipLv = vipLvs[i];
- if (vipLv != 0)
- {
- isVipBuy = true;
- }
- }
-
- if (isVipBuy)
- {
- int playerVip = PlayerDatas.Instance.baseData.VIPLv;
- for (int i = vipLvs.Length - 1; i > -1; i--)
- {
- var vipLv = vipLvs[i];
- if (vipLv > playerVip)
- {
- nextVipIndex = i;
- }
- else if (vipLv <= playerVip)
- {
- curVipIndex = i;
- break;
- }
- }
-
- }
-
- return isVipBuy;
- }
+
-
- public List<StoreData> TryGetStoreDatasByLimit(int type, int limitValue)
- {
- string key = StringUtility.Contact(type, limitValue);
- List<StoreData> datas = null;
- limitValueShopDict.TryGetValue(key, out datas);
- return datas;
- }
#endregion
- public string GetMysteryStoreRefreshTime()
+ private void RefreshDay()
{
- if (GeneralDefine.mysteryShopRefreshInterval == 0)
- {
- return "";
- }
- var seconds = GeneralDefine.mysteryShopRefreshInterval -
- (int)((TimeUtility.ServerNow - TimeUtility.createRoleTime).TotalSeconds) % GeneralDefine.mysteryShopRefreshInterval;
- return Language.Get("StoreWin200", TimeUtility.SecondsToHMS(seconds));
- }
-
- private int GetWillRefreshTime()
- {
- int willRefresh = (3 - TimeUtility.OpenDay % 3);
- if (willRefresh == 3)
- {
- if (TimeUtility.ServerNow.Hour < 5)
- {
- willRefresh = 0;
- }
- }
- int remainHour = 5 - TimeUtility.ServerNow.Hour;
- int remainMinute = 0 - TimeUtility.ServerNow.Minute;
- int remainSecond = willRefresh * 24 * 60 * 60 + remainHour * 60 * 60 + remainMinute * 60 - TimeUtility.ServerNow.Second;
- return remainSecond;
- }
-
- int refreshTime = 0;
- private void UpdateSecond()
- {
- if (!FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.Store)) return;
- if (isUpdatePlayerLv)
- {
- UpdatePlayerLv();
- isUpdatePlayerLv = false;
- }
- }
-
- private void UpdatePlayerLv()
- {
- UpdateShowStore();
UpdateFreeShopRedpoint();
- UpdateCanBuyRedpoint();
- UpdateMustBuyRedpoint();
}
-
- private void RefreshPlayerData(PlayerDataType type)
+
+ void EnterOrQuitGuildEvent(bool isEnter)
{
- if (type == PlayerDataType.VIPLv)
- {
- UpdateShowStore();
- }
-
- switch (type)
- {
- case PlayerDataType.LV:
- isUpdatePlayerLv = true;
- break;
- case PlayerDataType.VIPLv:
- case PlayerDataType.Gold:
- case PlayerDataType.GoldPaper:
- UpdateFreeShopRedpoint();
- UpdateCanBuyRedpoint();
- UpdateDailyRedpoinit();
- break;
- case PlayerDataType.UnionLiven:
- UpdateDailyRedpoinit();
- break;
- case PlayerDataType.FBHelpPoint:
- UpdateFreeShopRedpoint();
- UpdateCanBuyRedpoint();
- break;
- }
+ UpdateFreeShopRedpoint();
}
- private void RefreshFamilyLv()
- {
- int familyLv = PlayerDatas.Instance.fairyData.fairy.FamilyLV;
- if (familyLv > GetSaveFairyLV())
- {
- ControllerRedPoint();
- }
- UpdateDailyRedpoinit();
- }
- private void RefreshServerHour()
- {
- ControllerRedPoint();
- if (PlayerPrefs.HasKey(MUSTBUYSAVE_KEY))
- {
- int[] records = LocalSave.GetIntArray(MUSTBUYSAVE_KEY);
- if (TimeUtility.ServerNow.Hour >= 5
- && ((TimeUtility.ServerNow.Day == records[0] && records[1] < 5)
- || TimeUtility.ServerNow.Day != records[0]))
- {
- saveTimes[0] = TimeUtility.ServerNow.Day;
- saveTimes[1] = TimeUtility.ServerNow.Hour;
- IsMustBuyDay = true;
- LocalSave.SetIntArray(MUSTBUYSAVE_KEY, saveTimes);
- UpdateMustBuyRedpoint();
- }
- }
- if (!PlayerDatas.Instance.fairyData.HasFairy)
- {
- PlayerPrefs.DeleteKey(UNIONSTORESAVE_KEY);
- }
-
- UpdateDailyRedpoinit();
- }
-
- public event Action RefreshBuyShopLimitEvent;
-
- public StoreFunc storeFuncType = StoreFunc.DayStore;
- public int jumpStoreFuncType { get; set; }
- private Dictionary<uint, BuyShopItemLimit> shopItemlimitDict = new Dictionary<uint, BuyShopItemLimit>();
/// <summary>
/// 寰楀埌鐗╁搧璐拱娆℃暟
/// </summary>
/// <param name="buylimit"></param>
- public void RefreshBuyShopLimitModel(HA802_tagMCShopItemDayBuyCntInfo buylimit)
+ public void RefreshBuyShopLimitModel(HA802_tagSCShopItemBuyCntInfo buylimit)
{
- Debug.Log("RefreshBuyShopLimitModel" + buylimit.Count);
- if (buylimit.Count > 0)
+ int i = 0;
+ for (i = 0; i < buylimit.Count; i++)
{
- int i = 0;
- for (i = 0; i < buylimit.Count; i++)
- {
- if (!shopItemlimitDict.ContainsKey(buylimit.DayBuyCntList[i].ItemIndex))
- {
- BuyShopItemLimit shopItemLimit = new BuyShopItemLimit();
- shopItemLimit.ItemIndex = buylimit.DayBuyCntList[i].ItemIndex;
- shopItemLimit.BuyCnt = (int)buylimit.DayBuyCntList[i].BuyCnt;
- shopItemLimit.isReset = buylimit.DayBuyCntList[i].IsReset;
- shopItemlimitDict.Add(shopItemLimit.ItemIndex, shopItemLimit);
- }
- else
- {
- shopItemlimitDict[buylimit.DayBuyCntList[i].ItemIndex].BuyCnt = (int)buylimit.DayBuyCntList[i].BuyCnt;
- shopItemlimitDict[buylimit.DayBuyCntList[i].ItemIndex].isReset = buylimit.DayBuyCntList[i].IsReset;
- }
- }
-
+ shopItemlimitDict[(int)buylimit.BuyCntList[i].ShopID] = (int)buylimit.BuyCntList[i].BuyCnt;
}
- sortStoreSecondType = true;
- UpdateShowStore();
UpdateFreeShopRedpoint();
- UpdateCanBuyRedpoint();
- UpdateMustBuyRedpoint();
- UpdateDailyRedpoinit();
if (RefreshBuyShopLimitEvent != null)
RefreshBuyShopLimitEvent();
}
- public BuyShopItemLimit GetBuyShopLimit(uint itemIndex)
+ // 闄愯喘鍟嗗搧宸茶喘涔版鏁�
+ public int GetShopLimitBuyCount(int shopID)
{
- if (shopItemlimitDict.ContainsKey(itemIndex))
+ if (shopItemlimitDict.ContainsKey(shopID))
{
- return shopItemlimitDict[itemIndex];
+ return shopItemlimitDict[shopID];
}
- return null;
+ return 0;
+ }
+
+ public void UpdateRefreshItemInfo(HA803_tagSCShopRefreshItemInfo netPack)
+ {
+ storeTypeDict.Remove(netPack.ShopType);
+ shopRefreshCntDict[netPack.ShopType] = netPack.RefreshCnt;
+ List<int> resortList = new List<int>();
+ for (int i = 0; i < netPack.ShopIDList.Length; i++)
+ {
+ var config = StoreConfig.Get((int)netPack.ShopIDList[i]);
+ //UnlockType 2 鐢辨湇鍔$閫氱煡
+ StoreData storeData = new StoreData();
+ storeData.shopId = config.ID;
+ storeData.storeConfig = config;
+ if (!storeTypeDict.ContainsKey(config.ShopType))
+ {
+ List<StoreData> storeDatas = new List<StoreData>();
+ storeDatas.Add(storeData);
+ storeTypeDict.Add(config.ShopType, storeDatas);
+ }
+ else
+ {
+ storeTypeDict[config.ShopType].Add(storeData);
+ }
+ }
+
+ if (storeTypeDict.ContainsKey(netPack.ShopType))
+ {
+ var configs = storeTypeDict[netPack.ShopType];
+ configs.Sort(CompareByShopSort);
+ }
+
+ RefreshShopEvent?.Invoke();
}
//鍜孏etShopItemlistEx 涓�鏍� 鑾峰彇鍟嗗簵鐗╁搧鍒楄〃锛屽彧鏄繑鍥炵被鍨嬩笉鍚�
- List<ShopItemInfo> shopItemlist = new List<ShopItemInfo>();
public List<ShopItemInfo> GetShopItemlistByIndex(StoreConfig storeConfig)
{
if (storeConfig == null) return null;
+ List<ShopItemInfo> shopItemlist = new List<ShopItemInfo>();
- shopItemlist.Clear();
if (storeConfig.ItemID != 0)
{
- int replaceId = GetReplaceId(storeConfig.ID, storeConfig.ItemID);
- ShopItemInfo shopItem = new ShopItemInfo(replaceId, storeConfig.ItemCnt);
+ ShopItemInfo shopItem = new ShopItemInfo(storeConfig.ID, storeConfig.ItemCnt);
shopItemlist.Add(shopItem);
}
- JsonData extraItem = JsonMapper.ToObject(storeConfig.ItemListEx);
- if (extraItem.IsArray)
+ var extraItem = storeConfig.ItemListEx;
+ if (extraItem != null)
{
- for (int i = 0; i < extraItem.Count; i++)
+ for (int i = 0; i < extraItem.Length; i++)
{
- if (extraItem[i].IsArray)
- {
- if (extraItem[i].Count > 0)
- {
- int itemId = int.Parse(extraItem[i][0].ToString());
- int itemCount = int.Parse(extraItem[i][1].ToString());
- if (itemId != 0)
- {
- int extraReplaceId = GetReplaceId(storeConfig.ID, itemId);
- ShopItemInfo shop = new ShopItemInfo(extraReplaceId, itemCount);
- shopItemlist.Add(shop);
- }
- }
- }
+ ShopItemInfo shop = new ShopItemInfo(extraItem[i][0], extraItem[i][1]);
+ shopItemlist.Add(shop);
}
}
return shopItemlist;
@@ -879,10 +339,9 @@
List<int[]> shopItemlist = new List<int[]>();
if (storeConfig.ItemID != 0)
{
- int replaceId = GetReplaceId(storeConfig.ID, storeConfig.ItemID);
- shopItemlist.Add(new int[] { replaceId, storeConfig.ItemCnt, 0 });
+ shopItemlist.Add(new int[] { storeConfig.ID, storeConfig.ItemCnt});
}
- var extraItem = JsonMapper.ToObject<int[][]>(storeConfig.ItemListEx);
+ var extraItem = storeConfig.ItemListEx;
for (int i = 0; i < extraItem.Length; i++)
{
shopItemlist.Add(extraItem[i]);
@@ -890,79 +349,21 @@
return shopItemlist;
}
- public bool TryGetShopItemInfo(StoreFunc _type, int _id, out List<ShopItemInfo> _shopItems)
+ public bool TryGetShopItemInfo(int _id, out List<ShopItemInfo> _shopItems)
{
- _shopItems = null;
- var _list = TryGetStoreDatas(_type);
- var _index = _list.FindIndex((x) =>
- {
- return x.shopId == _id;
- });
- if (_index == -1)
- {
- return false;
- }
- _shopItems = GetShopItemlistByIndex(_list[_index].storeConfig);
+ _shopItems = GetShopItemlistByIndex(StoreConfig.Get(_id));
return _shopItems != null;
}
- #region 鐐瑰嚮鍟嗗簵鐗╁搧閫昏緫
- public void OnClickShopCell(StoreConfig shopInfo)
- {
- int itemId = GetReplaceId(shopInfo.ID, shopInfo.ItemID);
- ItemTipUtility.Show(itemId);
- }
-
- public int BuyCnt { get; private set; }
- public void SetBuyCnt(int buyCnt)
- {
- BuyCnt = buyCnt;
- }
-
- #endregion
-
- private long _price;
public void SendBuyShopItem(StoreConfig model, int count)
{
-
- _price = model.MoneyNumber * count;
-
- if (MoneyIsEnough(model.MoneyType, _price))
+ if (UIHelper.CheckMoneyCount(model.MoneyType, model.MoneyNum * count, 2))
{
- var vipLv = PlayerDatas.Instance.baseData.VIPLv;
- var itemMinLv = model.VIPLV[0];
- if (vipLv < itemMinLv)
- {
- SysNotifyMgr.Instance.ShowTip("VIPNotEnough", itemMinLv);
- }
- else
- {
- CA310_tagCMBuyItem buyShop = new CA310_tagCMBuyItem();
- buyShop.BuyItemIndex = (ushort)model.ID;
- buyShop.BuyCount = (uint)count;
- GameNetSystem.Instance.SendInfo(buyShop);
- }
- }
- else
- {
- switch (model.MoneyType)
- {
- case 1:
- if (VersionConfig.Get().isBanShu)
- {
- SysNotifyMgr.Instance.ShowTip("GoldErr");
- return;
- }
- // WindowCenter.Instance.Open<RechargeTipWin>();
- break;
- case 25:
- SysNotifyMgr.Instance.ShowTip("LackXBMoney", model.MoneyType);
- break;
- default:
- SysNotifyMgr.Instance.ShowTip("LackMoney", model.MoneyType);
- break;
- }
+ CA310_tagCSBuyItem buyShop = new CA310_tagCSBuyItem();
+ buyShop.ShopID = (ushort)model.ID;
+ buyShop.BuyCount = (uint)count;
+ GameNetSystem.Instance.SendInfo(buyShop);
}
}
@@ -972,7 +373,7 @@
//eventType 浜屾纭妗嗙被鍨嬶紝瀵瑰簲鏋氫妇 BuyStoreItemCheckType
public void SendBuyShopItemWithPopCheck(StoreConfig model, int count, int eventType = 0)
{
- if (model.MoneyNumber == 0)
+ if (model.MoneyNum == 0)
{
//鍏嶈垂鐨�
SendBuyShopItem(model, count);
@@ -985,8 +386,8 @@
return;
}
- ConfirmCancel.ToggleConfirmCancel(Language.Get("Mail101"), Language.Get("OSTimeLimitGiftConfirm", model.MoneyNumber),
- Language.Get("ConfirmCancel102"), (Action<bool, bool>)((bool isOk, bool isToggle) =>
+ ConfirmCancel.ToggleConfirmCancel(Language.Get("Mail101"), Language.Get("CostMoney", model.MoneyNum, model.MoneyType),
+ Language.Get("ConfirmCancel102"), (bool isOk, bool isToggle) =>
{
if (isOk)
{
@@ -994,7 +395,7 @@
buyItemCheckDict[eventType] = isToggle;
}
- }));
+ });
}
//鑺变粰鐜夎喘涔扮殑浜屾纭妗�(鏈鐧诲綍)
@@ -1028,640 +429,126 @@
- public event Action<int> RefreshBuyResultEvent;
-
- public void GetBuyResult(HA811_tagMCShoppingResult result)
- {
-
- //Debug.Log("GetBuyResult");
- StoreConfig tagStore = StoreConfig.Get((int)result.ItemIndex);
-
- if (tagStore != null)
- {
- ItemConfig chinModel = ItemConfig.Get(GetReplaceId(tagStore.ID, tagStore.ItemID));
- if (tagStore.RemindSuccess == 0)
- {
- return;
- }
-
- if (RefreshBuyResultEvent != null)
- {
- RefreshBuyResultEvent(chinModel.ID);
- }
- }
- }
-
-
- public bool MoneyIsEnough(int moneyType, long money)
- {
- if (UIHelper.GetMoneyCnt(moneyType) < money)
- {
- return false;
- }
- else
- {
- return true;
- }
- }
-
- public int funcOrder { get; private set; }
- public int jumpToItemId { get; set; }
-
- /// <summary>
- /// 浼氬厛娓呬箣鍓嶇殑璺宠浆锛岃皟鐢ㄨ�呰娉ㄦ剰 ClearJump
- /// </summary>
- /// <param name="itemId"></param>
- public void SetJumpToModel(int itemId)
- {
- ClearJump();
- jumpToItemId = itemId;
- }
-
- public void ClearJump()
- {
- funcOrder = -1;
- jumpToItemId = 0;
- }
-
- public void SetWinOrder(int order)
- {
- funcOrder = order;
- }
-
- public void OpenStoreWin(bool forceSync = false, int functionOrder = 0, bool useJump = false)
- {
- if (useJump && funcOrder != -1)
- {
- // WindowCenter.Instance.Open<StoreWin>(forceSync, funcOrder);
- }
- else
- {
- ClearJump();
- // WindowCenter.Instance.Open<StoreWin>(forceSync, functionOrder);
- }
- }
-
- public event Action StoreFuncOpenAct;
-
private void FuncStateChange(int funcId)
{
switch ((FuncOpenEnum)funcId)
{
case FuncOpenEnum.Store:
- if (StoreFuncOpenAct != null)
- {
- StoreFuncOpenAct();
- }
UpdateFreeShopRedpoint();
- UpdateCanBuyRedpoint();
- UpdateMustBuyRedpoint();
- UpdateDailyRedpoinit();
break;
- // case FuncOpenEnum.BlastFurnace:
- // ControllerRedPoint();
- // break;
}
}
- public bool IsNewDay(string recordKey)
- {
- if (!FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.Store)) return false;
- if (PlayerPrefs.HasKey(recordKey))
- {
- int day = LocalSave.GetInt(recordKey);
- if (day != TimeUtility.ServerNow.Day)
- {
- LocalSave.SetInt(recordKey, TimeUtility.ServerNow.Day);
- return true;
- }
- else
- {
- return false;
- }
- }
- else
- {
- LocalSave.SetInt(recordKey, TimeUtility.ServerNow.Day);
- return true;
- }
- }
- public bool IsRequireDailyRedRemind(int shopId)
- {
- var config = StoreConfig.Get(shopId);
- if (config == null)
- {
- return false;
- }
- var key = StringUtility.Contact("Store_", config.ShopType, "_", "Daily", shopId);
- var array = LocalSave.GetIntArray(key);
- if (array != null && array.Length == 2)
- {
- if (array[0] < TimeUtility.Day - 1)
- {
- return true;
- }
- else if (array[0] == TimeUtility.Day - 1)
- {
- return array[1] < 5 || TimeUtility.Hour >= 5;
- }
- else if (array[0] == TimeUtility.Day)
- {
- return array[1] < 5 && TimeUtility.Hour >= 5;
- }
- }
- return true;
- }
-
- public void SetDailyRedRedmind(int shopId)
- {
- var config = StoreConfig.Get(shopId);
- if (config == null)
- {
- return;
- }
- var key = StringUtility.Contact("Store_", config.ShopType, "_", "Daily", shopId);
- LocalSave.SetIntArray(key, new int[2] { TimeUtility.Day, TimeUtility.Hour });
- UpdateDailyRedpoinit();
- }
#region 鍟嗗煄绾㈢偣
-
- #region 浠欑洘绾㈢偣閫昏緫澶勭悊
-
- private bool CheckIsBuyNewItem(int fairyLv)
- {
- if (fairyLv > GetSaveFairyLV())
- {
- var toolStoreDatas = TryGetStoreDatasByLimit((int)StoreFunc.ToolStore, fairyLv);
- var mountStoreDatas = TryGetStoreDatasByLimit((int)StoreFunc.MountStoneStore, fairyLv);
- var skillBookStoreData = TryGetStoreDatasByLimit((int)StoreFunc.MountSkillBookStore, fairyLv);
- if ((toolStoreDatas != null && toolStoreDatas.Count > 0)
- || (mountStoreDatas != null && mountStoreDatas.Count > 0)
- || (skillBookStoreData != null && skillBookStoreData.Count > 0))
- {
- return true;
- }
- }
- return false;
- }
-
- private bool CheckIsNewMonth()
- {
- GetSaveDateTime();
- if (datelist.Count > 0)
- {
- if (TimeUtility.ServerNow.Month == datelist[0])
- {
- if (TimeUtility.ServerNow.Day >= 1
- && TimeUtility.ServerNow.Hour >= 5
- && datelist[1] <= 1 && datelist[2] < 5)
- {
- return true;
- }
- }
- else
- {
- if (TimeUtility.ServerNow.Day >= 1
- && TimeUtility.ServerNow.Hour >= 5)
- {
- return true;
- }
- }
- }
- return false;
- }
-
- List<int> datelist = new List<int>();
- public List<int> GetSaveDateTime()
- {
- datelist.Clear();
- int[] unionArray = LocalSave.GetIntArray(UNIONSTORESAVE_KEY);
- if (unionArray != null && unionArray.Length >= 4)
- {
- datelist.Add(unionArray[1]);
- datelist.Add(unionArray[2]);
- datelist.Add(unionArray[3]);
- }
- return datelist;
- }
-
- public int GetSaveFairyLV()
- {
- int[] unionArray = LocalSave.GetIntArray(UNIONSTORESAVE_KEY);
- int fairyLv = 0;
- if (unionArray != null)
- {
- return unionArray[0];
- }
- return fairyLv;
- }
-
-
- //1浠欑洘绛夌骇 2 鏈堜唤 3 鍙� 4 鍑犵偣
- public void SetStoreLocalSave(LocalSaveStoreType saveStoreType, params int[] infos)
- {
- string key = StringUtility.Contact(PlayerDatas.Instance.baseData.PlayerID, saveStoreType);
- LocalSave.SetIntArray(key, infos);
- }
-
- public void ControllerRedPoint(bool isLook = false)
- {
- fairyStoreRemindRedpoint.state = RedPointState.None;
- // if (!FairyModel.Instance.fairyStoreOpen
- // || !FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.BlastFurnace))
- // {
- // return;
- // }
-
- int familyLv = PlayerDatas.Instance.fairyData.fairy.FamilyLV;
- if (!isLook)
- {
- if (CheckIsBuyNewItem(familyLv))
- {
- fairyStoreRemindRedpoint.state = RedPointState.Simple;
- return;
- }
-
- if (CheckIsNewMonth())
- {
- fairyStoreRemindRedpoint.state = RedPointState.Simple;
- return;
- }
- }
-
- SetStoreLocalSave(LocalSaveStoreType.UnionStore, familyLv, TimeUtility.ServerNow.Month,
- TimeUtility.ServerNow.Day, TimeUtility.ServerNow.Hour);
- }
-
- #endregion
-
- public const int StoreFunc_RedKey = 22;
- public const int StoreFunc1_RedKey = 2201;
- public const int StoreFunc2_RedKey = 2202;
- public const int StoreFunc3_RedKey = 2203;
- public const int StoreFunc4_RedKey = 2204;
- public const int StoreFunc5_RedKey = 2205;
- public const int StoreFunc8_RedKey = 2208;
- public const int FairyStoreRemind_RedKey = 107010601;
- public Redpoint storeFuncPoint = new Redpoint(StoreFunc_RedKey);
- public Redpoint storeFunc1Point = new Redpoint(StoreFunc_RedKey, StoreFunc1_RedKey);
- public Redpoint storeFunc2Point = new Redpoint(StoreFunc_RedKey, StoreFunc2_RedKey);
- public Redpoint storeFunc3Point = new Redpoint(StoreFunc_RedKey, StoreFunc3_RedKey);
- public Redpoint storeFunc4Point = new Redpoint(StoreFunc_RedKey, StoreFunc4_RedKey);
- public Redpoint storeFunc5Point = new Redpoint(StoreFunc_RedKey, StoreFunc5_RedKey);
- public Redpoint storeFunc8Point = new Redpoint(MainRedDot.FAIRYStore_REDPOINT_KEY3, StoreFunc8_RedKey);
- public Redpoint fairyStoreRemindRedpoint = new Redpoint(MainRedDot.FAIRYStore_REDPOINT_KEY3, FairyStoreRemind_RedKey);
- public Dictionary<int, Redpoint> shopRedDict = new Dictionary<int, Redpoint>();
- public void SetShopRedpoint()
- {
- shopRedDict.Clear();
- List<StoreConfig> storelist = StoreConfig.GetValues();
- for (int i = 0; i < storelist.Count; i++)
- {
- StoreConfig storeConfig = storelist[i];
- int redKey = 0;
- Redpoint redpoint = null;
- switch (storeConfig.ShopType)
- {
- //case 1:
- // redKey = StoreFunc1_RedKey * 10000 + storeConfig.ID;
- // redpoint = new Redpoint(StoreFunc1_RedKey, redKey);
- // shopRedDict.Add(storeConfig.ID, redpoint);
- // break;
- //case 2:
- // redKey = StoreFunc2_RedKey * 10000 + storeConfig.ID;
- // redpoint = new Redpoint(StoreFunc2_RedKey, redKey);
- // shopRedDict.Add(storeConfig.ID, redpoint);
- // break;
- //case 3:
- // redKey = StoreFunc3_RedKey * 10000 + storeConfig.ID;
- // redpoint = new Redpoint(StoreFunc3_RedKey, redKey);
- // shopRedDict.Add(storeConfig.ID, redpoint);
- // break;
- //case 4:
- // redKey = StoreFunc4_RedKey * 10000 + storeConfig.ID;
- // redpoint = new Redpoint(StoreFunc4_RedKey, redKey);
- // shopRedDict.Add(storeConfig.ID, redpoint);
- // break;
- //case 5:
- // redKey = StoreFunc5_RedKey * 10000 + storeConfig.ID;
- // redpoint = new Redpoint(StoreFunc5_RedKey, redKey);
- // shopRedDict.Add(storeConfig.ID, redpoint);
- // break;
- case 8:
- redKey = StoreFunc8_RedKey * 10000 + storeConfig.ID;
- redpoint = new Redpoint(StoreFunc8_RedKey, redKey);
- shopRedDict.Add(storeConfig.ID, redpoint);
- break;
- }
- }
- }
+ Redpoint storeRedpoint = new Redpoint(MainRedDot.RightFuncRedpoint, MainRedDot.Store_REDPOINT);
+ Redpoint normalRedpoint = new Redpoint(MainRedDot.Store_REDPOINT, MainRedDot.Store_REDPOINT * 10 + 1);
+ Redpoint guildRedpoint = new Redpoint(MainRedDot.Store_REDPOINT, MainRedDot.Store_REDPOINT * 10 + 2);
public void UpdateFreeShopRedpoint()
{
if (!FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.Store)) return;
- foreach (var key in showStoreTypeDict.Keys)
+ normalRedpoint.state = RedPointState.None;
+ guildRedpoint.state = RedPointState.None;
+
+ if (freeShopDict.Count == 0) return;
+
+ if (freeShopDict.ContainsKey((int)StoreFunc.Normal))
{
- var storeDatas = showStoreTypeDict[key];
- for (int i = 0; i < storeDatas.Count; i++)
+ var shopList = freeShopDict[(int)StoreFunc.Normal];
+
+ for (int i = 0; i < shopList.Count; i++)
{
- var storeConfig = storeDatas[i].storeConfig;
- int type = 0;
- TryGetRedTypeByShopId(storeConfig.ID, out type);
- if (type == 1)
+ var shopID = shopList[i];
+ var config = StoreConfig.Get(shopID);
+ if (shopItemlimitDict.ContainsKey(shopID))
{
- int remainNum = 0;
- if (shopRedDict.ContainsKey(storeConfig.ID))
+ if (shopItemlimitDict[shopID] < config.LimitCnt)
{
- if (!TryGetIsSellOut(storeConfig, out remainNum))
- {
- shopRedDict[storeConfig.ID].state = RedPointState.Simple;
- }
- else
- {
- shopRedDict[storeConfig.ID].state = RedPointState.None;
- }
- }
- }
- }
-
- }
- }
-
- public void UpdateCanBuyRedpoint()
- {
- if (!FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.Store)) return;
-
- foreach (var key in showStoreTypeDict.Keys)
- {
- var storeDatas = showStoreTypeDict[key];
- for (int i = 0; i < storeDatas.Count; i++)
- {
- var storeConfig = storeDatas[i].storeConfig;
- int type = 0;
- TryGetRedTypeByShopId(storeConfig.ID, out type);
- if (type == 4)
- {
- int remainNum = 0;
- if (shopRedDict.ContainsKey(storeConfig.ID))
- {
- if (!TryGetIsSellOut(storeConfig, out remainNum))
- {
- if (UIHelper.GetMoneyCnt(storeConfig.MoneyType) >= storeConfig.MoneyNumber)
- {
- shopRedDict[storeConfig.ID].state = RedPointState.Simple;
- }
- else
- {
- shopRedDict[storeConfig.ID].state = RedPointState.None;
- }
- }
- else
- {
- shopRedDict[storeConfig.ID].state = RedPointState.None;
- }
-
- }
- }
- }
-
- }
- }
-
- public void UpdateMustBuyRedpoint()
- {
- if (!FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.Store)) return;
-
- foreach (var key in showStoreTypeDict.Keys)
- {
- var storeDatas = showStoreTypeDict[key];
- for (int i = 0; i < storeDatas.Count; i++)
- {
- var storeConfig = storeDatas[i].storeConfig;
- int type = 0;
- TryGetRedTypeByShopId(storeConfig.ID, out type);
- if (type == 2)
- {
- if (shopRedDict.ContainsKey(storeConfig.ID))
- {
- if (CheckIsMustBuy(storeConfig))
- {
- shopRedDict[storeConfig.ID].state = RedPointState.Simple;
- }
- else
- {
- shopRedDict[storeConfig.ID].state = RedPointState.None;
- }
- }
- }
- }
-
- }
- }
-
- public void UpdateDailyRedpoinit()
- {
- if (storeRedRuleDict.ContainsKey(6))
- {
- var shopIds = storeRedRuleDict[6];
- var count = 0;
- foreach (var shopId in shopIds)
- {
- var redable = false;
- var config = StoreConfig.Get(shopId);
- if (config == null)
- {
- Debug.LogError($"StoreConfig {shopId} is null");
- continue;
- }
- switch (config.ShopType)
- {
- case 8:
- if (TryGetIsSellOut(config, out count))
- {
- break;
- }
- if (PlayerDatas.Instance.fairyData.fairy == null)
- {
- break;
- }
- if (config.VIPLV.Length > 0
- && PlayerDatas.Instance.baseData.VIPLv < config.VIPLV[0])
- {
- break;
- }
- if (PlayerDatas.Instance.fairyData.fairy.FamilyLV < config.LimitValue)
- {
- break;
- }
- if (!MoneyIsEnough(config.MoneyType, config.MoneyNumber))
- {
- break;
- }
- redable = IsRequireDailyRedRemind(shopId);
+ normalRedpoint.state = RedPointState.Simple;
break;
+ }
}
-
- if (shopRedDict.ContainsKey(shopId))
+ else
{
- shopRedDict[shopId].state = redable ? RedPointState.Simple : RedPointState.None;
+ normalRedpoint.state = RedPointState.Simple;
+ break;
}
}
}
- }
-
-
-
- public void ClearMustBuyRedpoint(StoreConfig storeConfig)
- {
- if (!shopRedDict.ContainsKey(storeConfig.ID))
- return;
- int type = 0;
- TryGetRedTypeByShopId(storeConfig.ID, out type);
- if (type == 2)
+ if (PlayerDatas.Instance.fairyData.HasFairy && freeShopDict.ContainsKey((int)StoreFunc.Guild))
{
- shopRedDict[storeConfig.ID].state = RedPointState.None;
- IsMustBuyDay = false;
- }
- else if (type == 1)
- {
- shopRedDict[storeConfig.ID].state = RedPointState.None;
- }
- }
+ var shopList = freeShopDict[(int)StoreFunc.Guild];
- public bool IsMustBuyDay { get; private set; }
- int[] saveTimes = new int[2];
- public void SetIsMustBuyDay()
- {
- if (IsMustBuyDay) return;
-
- saveTimes[0] = TimeUtility.ServerNow.Day;
- saveTimes[1] = TimeUtility.ServerNow.Hour;
- if (PlayerPrefs.HasKey(MUSTBUYSAVE_KEY))
- {
- int[] records = LocalSave.GetIntArray(MUSTBUYSAVE_KEY);
- if (TimeUtility.ServerNow.Hour >= 5
- && ((TimeUtility.ServerNow.Day == records[0] && records[1] < 5)
- || TimeUtility.ServerNow.Day != records[0]))
+ for (int i = 0; i < shopList.Count; i++)
{
- IsMustBuyDay = true;
- LocalSave.SetIntArray(MUSTBUYSAVE_KEY, saveTimes);
- }
- else
- {
- IsMustBuyDay = false;
- }
- }
- else
- {
- IsMustBuyDay = true;
- LocalSave.SetIntArray(MUSTBUYSAVE_KEY, saveTimes);
- }
- }
-
- public bool CheckIsMustBuy(StoreConfig config)
- {
- int remainNum = 0;
- if (!TryGetIsSellOut(config, out remainNum) && IsMustBuyDay)
- {
- return true;
- }
- return false;
- }
-
-
- public void ClearPetAndMountRedpoint(StoreConfig storeConfig)
- {
- ItemConfig itemConfig = ItemConfig.Get(storeConfig.ItemID);
- switch (itemConfig.Type)
- {
- case 26:
- case 41:
- string key = StringUtility.Contact(PlayerDatas.Instance.baseData.PlayerID, "ShopId", storeConfig.ID);
- if (shopRedDict.ContainsKey(storeConfig.ID) && shopRedDict[storeConfig.ID].state == RedPointState.Simple)
+ var shopID = shopList[i];
+ var config = StoreConfig.Get(shopID);
+ if (shopItemlimitDict.ContainsKey(shopID))
{
- shopRedDict[storeConfig.ID].state = RedPointState.None;
- LocalSave.SetBool(key, false);
- }
- break;
- }
- }
-
- public void ClearAllPetAndMountRedpoint(StoreFunc storeFunc)
- {
- if (storeFuncType == StoreFunc.BindStore && storeFunc != StoreFunc.BindStore)
- {
- foreach (var key in shopRedDict.Keys)
- {
- StoreConfig storeConfig = StoreConfig.Get(key);
- ItemConfig itemConfig = ItemConfig.Get(storeConfig.ItemID);
- switch (itemConfig.Type)
- {
- case 26:
- case 41:
- if (shopRedDict.ContainsKey(key) && shopRedDict[key].state != RedPointState.None)
- {
- string record = StringUtility.Contact(PlayerDatas.Instance.baseData.PlayerID, "ShopId", key);
- shopRedDict[key].state = RedPointState.None;
- LocalSave.SetBool(record, false);
- }
+ if (shopItemlimitDict[shopID] < config.LimitCnt)
+ {
+ guildRedpoint.state = RedPointState.Simple;
break;
+ }
}
-
+ else
+ {
+ guildRedpoint.state = RedPointState.Simple;
+ break;
+ }
}
}
}
- public void CloseRedPoint(StoreConfig storeConfig)
- {
- ClearMustBuyRedpoint(storeConfig);
- ClearPetAndMountRedpoint(storeConfig);
- }
- public void CloseAllRedpoint(StoreFunc storeFunc)
- {
- ClearAllPetAndMountRedpoint(storeFunc);
- }
+
#endregion
-
+ public void RefreshStore(int shopType)
+ {
+ var pack = new CA232_tagCSRefreshShop();
+ pack.ShopType = (ushort)shopType;
+ GameNetSystem.Instance.SendInfo(pack);
+ }
+ //鑾峰彇鍟嗗搧鐘舵�� 0鍙喘涔� 1宸插敭缃� 2鍏嶈垂 3鏈В閿�
+ public int GetShopIDState(int shopID)
+ {
+ var config = StoreConfig.Get(shopID);
+ if (config.UnlockType == 1)
+ {
+ if (!PlayerDatas.Instance.fairyData.HasFairy ||
+ PlayerDatas.Instance.fairyData.fairy.FamilyLV < config.UnlockValue)
+ {
+ return 3;
+ }
+ }
+ if (config.LimitCnt != 0 && GetShopLimitBuyCount(shopID) >= config.LimitCnt)
+ {
+ return 1;
+ }
+
+ if (config.MoneyNum == 0)
+ {
+ return 2;
+ }
+
+ return 0;
+ }
}
public enum StoreFunc
{
- DayStore = 1, //1锛氭瘡澶╅檺璐�
- CommonStore = 2, //2锛氬够澧冮榿鍟嗗簵
- GrowStrongerStore = 3, //3锛氭垚闀垮彉寮�
- BindStore = 4, //4锛氱粦鐜夊晢鍩�
- IntegralStore = 5, //5锛氱Н鍒嗗晢鍩�
- BagStore = 6, //6:闅忚韩鍟嗗簵
- RuneStore = 7, //7锛氱鍗板晢搴�
- ToolStore = 8, // 閬撳叿鍟嗗簵
- MountStoneStore = 9, //鍧愰獞榄傜煶鍟嗗簵
- MountSkillBookStore = 10,//鍧愰獞鎶�鑳戒功鍟嗗簵
- XBEquipStore = 11, //瀵诲疂瑁呭鍟嗗簵
- XBRuneStore = 12, //瀵诲疂绗﹀嵃鍟嗗簵
- XBToolStore = 13, //瀵诲疂閬撳叿鍟嗗簵
- OSGift = 14,//寮�鏈嶇ぜ鍖�
- OSTimeLimitGift = 15,//闄愭椂鐗规儬
- CrossOneVsOneHonor = 17,//鑽h獕鍟嗗簵
- MysteryStore = 18, //1锛氱绉樺晢搴�
- default1,
- default2, //鏃堕棿绫绘椿鍔� - 濡俠oss鍑瘉鐨勫晢搴� 20
- default3,
- QCTrainActStore = 306, //楠戝疇鍏绘垚娲诲姩鍟嗗簵
- CelestialPalaceStore = 308, //浠欏鍟嗗簵锛堝ぉ閬撻榿锛�
+ Normal = 1, //1锛氬潑甯�
+ Guild = 2, //2锛氬叕浼�
+ Hero = 3, //3锛氬皢榄�
+
}
-public enum LocalSaveStoreType
-{
- UnionStore, //浠欑洘鍟嗗簵
-
-}
diff --git a/Main/System/Store/StoreWin.cs b/Main/System/Store/StoreWin.cs
new file mode 100644
index 0000000..79dab76
--- /dev/null
+++ b/Main/System/Store/StoreWin.cs
@@ -0,0 +1,179 @@
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.UI;
+
+public class StoreWin : UIBase
+{
+ [SerializeField] OwnMoneyCell ownMoneyCellWithShop;
+ //鏈夊埛鏂板姛鑳界殑鍟嗗簵
+ [SerializeField] GameObject refreshGo;
+ [SerializeField] Image refreshMoneyIcon;
+ [SerializeField] Text refreshMoneyText;
+ [SerializeField] Button refreshButton;
+
+ [SerializeField] GroupButtonEx normalShopBtn;
+ [SerializeField] GroupButtonEx guildShopBtn;
+ [SerializeField] GroupButtonEx heroShopBtn;
+
+ [SerializeField] ScrollerController scroller;
+
+
+ protected override void InitComponent()
+ {
+ refreshButton.AddListener(RefreshStore);
+ normalShopBtn.AddListener(() => { OnSelectStoreFuncType(1); });
+ guildShopBtn.AddListener(() => { OnSelectStoreFuncType(2); });
+ heroShopBtn.AddListener(() => { OnSelectStoreFuncType(3); });
+ }
+
+
+ protected override void OnPreOpen()
+ {
+ scroller.OnRefreshCell += OnRefreshCell;
+ StoreModel.Instance.RefreshShopEvent += Display;
+ StoreModel.Instance.RefreshBuyShopLimitEvent += Display;
+ GuildManager.Instance.EnterOrQuitGuildEvent += EnterOrQuitGuildEvent;
+
+ Display();
+ }
+
+ protected override void OnPreClose()
+ {
+ scroller.OnRefreshCell -= OnRefreshCell;
+ StoreModel.Instance.RefreshShopEvent -= Display;
+ StoreModel.Instance.RefreshBuyShopLimitEvent -= Display;
+ GuildManager.Instance.EnterOrQuitGuildEvent -= EnterOrQuitGuildEvent;
+ StoreModel.Instance.selectStoreFuncType = StoreFunc.Normal;
+ }
+
+ void Display()
+ {
+ if (StoreModel.Instance.selectStoreFuncType == StoreFunc.Normal)
+ {
+ normalShopBtn.SelectBtn();
+ }
+ else if (StoreModel.Instance.selectStoreFuncType == StoreFunc.Guild)
+ {
+ guildShopBtn.SelectBtn();
+ }
+ else if (StoreModel.Instance.selectStoreFuncType == StoreFunc.Hero)
+ {
+ heroShopBtn.SelectBtn();
+ }
+
+ guildShopBtn.SetColorful(null, PlayerDatas.Instance.fairyData.HasFairy);
+
+ ShowMoney();
+ CreateScroller();
+ }
+
+ void EnterOrQuitGuildEvent(bool isEnter)
+ {
+ if (!isEnter && StoreModel.Instance.selectStoreFuncType == StoreFunc.Guild)
+ {
+ StoreModel.Instance.selectStoreFuncType = StoreFunc.Normal;
+ }
+ Display();
+ }
+
+ void CreateScroller()
+ {
+ if (!StoreModel.Instance.storeTypeDict.ContainsKey((int)StoreModel.Instance.selectStoreFuncType))
+ {
+ return;
+ }
+
+ scroller.Refresh();
+ var list = StoreModel.Instance.storeTypeDict[(int)StoreModel.Instance.selectStoreFuncType];
+ for (int i = 0; i < list.Count; i++)
+ {
+ if (i % 3 == 0)
+ {
+ scroller.AddCell(ScrollerDataType.Header, i);
+ }
+ }
+ scroller.Restart();
+ }
+
+
+ void OnRefreshCell(ScrollerDataType type, CellView cell)
+ {
+ var _cell = cell as StoreLineCell;
+ _cell.Display(cell.index);
+ }
+
+
+ void ShowMoney()
+ {
+ if (!StoreModel.Instance.shopMoneyTypeDict.ContainsKey((int)StoreModel.Instance.selectStoreFuncType))
+ {
+ return;
+ }
+ var moneyType = StoreModel.Instance.shopMoneyTypeDict[(int)StoreModel.Instance.selectStoreFuncType];
+ ownMoneyCellWithShop.moneyType = moneyType;
+ ownMoneyCellWithShop.Display(true);
+
+ if (StoreModel.Instance.selectStoreFuncType == StoreFunc.Hero)
+ {
+ refreshGo.SetActive(true);
+ refreshMoneyIcon.SetIconWithMoneyType(StoreModel.Instance.heroSoulRefreshMoneyType);
+
+ if (StoreModel.Instance.shopRefreshCntDict.ContainsKey((int)StoreModel.Instance.selectStoreFuncType))
+ {
+ if (StoreModel.Instance.shopRefreshCntDict[(int)StoreModel.Instance.selectStoreFuncType] >=
+ StoreModel.Instance.heroSoulRefreshFreeCount)
+ {
+ refreshMoneyText.text = StoreModel.Instance.heroSoulRefreshMoney.ToString();
+ }
+ else
+ {
+ refreshMoneyText.text = Language.Get("L1127");
+ }
+ }
+ else
+ {
+ refreshMoneyText.text = Language.Get("L1127");
+ }
+ }
+ else
+ {
+ refreshGo.SetActive(false);
+ }
+ }
+
+ void RefreshStore()
+ {
+ if (StoreModel.Instance.selectStoreFuncType != StoreFunc.Hero)
+ {
+ return;
+ }
+ var useCnt = 0;
+ if (StoreModel.Instance.shopRefreshCntDict.ContainsKey((int)StoreModel.Instance.selectStoreFuncType))
+ {
+ if (StoreModel.Instance.shopRefreshCntDict[(int)StoreModel.Instance.selectStoreFuncType] >=
+ StoreModel.Instance.heroSoulRefreshFreeCount)
+ {
+ useCnt = StoreModel.Instance.heroSoulRefreshMoney;
+ }
+ }
+
+ if (UIHelper.CheckMoneyCount(StoreModel.Instance.heroSoulRefreshMoneyType, useCnt, 2))
+ {
+ StoreModel.Instance.RefreshStore((int)StoreFunc.Hero);
+ }
+ }
+
+ void OnSelectStoreFuncType(int index)
+ {
+ if (index == 2)
+ {
+ if (!PlayerDatas.Instance.fairyData.HasFairy)
+ {
+ SysNotifyMgr.Instance.ShowTip("NoGuild");
+ return;
+ }
+ }
+ StoreModel.Instance.selectStoreFuncType = (StoreFunc)index;
+ Display();
+ }
+}
diff --git a/Main/Core/NetworkPackage/ServerPack/HA8_Item/HA802_tagMCShopItemDayBuyCntInfo.cs.meta b/Main/System/Store/StoreWin.cs.meta
similarity index 83%
copy from Main/Core/NetworkPackage/ServerPack/HA8_Item/HA802_tagMCShopItemDayBuyCntInfo.cs.meta
copy to Main/System/Store/StoreWin.cs.meta
index 80dfcd7..025f806 100644
--- a/Main/Core/NetworkPackage/ServerPack/HA8_Item/HA802_tagMCShopItemDayBuyCntInfo.cs.meta
+++ b/Main/System/Store/StoreWin.cs.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: cbdb66c5b2f98534ca9f73a2b9b281e0
+guid: 0986c3d06dfd5bb47a959ec12212f01e
MonoImporter:
externalObjects: {}
serializedVersion: 2
diff --git a/Main/System/UIBase/OneLevelWin.cs b/Main/System/UIBase/OneLevelWin.cs
index 2326bbb..c88f6cc 100644
--- a/Main/System/UIBase/OneLevelWin.cs
+++ b/Main/System/UIBase/OneLevelWin.cs
@@ -1,164 +1,51 @@
-using System.Collections;
-using System.Collections.Generic;
using UnityEngine;
-using DG.Tweening;
-using UnityEngine.UI; // DOTween 鎻掍欢寮曠敤
-using Cysharp.Threading.Tasks;
+using UnityEngine.UI;
using System;
-
-public class OneLevelWin : UIBase
+// 涓�绾х晫闈㈠甫棰勫埗浣擄紝搴曢儴鍔熻兘鎸夐挳鏍峰紡
+public class OneLevelWin : FunctionsBaseWin
{
- protected Image m_TitleIcon;
- protected FunctionButtonGroup m_Group;
- protected Button m_Left;
- protected Button m_Right;
- protected Button m_Close;
-
- protected Text m_Copper;
- protected Text m_Diamond;
- protected Text m_BindDiamond;
-
- protected RectTransform m_SubWindowContainer;
- public RectTransform subWindowContainer { get { return m_SubWindowContainer; } }
-
- private UIBase subWindow = null;
-
- // init once
+ [NonSerialized] GroupButtonEx tabBtn;
+ public FuncBtnData[] funcBtnDatas;
+ [NonSerialized] Button closeBtn;
protected override void InitComponent()
{
+ // 鍒涘缓
+ var instance = UIUtility.CreateWidget("OneLevelWin", "BottomTabs");
+ instance.transform.SetParentEx(_rectTransform, Vector3.zero, Quaternion.identity, Vector3.one);
+ closeBtn = _rectTransform.GetComponent<Button>("BottomTabs/bg/backbtn");
+ tabBtn = _rectTransform.GetComponent<GroupButtonEx>("BottomTabs/bg/btns/funcbtn");
+ var btnParent = _rectTransform.GetComponent<RectTransform>("BottomTabs/bg/btns");
+
+
+ tabButtons = new GroupButtonEx[funcBtnDatas.Length];
+ for (int i = 0; i < tabButtons.Length; i++)
+ {
+ GameObject go = Instantiate(tabBtn.gameObject, btnParent);
+ var data = funcBtnDatas[i];
+ tabButtons[i] = go.GetComponent<GroupButtonEx>();
+ tabButtons[i].selectIcon.SetSprite(data.iconName);
+ tabButtons[i].selectIcon.SetNativeSize();
+ tabButtons[i].title.text = Language.Get(data.name);
+ tabButtons[i].redpoint.redpointId = data.redpointID;
+ tabButtons[i].SetActive(true);
+ }
base.InitComponent();
-
- // // 璺熷師鐗堢殑宸埆
- Transform trans = transform;
-
- // if (_rectTransform != null)
- // {
- // trans = _rectTransform;
- // }
-
- m_TitleIcon = trans.GetComponent<Image>("Pivot/Container_BackGround/Img_Title");
- m_Group = trans.GetComponent<FunctionButtonGroup>("Pivot/Container_Functions");
- m_Left = trans.GetComponent<Button>("Pivot/Container_Buttons/Btn_Left");
- m_Right = trans.GetComponent<Button>("Pivot/Container_Buttons/Btn_Right");
- m_Close = trans.GetComponent<Button>("Pivot/Container_Buttons/Btn_Close");
-
- m_Copper = trans.GetComponent<Text>("Pivot/Container_BackGround/FollowStoreBottom/SilverCountBG/CountText");
- if (m_Copper != null)
- m_Diamond = trans.GetComponent<Text>("Pivot/Container_BackGround/FollowStoreBottom/GoldCountBG/CountText");
- m_BindDiamond = trans.GetComponent<Text>("Pivot/Container_BackGround/FollowStoreBottom/GoldPaperCountBG/CountText");
-
- m_SubWindowContainer = trans.GetComponent<RectTransform>("Pivot/Container_SubWindow");
-
- var name = gameObject.name;
- var infos = WindowConfig.GetWindowFunctionInfos(name);
- foreach (var info in infos)
- {
- var title = Language.Get(info.titleKey);
- if (title.Length == 2)
- {
- title = title.Insert(1, " ");
- }
- m_Group.AddFunction("FunctionButton_Pattern_1", info.order, info.functionId, title, info.redPointId);
- }
-
- m_TitleIcon.SetSprite(WindowConfig.GetTitleIconKey(name));
- m_TitleIcon.SetNativeSize();
-
- m_Close.SetListener(CloseWindow);
- m_Left.SetListener(() => { m_Group.TriggerLast(); });
- m_Right.SetListener(() => { m_Group.TriggerNext(); });
+ closeBtn.AddListener(CloseWindow);
}
- protected override void OnPreOpen()
+ protected override void OpenSubUIByTabIndex()
{
- base.OnPreOpen();
-
- if (m_Copper == null)
- m_Copper = this.GetComponent<Text>("Pivot/Container_BackGround/FollowStoreBottom/SilverCountBG/CountText");
- m_Diamond = this.GetComponent<Text>("Pivot/Container_BackGround/FollowStoreBottom/GoldCountBG/CountText");
- m_BindDiamond = this.GetComponent<Text>("Pivot/Container_BackGround/FollowStoreBottom/GoldPaperCountBG/CountText");
-
-
- UpdateMoney();
}
- protected override void OnPreClose()
- {
- base.OnPreClose();
- CloseSubWindows();
- }
- protected override void OnOpen()
- {
- base.OnOpen();
+}
- PlayerDatas.Instance.playerDataRefreshEvent += OnPlayerDataUpdate;
-
- ExecuteNextFrame(() => {
- m_Group.TriggerByOrder(functionOrder);
- m_Group.GotoOrder(functionOrder);
- });
-
- m_Left.SetActive(m_Group.unLockedCount > 1);
- m_Right.SetActive(m_Group.unLockedCount > 1);
- }
-
- protected virtual void CloseSubWindows()
- {
- if (null != subWindow)
- {
- subWindow.CloseWindow();
- }
- subWindow = null;
- }
-
- public void SetFunctionListener(int order, Action callBack)
- {
- m_Group.SetFunctionListener(order, callBack);
- }
-
- public void SetFunctionButtonActive(int order, bool isShow)
- {
- m_Group.SetFunctionButtonActive(order, isShow);
- }
-
- public RedPointState GetFunctionButtonRedPointState(int order)
- {
- return m_Group.GetFunctionButtonRedPointState(order);
- }
-
- public void FunctionButtonInvoke(int order)
- {
- m_Group.TriggerByOrder(order);
- m_Group.GotoOrder(order);
- }
-
- private void OnPlayerDataUpdate(PlayerDataType type)
- {
- switch (type)
- {
- case PlayerDataType.Gold:
- case PlayerDataType.GoldPaper:
- case PlayerDataType.Silver:
- case PlayerDataType.ExAttr6:
- case PlayerDataType.default5:
- case PlayerDataType.default6:
- UpdateMoney();
- break;
- }
- }
-
- void UpdateMoney()
- {
- if (m_Copper == null)
- return;
- m_Copper.text = ItemLogicUtility.Instance.OnChangeCoinsUnit(PlayerDatas.Instance.baseData.allCopper);
- m_Diamond.text = UIHelper.GetMoneyCntEx(1).ToString();
- if (PlayerDatas.Instance.baseData.bindDiamond > 0)
- m_BindDiamond.text = ItemLogicUtility.Instance.OnChangeCoinsUnit(PlayerDatas.Instance.baseData.bindDiamond);
- else
- m_BindDiamond.text = UIHelper.GetMoneyCntEx(2).ToString();
- }
+[Serializable]
+public struct FuncBtnData
+{
+ public int redpointID;
+ public string name;
+ public string iconName; //榛樿鏄剧ず鐨勫浘鏍囷紙閫変腑锛�
}
\ No newline at end of file
diff --git a/Main/Utility/ComponentExtersion.cs b/Main/Utility/ComponentExtersion.cs
index 5c562a4..c7aadbc 100644
--- a/Main/Utility/ComponentExtersion.cs
+++ b/Main/Utility/ComponentExtersion.cs
@@ -255,7 +255,40 @@
}
}
-
+ public static void SetColorful(this GroupButtonEx _btn, Text _btnTxt, bool _colorful, int pattern = 0)
+ {
+ if (_btn != null)
+ {
+ if (_btn.selectIcon != null)
+ {
+ _btn.selectIcon.gray = !_colorful;
+ }
+ if (_btn.unSelectIcon != null)
+ {
+ _btn.unSelectIcon.gray = !_colorful;
+ }
+ }
+ if (_btnTxt != null)
+ {
+ switch (pattern)
+ {
+ case 1:
+ _btnTxt.color = UIHelper.GetUIColor(_colorful ? TextColType.LightWhite : TextColType.White);
+ break;
+ case 2:
+ _btnTxt.color = UIHelper.GetUIColor(_colorful ? TextColType.Green : TextColType.White);
+ break;
+ default:
+ //false 鐏拌壊锛宼rue 鍘熻壊
+ if (!_colorful)
+ _btnTxt.text = UIHelper.AppendColor(TextColType.NavyGray, _btnTxt.text); //涓嶆敼鍙樼粍浠堕鑹诧紝鍙敼鍙樻樉绀洪鑹�
+ else
+ _btnTxt.text = UIHelper.AppendColor(_btnTxt.color, _btnTxt.text);
+ break;
+ }
+ }
+ }
+
// 璁剧疆鎸夐挳鏄惁鍙偣鍑伙紝涓斿彇绗竴涓枃鏈粍浠剁疆鐏版垨缃師鑹�
// 瑕佸厛璁剧疆鏂囨湰鍐嶈皟鐢ㄨ鍑芥暟 鍥犱负娌℃湁鏀瑰彉鏂囨湰缁勪欢鐨勯鑹查伩鍏嶉鑹茶杩樺師锛屽悓鐞嗘仮澶嶅彲浠ヤ笉鐢ㄦ敼鍙橀鑹叉敼鏂囧瓧鍗冲彲
// 鏇村鍔熻兘璇蜂娇鐢⊿etColorful
diff --git a/Main/Utility/EnumHelper.cs b/Main/Utility/EnumHelper.cs
index 6ae5d7b..d7eb63c 100644
--- a/Main/Utility/EnumHelper.cs
+++ b/Main/Utility/EnumHelper.cs
@@ -698,7 +698,7 @@
default31,
default32,
default33, // 261 鐜夐珦
- default34, // 262 鍑瘉绉垎
+ default34, // 262 灏嗛瓊
default35, // 263 鑱氶瓊绮惧崕
default36, // 264 Boss鏈�缁堜激瀹冲姞鎴�
default37, // 265 楠戝疇绉垎
@@ -820,7 +820,7 @@
Realm = 10, //澧冪晫 瀹樿亴
Guild = 11,// 鍏細
BlessLV = 12, //绁濈绛夌骇
- Store = 16,//鍟嗗煄
+ Store = 16,//鍧婂競
HappyFindTreasure = 18,// 鑻遍泟鎷涘嫙
Chat = 19,//鑱婂ぉ
AutoFight = 20,//鑷姩鎴樻枟
diff --git a/Main/Utility/UIHelper.cs b/Main/Utility/UIHelper.cs
index 724730b..4ee50a4 100644
--- a/Main/Utility/UIHelper.cs
+++ b/Main/Utility/UIHelper.cs
@@ -75,6 +75,7 @@
}
else
{
+ // 鏆備笉鑰冭檻瀵屾枃鏈殑鎯呭喌
// 涓嶉渶瑕佺墿鍝佺殑鎯呭喌琛ュ厖
// string iconKey = StringUtility.Contact("Money_Type_", moneyType);
Debug.LogError("MoneyDisplayModel 鏈厤缃揣甯佺被鍨嬶細" + moneyType);
@@ -85,6 +86,7 @@
{
if (IconConfig.HasKey("MoneyType_" + moneyType))
{
+ //瀵屾枃鏈樉绀虹殑鎯呭喌
return IconConfig.Get("MoneyType_" + moneyType).sprite;
}
else if (GeneralDefine.MoneyDisplayModel.ContainsKey(moneyType))
@@ -978,9 +980,12 @@
{1, PlayerDataType.Gold},
{2, PlayerDataType.GoldPaper},
{3, PlayerDataType.Silver},
+ {15, PlayerDataType.UnionLiven},
{41, PlayerDataType.default26},
+ {43, PlayerDataType.default34},
{42, PlayerDataType.default33},
{53, PlayerDataType.ChallengeVoucher},
+ {99, PlayerDataType.ExAttr11},
};
public static long GetMoneyCnt(int moneyType)
@@ -1080,7 +1085,7 @@
}
case 43:
{
- //鍑瘉绉垎
+ //灏嗛瓊
return PlayerDatas.Instance.GetPlayerDataByType(PlayerDataType.default34);
}
case 44:
--
Gitblit v1.8.0