Update shop and inventory

This commit is contained in:
HungDK
2026-03-24 15:17:29 +07:00
parent 5f97ad0bc8
commit 2ef8ec179a
7 changed files with 355 additions and 362 deletions
@@ -43,9 +43,11 @@ namespace BrewMonster.Scripts.Managers
[SerializeField] private List<UnityEngine.UI.Text> moneyTextsLegacy = new List<UnityEngine.UI.Text>();
[SerializeField] private List<TMPro.TextMeshProUGUI> moneyTextsTMP = new List<TMPro.TextMeshProUGUI>();
[Header("Cash UI (assign any text fields to mirror cash amount)")]
[SerializeField] private List<UnityEngine.UI.Text> cashTextsLegacy = new List<UnityEngine.UI.Text>();
[SerializeField] private List<TMPro.TextMeshProUGUI> cashTextsTMP = new List<TMPro.TextMeshProUGUI>();
[Header("Character UI (assign in Inspector)")]
[SerializeField] private UnityEngine.UI.Text characterNameTextLegacy;
[SerializeField] private TMPro.TextMeshProUGUI characterNameTextTMP;
[SerializeField] private UnityEngine.UI.Text characterLevelTextLegacy;
[SerializeField] private TMPro.TextMeshProUGUI characterLevelTextTMP;
private float lastRefreshTime;
@@ -53,8 +55,6 @@ namespace BrewMonster.Scripts.Managers
private static bool s_hasPendingMoney;
private static ulong s_pendingMoneyAmount;
private static ulong s_pendingMoneyMaxAmount;
private static bool s_hasPendingCash;
private static int s_pendingCashAmount;
// Flags to prevent log spam for extended description warnings
// 防止扩展描述警告日志刷屏的标志
@@ -128,6 +128,7 @@ namespace BrewMonster.Scripts.Managers
{
// Ensure cached values are pushed when the UI is enabled
ApplyPendingCurrency();
UpdateCharacterInfo();
ShowDetailPanel(false);
}
@@ -207,6 +208,7 @@ namespace BrewMonster.Scripts.Managers
view.RenderPackage(inventoryPackButtons, invItems, PKG_INVENTORY, OnInventoryButtonClicked, GetDisplayTextForItem);
view.RenderPackage(equipmentPackButtons, eqpItems, PKG_EQUIPMENT, OnInventoryButtonClicked, GetDisplayTextForItem);
view.RenderPackage(fashionPackButtons, fshItems, PKG_FASHION, OnInventoryButtonClicked, GetDisplayTextForItem);
UpdateCharacterInfo();
}
/// <summary>
@@ -238,31 +240,26 @@ namespace BrewMonster.Scripts.Managers
}
}
/// <summary>
/// Update all configured cash text components with the current boutique cash amount.
/// Call this when PLAYER_CASH arrives.
/// </summary>
public void UpdateCash(int amount)
private void UpdateCharacterInfo()
{
s_pendingCashAmount = amount;
s_hasPendingCash = true;
string text = amount.ToString();
if (cashTextsLegacy != null)
var host = CECGameRun.Instance?.GetHostPlayer();
string characterName = string.Empty;
string characterLevel = string.Empty;
if (host != null)
{
for (int i = 0; i < cashTextsLegacy.Count; i++)
{
var t = cashTextsLegacy[i];
if (t != null) t.text = text;
}
}
if (cashTextsTMP != null)
{
for (int i = 0; i < cashTextsTMP.Count; i++)
{
var t = cashTextsTMP[i];
if (t != null) t.text = text;
}
characterName = host.GetName() ?? string.Empty;
characterLevel = host.GetBasicProps().iLevel.ToString();
}
if (characterNameTextLegacy != null)
characterNameTextLegacy.text = characterName;
if (characterNameTextTMP != null)
characterNameTextTMP.text = characterName;
if (characterLevelTextLegacy != null)
characterLevelTextLegacy.text = characterLevel;
if (characterLevelTextTMP != null)
characterLevelTextTMP.text = characterLevel;
}
// Public static entry points to cache values when UI is unavailable
@@ -287,36 +284,12 @@ namespace BrewMonster.Scripts.Managers
}
}
public static void CacheCash(int amount)
{
s_pendingCashAmount = amount;
s_hasPendingCash = true;
// If an instance exists (even inactive), push immediately so the value is ready
var all = Resources.FindObjectsOfTypeAll<EC_InventoryUI>();
if (all != null)
{
for (int i = 0; i < all.Length; i++)
{
var ui = all[i];
if (ui != null && ui.gameObject.scene.IsValid())
{
ui.ApplyPendingCurrency();
break;
}
}
}
}
private void ApplyPendingCurrency()
{
if (s_hasPendingMoney)
{
UpdateMoney(s_pendingMoneyAmount, s_pendingMoneyMaxAmount);
}
if (s_hasPendingCash)
{
UpdateCash(s_pendingCashAmount);
}
}
private void OnInventoryButtonClicked(byte package, int slot)
@@ -1003,6 +1003,19 @@ namespace CSNetwork
break;
case CommandID.PLAYER_CASH:
{
if (pDataBuf != null)
{
try
{
var cashData = GPDataTypeHelper.FromBytes<player_cash>(pDataBuf);
int cashAmount = cashData.cash_amount;
PostToUnityContext(() => ShopUIManager.CacheCash(cashAmount));
}
catch (Exception ex)
{
}
}
EC_ManMessage.PostMessage(EC_MsgDef.MSG_HST_IVTRINFO, (int)MANAGER_INDEX.MAN_PLAYER, 0, pDataBuf,
pCmdHeader, iHostID);
break;
@@ -51,7 +51,14 @@ public class ShopItemPanel : MonoBehaviour
{
if (itemData.buy[i].price > 0)
{
bestPrice = itemData.buy[i].price;
if (itemData.buy[i].price / 100 == 0 && itemData.buy[i].price != 0)
{
gameObject.GetComponent<Button>().interactable = false;
}
else
{
bestPrice = itemData.buy[i].price / 100;
}
break;
}
}
+76 -11
View File
@@ -2,12 +2,13 @@ using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using TMPro;
using BrewMonster.Network;
public class ShopUIManager : MonoBehaviour
{
[Header("Shop Data")]
public GShopLoader shopLoader;
[Header("UI Panels")]
public GameObject shopMainPanel;
public GameObject shopDetailPanel;
@@ -15,14 +16,14 @@ public class ShopUIManager : MonoBehaviour
[Header("Item Display")]
public Transform itemContainer; // Parent for item panels
public GameObject itemPanelPrefab; // Prefab for individual item panels
[Header("Object Pooling")]
public ItemPanelPool itemPanelPool; // Object pool for item panels
public bool useObjectPooling = true;
[Header("Category Buttons")]
public Button[] categoryButtons; // 6 buttons for categories
[Header("Detail Panel Components")]
public TextMeshProUGUI detailItemName;
public TextMeshProUGUI detailItemDescription;
@@ -35,7 +36,15 @@ public class ShopUIManager : MonoBehaviour
[Header("Main Panel Components")]
public Button closeShopButton;
[Header("Cash UI (assign any text fields to mirror cash amount)")]
[SerializeField] private List<UnityEngine.UI.Text> cashTextsLegacy = new List<UnityEngine.UI.Text>();
[SerializeField] private List<TMPro.TextMeshProUGUI> cashTextsTMP = new List<TMPro.TextMeshProUGUI>();
// Keep last known cash so newly opened shops can render immediately.
private static bool s_hasPendingCash;
private static int s_pendingCashAmount;
private List<GameObject> currentItemPanels = new List<GameObject>();
private GShopItem selectedItem;
private int currentCategory = 0; // 0-5 for the 6 merged categories
@@ -49,7 +58,7 @@ public class ShopUIManager : MonoBehaviour
SetupEventListeners();
InitializePool();
}
void InitializePool()
{
if (useObjectPooling && itemPanelPool == null)
@@ -61,7 +70,7 @@ public class ShopUIManager : MonoBehaviour
itemPanelPool.itemPanelPrefab = itemPanelPrefab;
}
}
void InitializeUI()
{
// Initially hide panels
@@ -72,7 +81,7 @@ public class ShopUIManager : MonoBehaviour
if (subTypeShop != null)
subTypeShopPanel.SetActive(false);
}
void SetupEventListeners()
{
// Setup category buttons
@@ -81,24 +90,80 @@ public class ShopUIManager : MonoBehaviour
int categoryIndex = i; // Capture for closure
categoryButtons[i].onClick.AddListener(() => OnCategorySelected(categoryIndex));
}
// Setup detail panel buttons
if (buyButton != null)
buyButton.onClick.AddListener(OnBuyItem);
if (closeDetailButton != null)
closeDetailButton.onClick.AddListener(CloseDetailPanel);
// Setup main panel close button
if (closeShopButton != null)
closeShopButton.onClick.AddListener(CloseShop);
}
public void OpenShop()
{
if (shopMainPanel != null)
{
OnCategorySelected(0);
RefreshShopDisplay();
ApplyPendingCash();
UnityGameSession.RequesrQueryPlayerCash();
}
}
public void UpdateCash(int amount)
{
string text = amount.ToString();
int major = amount / 100; // e.g. 49780 -> 497 (KNB)
int minor = amount % 100; // e.g. 49780 -> 80 (NNB)
string textMajor = major.ToString();
string textMinor = minor.ToString();
// For now only show the first part (major = 497)
if (cashTextsLegacy != null)
{
for (int i = 0; i < cashTextsLegacy.Count; i++)
{
var t = cashTextsLegacy[i];
if (t != null) t.text = text;
if (t != null) t.text = textMajor;
}
}
if (cashTextsTMP != null)
for (int i = 0; i < cashTextsTMP.Count; i++)
{
var t = cashTextsTMP[i];
if (t != null) t.text = text;
if (t != null) t.text = textMajor;
}
}
public static void CacheCash(int amount)
{
s_pendingCashAmount = amount;
s_hasPendingCash = true;
var all = Resources.FindObjectsOfTypeAll<ShopUIManager>();
if (all != null)
{
for (int i = 0; i < all.Length; i++)
{
var ui = all[i];
if (ui != null && ui.gameObject.scene.IsValid())
{
ui.ApplyPendingCash();
}
}
}
}
private void ApplyPendingCash()
{
if (s_hasPendingCash)
{
UpdateCash(s_pendingCashAmount);
}
}
+67 -62
View File
@@ -500,10 +500,10 @@ RectTransform:
m_Children: []
m_Father: {fileID: 7166820878650541780}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 588.35, y: -59.5}
m_SizeDelta: {x: 85, y: 85}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &9112205963990496432
CanvasRenderer:
@@ -816,7 +816,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
m_IsActive: 0
--- !u!224 &2926903101593938218
RectTransform:
m_ObjectHideFlags: 0
@@ -831,9 +831,9 @@ RectTransform:
m_Children: []
m_Father: {fileID: 3250574652249393354}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 52.65755, y: -446.15002}
m_SizeDelta: {x: 86, y: 81}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &5972748370309725437
@@ -907,10 +907,10 @@ RectTransform:
m_Children: []
m_Father: {fileID: 7166820878650541780}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 479.18, y: -59.5}
m_SizeDelta: {x: 85, y: 85}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &3997873020355048166
CanvasRenderer:
@@ -1370,10 +1370,10 @@ RectTransform:
m_Children: []
m_Father: {fileID: 7166820878650541780}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 370.01, y: -59.5}
m_SizeDelta: {x: 85, y: 85}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &4479228720555407959
CanvasRenderer:
@@ -1961,7 +1961,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
m_IsActive: 0
--- !u!224 &64585481268713917
RectTransform:
m_ObjectHideFlags: 0
@@ -1977,9 +1977,9 @@ RectTransform:
- {fileID: 7063925482172052076}
m_Father: {fileID: 4359352035478671586}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 92.65, y: -36.303}
m_SizeDelta: {x: 185.3, y: 72.606}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &6580926924470282336
@@ -4095,7 +4095,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
m_IsActive: 0
--- !u!224 &6732304273198941900
RectTransform:
m_ObjectHideFlags: 0
@@ -4110,9 +4110,9 @@ RectTransform:
m_Children: []
m_Father: {fileID: 3250574652249393354}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 52.65755, y: -547.15}
m_SizeDelta: {x: 73, y: 85}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &8815580278194564077
@@ -5061,10 +5061,10 @@ RectTransform:
m_Children: []
m_Father: {fileID: 7166820878650541780}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 42.5, y: -59.5}
m_SizeDelta: {x: 85, y: 85}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &7052320096474271168
CanvasRenderer:
@@ -6636,7 +6636,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
m_IsActive: 0
--- !u!224 &7902430374187284626
RectTransform:
m_ObjectHideFlags: 0
@@ -6651,9 +6651,9 @@ RectTransform:
m_Children: []
m_Father: {fileID: 5322092470266254149}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 37.5748, y: -45.8533}
m_SizeDelta: {x: 75.1496, y: 91.7066}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &2646092870800509053
@@ -9436,7 +9436,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
m_IsActive: 0
--- !u!224 &1077581320908415184
RectTransform:
m_ObjectHideFlags: 0
@@ -9451,9 +9451,9 @@ RectTransform:
m_Children: []
m_Father: {fileID: 5322092470266254149}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 265.2046, y: -44.196}
m_SizeDelta: {x: 81.3263, y: 88.392}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &2240998300055222533
@@ -10280,7 +10280,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
m_IsActive: 0
--- !u!224 &7214549036987193986
RectTransform:
m_ObjectHideFlags: 0
@@ -10296,9 +10296,9 @@ RectTransform:
- {fileID: 8707107604074202174}
m_Father: {fileID: 4359352035478671586}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 463.25, y: -36.30285}
m_SizeDelta: {x: 185.3, y: 72.6057}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &6248269220837765992
@@ -10718,7 +10718,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
m_IsActive: 0
--- !u!224 &3519332252817144425
RectTransform:
m_ObjectHideFlags: 0
@@ -12577,7 +12577,12 @@ MonoBehaviour:
moneyTextsTMP:
- {fileID: 776624419558043962}
cashTextsLegacy: []
cashTextsTMP: []
cashTextsTMP:
- {fileID: 0}
characterNameTextLegacy: {fileID: 0}
characterNameTextTMP: {fileID: 6101848964131719891}
characterLevelTextLegacy: {fileID: 0}
characterLevelTextTMP: {fileID: 8764658851048303429}
--- !u!1 &5952390368841602205
GameObject:
m_ObjectHideFlags: 0
@@ -13764,7 +13769,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
m_IsActive: 0
--- !u!224 &8077933712368742288
RectTransform:
m_ObjectHideFlags: 0
@@ -13779,9 +13784,9 @@ RectTransform:
m_Children: []
m_Father: {fileID: 3250574652249393354}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 52.65755, y: -345.15002}
m_SizeDelta: {x: 87, y: 85}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &4170514217395282725
@@ -14188,10 +14193,10 @@ RectTransform:
m_Children: []
m_Father: {fileID: 7166820878650541780}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 151.67, y: -59.5}
m_SizeDelta: {x: 85, y: 85}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &4452551064742165538
CanvasRenderer:
@@ -14584,7 +14589,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
m_IsActive: 0
--- !u!224 &6872360865646447011
RectTransform:
m_ObjectHideFlags: 0
@@ -14600,9 +14605,9 @@ RectTransform:
- {fileID: 3208901167605625288}
m_Father: {fileID: 4359352035478671586}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 277.95, y: -36.30285}
m_SizeDelta: {x: 185.3, y: 72.6057}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &8787094950878048123
@@ -15935,7 +15940,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
m_IsActive: 0
--- !u!224 &13474606632183493
RectTransform:
m_ObjectHideFlags: 0
@@ -15950,9 +15955,9 @@ RectTransform:
m_Children: []
m_Father: {fileID: 5322092470266254149}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 149.84552, y: -46.4058}
m_SizeDelta: {x: 75.1496, y: 92.8116}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &7963679714237608113
@@ -19635,10 +19640,10 @@ RectTransform:
m_Children: []
m_Father: {fileID: 7166820878650541780}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 260.84, y: -59.5}
m_SizeDelta: {x: 85, y: 85}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &5155025384962724770
CanvasRenderer:
+164 -225
View File
@@ -213,6 +213,138 @@ MonoBehaviour:
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!1 &426100887766232740
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8993569357415102990}
- component: {fileID: 8084523367366824519}
- component: {fileID: 4822276912801036756}
- component: {fileID: 262855686646390595}
m_Layer: 5
m_Name: close_btn
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &8993569357415102990
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 426100887766232740}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 7862800506506323662}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 185.1, y: 54}
m_SizeDelta: {x: 58, y: 58}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &8084523367366824519
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 426100887766232740}
m_CullTransparentMesh: 1
--- !u!114 &4822276912801036756
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 426100887766232740}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: fb2f2f58be45f6e4890e85cc00b0bcc9, type: 3}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!114 &262855686646390595
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 426100887766232740}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Navigation:
m_Mode: 3
m_WrapAround: 0
m_SelectOnUp: {fileID: 0}
m_SelectOnDown: {fileID: 0}
m_SelectOnLeft: {fileID: 0}
m_SelectOnRight: {fileID: 0}
m_Transition: 1
m_Colors:
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
m_ColorMultiplier: 1
m_FadeDuration: 0.1
m_SpriteState:
m_HighlightedSprite: {fileID: 0}
m_PressedSprite: {fileID: 0}
m_SelectedSprite: {fileID: 0}
m_DisabledSprite: {fileID: 0}
m_AnimationTriggers:
m_NormalTrigger: Normal
m_HighlightedTrigger: Highlighted
m_PressedTrigger: Pressed
m_SelectedTrigger: Selected
m_DisabledTrigger: Disabled
m_Interactable: 1
m_TargetGraphic: {fileID: 4822276912801036756}
m_OnClick:
m_PersistentCalls:
m_Calls:
- m_Target: {fileID: 7404691444252589623}
m_TargetAssemblyTypeName: UnityEngine.GameObject, UnityEngine
m_MethodName: SetActive
m_Mode: 6
m_Arguments:
m_ObjectArgument: {fileID: 0}
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
m_IntArgument: 0
m_FloatArgument: 0
m_StringArgument:
m_BoolArgument: 0
m_CallState: 2
--- !u!1 &768129286328248421
GameObject:
m_ObjectHideFlags: 0
@@ -458,9 +590,9 @@ RectTransform:
- {fileID: 8761838049529348566}
m_Father: {fileID: 6279944142683492433}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 73.5, y: -82.4}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 147, y: 116.8}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &424813723601076052
@@ -576,6 +708,7 @@ RectTransform:
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 1993356435265356328}
- {fileID: 8993569357415102990}
m_Father: {fileID: 2971987149212484417}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 1}
@@ -1064,9 +1197,9 @@ RectTransform:
- {fileID: 2635347666608474034}
m_Father: {fileID: 6279944142683492433}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 73.5, y: -557.43335}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 147, y: 115}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &2783001383898350917
@@ -1585,7 +1718,7 @@ RectTransform:
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 194.92911, y: -17.375}
m_SizeDelta: {x: 389.85822, y: 34.75}
m_SizeDelta: {x: 389.85822, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &2618416459695309123
CanvasRenderer:
@@ -1995,9 +2128,9 @@ RectTransform:
- {fileID: 7453030741144867795}
m_Father: {fileID: 6279944142683492433}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 73.5, y: -438.9}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 147, y: 115}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &5113860492054378637
@@ -2116,9 +2249,9 @@ RectTransform:
- {fileID: 7881121413444915257}
m_Father: {fileID: 6279944142683492433}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 73.5, y: -675.9667}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 147, y: 115}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &188443220859053986
@@ -2598,9 +2731,9 @@ RectTransform:
- {fileID: 3953026038879993000}
m_Father: {fileID: 6279944142683492433}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 73.5, y: -201.83334}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 147, y: 115}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &5160228589296753130
@@ -2965,7 +3098,7 @@ RectTransform:
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: -794.61884, y: 63.451}
m_SizeDelta: {x: 0, y: 63.451}
m_Pivot: {x: 0, y: 1}
--- !u!114 &3921061585997574090
MonoBehaviour:
@@ -3039,7 +3172,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
m_IsActive: 0
--- !u!224 &7032233741989704462
RectTransform:
m_ObjectHideFlags: 0
@@ -4344,202 +4477,6 @@ MonoBehaviour:
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!1 &6317609477005182740
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 3807607926233499837}
- component: {fileID: 990943026377104997}
- component: {fileID: 3007088527843131263}
m_Layer: 5
m_Name: Image
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &3807607926233499837
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6317609477005182740}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 2428887498941488170}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: -20.9, y: -22}
m_SizeDelta: {x: 100, y: 100}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &990943026377104997
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6317609477005182740}
m_CullTransparentMesh: 1
--- !u!114 &3007088527843131263
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6317609477005182740}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 0.003921569}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 0}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!1 &6360723793651653176
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2428887498941488170}
- component: {fileID: 5430442170657433512}
- component: {fileID: 7154444996484307870}
- component: {fileID: 915191943771324826}
m_Layer: 5
m_Name: close
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &2428887498941488170
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6360723793651653176}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 3807607926233499837}
m_Father: {fileID: 1845571473519222713}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 1, y: 1}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: -52.3, y: -86.1}
m_SizeDelta: {x: 58, y: 58}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &5430442170657433512
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6360723793651653176}
m_CullTransparentMesh: 1
--- !u!114 &7154444996484307870
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6360723793651653176}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: fb2f2f58be45f6e4890e85cc00b0bcc9, type: 3}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!114 &915191943771324826
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6360723793651653176}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Navigation:
m_Mode: 3
m_WrapAround: 0
m_SelectOnUp: {fileID: 0}
m_SelectOnDown: {fileID: 0}
m_SelectOnLeft: {fileID: 0}
m_SelectOnRight: {fileID: 0}
m_Transition: 0
m_Colors:
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
m_ColorMultiplier: 1
m_FadeDuration: 0.1
m_SpriteState:
m_HighlightedSprite: {fileID: 0}
m_PressedSprite: {fileID: 0}
m_SelectedSprite: {fileID: 0}
m_DisabledSprite: {fileID: 0}
m_AnimationTriggers:
m_NormalTrigger: Normal
m_HighlightedTrigger: Highlighted
m_PressedTrigger: Pressed
m_SelectedTrigger: Selected
m_DisabledTrigger: Disabled
m_Interactable: 1
m_TargetGraphic: {fileID: 7154444996484307870}
m_OnClick:
m_PersistentCalls:
m_Calls: []
--- !u!1 &6392362607962809656
GameObject:
m_ObjectHideFlags: 0
@@ -4908,7 +4845,7 @@ RectTransform:
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 6, y: 0}
m_SizeDelta: {x: -6, y: 4}
m_SizeDelta: {x: -6, y: 0}
m_Pivot: {x: 0, y: 1}
--- !u!114 &6400593268502276303
MonoBehaviour:
@@ -5073,7 +5010,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
m_IsActive: 0
--- !u!224 &8893631008014022630
RectTransform:
m_ObjectHideFlags: 0
@@ -5376,7 +5313,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
m_IsActive: 1
--- !u!224 &1845571473519222713
RectTransform:
m_ObjectHideFlags: 0
@@ -5392,7 +5329,6 @@ RectTransform:
- {fileID: 6279944142683492433}
- {fileID: 5471577044986034219}
- {fileID: 2971987149212484417}
- {fileID: 2428887498941488170}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
@@ -5473,7 +5409,10 @@ MonoBehaviour:
buyButton: {fileID: 780999421718195231}
closeDetailButton: {fileID: 0}
detailScrollRect: {fileID: 7755780540810375478}
closeShopButton: {fileID: 915191943771324826}
closeShopButton: {fileID: 0}
cashTextsLegacy: []
cashTextsTMP:
- {fileID: 612290564657202925}
subTypeShop: {fileID: 2462449066853010278}
--- !u!114 &8660700033567669795
MonoBehaviour:
@@ -5599,9 +5538,9 @@ RectTransform:
- {fileID: 5424053570241907517}
m_Father: {fileID: 6279944142683492433}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 73.5, y: -320.36667}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 147, y: 115}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &6316976477275547731
@@ -5704,7 +5643,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
m_IsActive: 0
--- !u!224 &7671833581373340274
RectTransform:
m_ObjectHideFlags: 0
@@ -6035,7 +5974,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
m_IsActive: 0
--- !u!224 &5249169887792510504
RectTransform:
m_ObjectHideFlags: 0
@@ -6131,7 +6070,7 @@ RectTransform:
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 0, y: -0}
m_SizeDelta: {x: 389.85822, y: 34.75}
m_SizeDelta: {x: 389.85822, y: 0}
m_Pivot: {x: 0, y: 1}
--- !u!114 &7817639546637297957
MonoBehaviour:
+3 -12
View File
@@ -240,15 +240,6 @@ namespace BrewMonster
}
}
}
if (ui != null)
{
ui.UpdateCash(cash.cash_amount);
}
else
{
BrewMonster.Scripts.Managers.EC_InventoryUI.CacheCash(cash.cash_amount);
}
}
catch (Exception ex)
{
@@ -319,7 +310,7 @@ namespace BrewMonster
pItem.SetItemInfo(null, 0);
#if UNITY_EDITOR
Debug.Log($"[Inventory] OWN_ITEM_INFO pkg={byPackage} slot={bySlot} tid={type} count={count} contentLen={content_length}");
Debug.Log($"[Inventory] OWN_ITEM_INFO pkg={byPackage} slot={bySlot} tid={type} count={count} contentLen={content_length}");
#endif
if (byPackage == InventoryConst.IVTRTYPE_EQUIPPACK)
@@ -789,8 +780,8 @@ namespace BrewMonster
UnityGameSession.c2s_CmdGetItemInfo(Inventory_type.IVTRTYPE_PACK, pCmd.equip_idx);
}
public void OnMsgHstClearTessera(ECMSG Msg)
{
cmd_clear_tessera pCmd = GPDataTypeHelper.FromBytes<cmd_clear_tessera>((byte[])Msg.dwParam1);