From 7d303c3fca3ca191b3a097c955c8aa628c1ddd44 Mon Sep 17 00:00:00 2001
From: HungDK <>
Date: Mon, 6 Apr 2026 17:15:40 +0700
Subject: [PATCH] Update ui, split item, handle split, change button text
---
.../Scripts/Managers/EC_InventoryUI.cs | 210 ++++++-
.../CSNetwork/C2SCommand/C2SCommandFactory.cs | 21 +
.../Scripts/Network/CSNetwork/GameSession.cs | 14 +
.../Scripts/Network/UnityGameSession.cs | 10 +
Assets/Prefabs/UI/InventoryUI.prefab | 263 +++++++-
Assets/Prefabs/UI/TachItem.prefab | 591 +++++++++++++++---
Assets/Prefabs/UI/item_info.prefab | 262 +++++++-
Assets/Scripts/CECHostPlayer.Inventory.cs | 75 +++
8 files changed, 1333 insertions(+), 113 deletions(-)
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_InventoryUI.cs b/Assets/PerfectWorld/Scripts/Managers/EC_InventoryUI.cs
index d3d90979a5..f3773eb874 100644
--- a/Assets/PerfectWorld/Scripts/Managers/EC_InventoryUI.cs
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_InventoryUI.cs
@@ -39,6 +39,19 @@ namespace BrewMonster.Scripts.Managers
[SerializeField] private Button equipButton;
[SerializeField] private Button dropButton;
+ [Header("Stack Split UI (assign in Inspector)")]
+ [SerializeField] private GameObject splitPanelRoot;
+ [SerializeField] private TMPro.TMP_InputField splitAmountText;
+ [SerializeField] private Button splitConfirmButton;
+ [SerializeField] private Button splitCloseButton;
+ [SerializeField] private Button splitOpenButton;
+ [SerializeField] private Button splitIncreaseButton;
+ [SerializeField] private Button splitDecreaseButton;
+ [SerializeField] private Button splitMaxButton;
+
+ private int _splitAmount = 1;
+ private int _splitMaxAmount = 1;
+
[Header("Inventory Settings")]
[SerializeField] private bool autoRefresh = true;
[SerializeField] private float refreshInterval = 1.0f;
@@ -112,6 +125,7 @@ namespace BrewMonster.Scripts.Managers
model = new InventoryModel();
view = new InventoryView();
WireBagTabButtons();
+ WireSplitUI();
//if (currentDragImage == null)
//{
@@ -135,6 +149,7 @@ namespace BrewMonster.Scripts.Managers
{
ShowDetailPanel(false);
}
+ ShowSplitPanel(false);
// Apply any pending currency values captured before the UI became active
ApplyPendingCurrency();
}
@@ -145,9 +160,125 @@ namespace BrewMonster.Scripts.Managers
ApplyPendingCurrency();
UpdateCharacterInfo();
ShowDetailPanel(false);
+ ShowSplitPanel(false);
RefreshAll();
}
+ private void WireSplitUI()
+ {
+ if (splitOpenButton != null)
+ {
+ splitOpenButton.onClick.RemoveAllListeners();
+ splitOpenButton.onClick.AddListener(OpenSplitPanelForSelection);
+ }
+ if (splitConfirmButton != null)
+ {
+ splitConfirmButton.onClick.RemoveAllListeners();
+ splitConfirmButton.onClick.AddListener(ConfirmSplit);
+ }
+ if (splitCloseButton != null)
+ {
+ splitCloseButton.onClick.RemoveAllListeners();
+ splitCloseButton.onClick.AddListener(() => ShowSplitPanel(false));
+ }
+
+ if (splitIncreaseButton != null)
+ {
+ splitIncreaseButton.onClick.RemoveAllListeners();
+ splitIncreaseButton.onClick.AddListener(() => SetSplitAmount(_splitAmount + 1));
+ }
+
+ if (splitDecreaseButton != null)
+ {
+ splitDecreaseButton.onClick.RemoveAllListeners();
+ splitDecreaseButton.onClick.AddListener(() => SetSplitAmount(_splitAmount - 1));
+ }
+
+ if (splitMaxButton != null)
+ {
+ splitMaxButton.onClick.RemoveAllListeners();
+ splitMaxButton.onClick.AddListener(() => SetSplitAmount(_splitMaxAmount));
+ }
+
+ if (splitAmountText != null)
+ {
+ splitAmountText.onValueChanged.RemoveAllListeners();
+ splitAmountText.onValueChanged.AddListener(OnSplitAmountInputChanged);
+ }
+ }
+
+ private void ShowSplitPanel(bool show)
+ {
+ if (splitPanelRoot != null)
+ splitPanelRoot.SetActive(show);
+ }
+
+ ///
+ /// Call this from your UI (or bind it to a button) to open the split panel for current selection.
+ ///
+ public void OpenSplitPanelForSelection()
+ {
+ if (currentSelectedItem == null || currentSelectedPackage != PKG_INVENTORY)
+ {
+ Debug.LogWarning("[InventoryUI] OpenSplitPanelForSelection: select an inventory stack first");
+ return;
+ }
+
+ int total = currentSelectedItem.m_iCount;
+ if (total <= 1)
+ {
+ Debug.LogWarning("[InventoryUI] OpenSplitPanelForSelection: item count <= 1");
+ return;
+ }
+
+ _splitMaxAmount = Math.Max(1, total - 1);
+ _splitAmount = Mathf.Clamp(_splitAmount, 1, _splitMaxAmount);
+ UpdateSplitAmountUI();
+ ShowSplitPanel(true);
+ }
+
+ private void SetSplitAmount(int amount)
+ {
+ _splitAmount = Mathf.Clamp(amount, 1, Math.Max(1, _splitMaxAmount));
+ UpdateSplitAmountUI();
+ }
+
+ private void UpdateSplitAmountUI()
+ {
+ if (splitAmountText != null)
+ splitAmountText.SetTextWithoutNotify(_splitAmount.ToString());
+
+ if (splitIncreaseButton != null)
+ splitIncreaseButton.interactable = _splitAmount < _splitMaxAmount;
+ if (splitDecreaseButton != null)
+ splitDecreaseButton.interactable = _splitAmount > 1;
+ if (splitMaxButton != null)
+ splitMaxButton.interactable = _splitAmount < _splitMaxAmount;
+ }
+
+ private void OnSplitAmountInputChanged(string raw)
+ {
+ if (!int.TryParse(raw, out int v))
+ return;
+
+ v = Mathf.Clamp(v, 1, Math.Max(1, _splitMaxAmount));
+ if (v == _splitAmount)
+ return;
+
+ _splitAmount = v;
+ UpdateSplitAmountUI();
+ }
+
+ private void ConfirmSplit()
+ {
+ int amount = _splitAmount;
+ if (amount <= 0) return;
+ if (SeparateSelectedStack(amount))
+ {
+ ShowSplitPanel(false);
+ }
+ }
+
private void WireBagTabButtons()
{
if (tabItemButton != null)
@@ -596,6 +727,69 @@ namespace BrewMonster.Scripts.Managers
RefreshAll();
}
+ ///
+ /// Separate part of the currently selected stack into a new empty slot (C2S MOVE_IVTR_ITEM with partial count).
+ /// Your UI can call this directly once you've picked the split amount.
+ ///
+ public bool SeparateSelectedStack(int splitAmount, int preferredEmptySlot = -1)
+ {
+ if (currentSelectedItem == null)
+ {
+ Debug.LogWarning("[InventoryUI] SeparateSelectedStack: no item selected");
+ return false;
+ }
+
+ // This client-side move command is for the main inventory pack (IVTRTYPE_PACK) like the original client.
+ // Task pack / other packs may need different commands depending on server implementation.
+ if (currentSelectedPackage != PKG_INVENTORY)
+ {
+ Debug.LogWarning($"[InventoryUI] SeparateSelectedStack: unsupported package {currentSelectedPackage} (only PKG_INVENTORY supported)");
+ return false;
+ }
+
+ int total = currentSelectedItem.m_iCount;
+ if (total <= 1)
+ {
+ Debug.LogWarning("[InventoryUI] SeparateSelectedStack: item count <= 1");
+ return false;
+ }
+
+ if (splitAmount <= 0 || splitAmount >= total)
+ {
+ Debug.LogWarning($"[InventoryUI] SeparateSelectedStack: invalid splitAmount={splitAmount}, total={total}");
+ return false;
+ }
+
+ int emptySlot = preferredEmptySlot >= 0 ? preferredEmptySlot : FindEmptySlotInPackage(PKG_INVENTORY);
+ if (emptySlot < 0)
+ {
+ Debug.LogWarning("[InventoryUI] SeparateSelectedStack: no empty slot available");
+ return false;
+ }
+
+ // Send MOVE_IVTR_ITEM(src, dest, count). When dest is empty and count < stack, server will split.
+ UnityGameSession.RequestMoveIvtrItem((byte)currentSelectedSlot, (byte)emptySlot, (uint)splitAmount);
+
+ // UI will update when S2C item operation arrives; this is a best-effort immediate refresh for responsiveness.
+ RefreshAll();
+ return true;
+ }
+
+ private int FindEmptySlotInPackage(byte package)
+ {
+ var host = CECGameRun.Instance?.GetHostPlayer();
+ var inv = host?.GetInventory(package);
+ if (inv == null) return -1;
+
+ int size = inv.GetSize();
+ for (int i = 0; i < size; i++)
+ {
+ if (inv.GetItem(i, false) == null)
+ return i;
+ }
+ return -1;
+ }
+
private int FindEmptyInventorySlot()
{
@@ -1128,18 +1322,18 @@ namespace BrewMonster.Scripts.Managers
//if item is @EC_IvtrEquip and is not equipped, show equip button
if(item is EC_IvtrEquip)
{
- tmpText.text = "Equip";
+ tmpText.text = "Trang bị";
equipButton.gameObject.SetActive(true);
}
else
{
- tmpText.text = "Use";
+ tmpText.text = "Sử dụng";
equipButton.gameObject.SetActive(true);
}
}
else if (package == PKG_EQUIPMENT)
{
- tmpText.text = "UnEquip";
+ tmpText.text = "Tháo";
equipButton.gameObject.SetActive(true);
}
else
@@ -1154,18 +1348,18 @@ namespace BrewMonster.Scripts.Managers
{
if(item is EC_IvtrEquip)
{
- buttonText.text = "Equip";
+ buttonText.text = "Trang bị";
equipButton.gameObject.SetActive(true);
}
else
{
- buttonText.text = "Use";
+ buttonText.text = "Sử dụng";
equipButton.gameObject.SetActive(true);
}
}
else if (package == PKG_EQUIPMENT)
{
- buttonText.text = "UnEquip";
+ buttonText.text = "Tháo";
equipButton.gameObject.SetActive(true);
}
else
@@ -1192,7 +1386,7 @@ namespace BrewMonster.Scripts.Managers
{
if (package == PKG_INVENTORY || package == PKG_EQUIPMENT)
{
- tmpText.text = "Drop";
+ tmpText.text = "Vứt";
dropButton.gameObject.SetActive(true);
}
else
@@ -1205,7 +1399,7 @@ namespace BrewMonster.Scripts.Managers
{
if (package == PKG_INVENTORY || package == PKG_EQUIPMENT)
{
- buttonText.text = "Drop";
+ buttonText.text = "Vứt";
dropButton.gameObject.SetActive(true);
}
else
diff --git a/Assets/PerfectWorld/Scripts/Network/CSNetwork/C2SCommand/C2SCommandFactory.cs b/Assets/PerfectWorld/Scripts/Network/CSNetwork/C2SCommand/C2SCommandFactory.cs
index aaa747621a..0d3f910666 100644
--- a/Assets/PerfectWorld/Scripts/Network/CSNetwork/C2SCommand/C2SCommandFactory.cs
+++ b/Assets/PerfectWorld/Scripts/Network/CSNetwork/C2SCommand/C2SCommandFactory.cs
@@ -418,6 +418,27 @@ namespace CSNetwork.C2SCommand
return SerializeCommand(CommandID.DROP_EQUIP_ITEM, cmd);
}
+ public static Octets CreateExchangeIvtrItem(byte index1, byte index2)
+ {
+ var cmd = new CMD_ExchangeInventoryItem
+ {
+ index1 = index1,
+ index2 = index2
+ };
+ return SerializeCommand(CommandID.EXG_IVTR_ITEM, cmd);
+ }
+
+ public static Octets CreateMoveIvtrItem(byte src, byte dest, uint count)
+ {
+ var cmd = new CMD_MoveInventoryItem
+ {
+ src = src,
+ dest = dest,
+ count = count
+ };
+ return SerializeCommand(CommandID.MOVE_IVTR_ITEM, cmd);
+ }
+
public static Octets CreatePickupItem(int idItem, int tid)
{
var cmd = new CMD_Pickup
diff --git a/Assets/PerfectWorld/Scripts/Network/CSNetwork/GameSession.cs b/Assets/PerfectWorld/Scripts/Network/CSNetwork/GameSession.cs
index 7fa763edc0..934c224f0b 100644
--- a/Assets/PerfectWorld/Scripts/Network/CSNetwork/GameSession.cs
+++ b/Assets/PerfectWorld/Scripts/Network/CSNetwork/GameSession.cs
@@ -440,6 +440,20 @@ namespace CSNetwork
SendProtocol(gamedatasendRequest);
}
+ public void RequestExchangeIvtrItem(byte index1, byte index2)
+ {
+ gamedatasend gamedatasendRequest = new gamedatasend();
+ gamedatasendRequest.Data = C2SCommandFactory.CreateExchangeIvtrItem(index1, index2);
+ SendProtocol(gamedatasendRequest);
+ }
+
+ public void RequestMoveIvtrItem(byte src, byte dest, uint count)
+ {
+ gamedatasend gamedatasendRequest = new gamedatasend();
+ gamedatasendRequest.Data = C2SCommandFactory.CreateMoveIvtrItem(src, dest, count);
+ SendProtocol(gamedatasendRequest);
+ }
+
public void RequestPickupItem(int idItem, int tid)
{
gamedatasend gamedatasendRequest = new gamedatasend();
diff --git a/Assets/PerfectWorld/Scripts/Network/UnityGameSession.cs b/Assets/PerfectWorld/Scripts/Network/UnityGameSession.cs
index 464a342d32..11bed0f7f2 100644
--- a/Assets/PerfectWorld/Scripts/Network/UnityGameSession.cs
+++ b/Assets/PerfectWorld/Scripts/Network/UnityGameSession.cs
@@ -443,6 +443,16 @@ namespace BrewMonster.Network
{
Instance._gameSession.RequestDropIvtrItem(index, amount);
}
+
+ public static void RequestExchangeIvtrItem(byte index1, byte index2)
+ {
+ Instance._gameSession.RequestExchangeIvtrItem(index1, index2);
+ }
+
+ public static void RequestMoveIvtrItem(byte src, byte dest, uint count)
+ {
+ Instance._gameSession.RequestMoveIvtrItem(src, dest, count);
+ }
public static void LoadConfigData()
{
Instance._gameSession.LoadConfigData();
diff --git a/Assets/Prefabs/UI/InventoryUI.prefab b/Assets/Prefabs/UI/InventoryUI.prefab
index 07f8932d4d..3c85b6f1db 100644
--- a/Assets/Prefabs/UI/InventoryUI.prefab
+++ b/Assets/Prefabs/UI/InventoryUI.prefab
@@ -12438,6 +12438,7 @@ RectTransform:
- {fileID: 4137397199301223842}
- {fileID: 6801399374756499883}
- {fileID: 7205431771786927886}
+ - {fileID: 2409990490665478014}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
@@ -12572,6 +12573,14 @@ MonoBehaviour:
tmp: {fileID: 6020258894941961325}
equipButton: {fileID: 472698755110594484}
dropButton: {fileID: 540159372834342487}
+ splitPanelRoot: {fileID: 3772330938303001319}
+ splitAmountText: {fileID: 3418403519615399396}
+ splitConfirmButton: {fileID: 7942200720793983179}
+ splitCloseButton: {fileID: 7769815641486000385}
+ splitOpenButton: {fileID: 8357517184490870543}
+ splitIncreaseButton: {fileID: 8779682634462917281}
+ splitDecreaseButton: {fileID: 4996709440620641399}
+ splitMaxButton: {fileID: 1013848439096781118}
autoRefresh: 1
refreshInterval: 1
showEquipmentDetails: 1
@@ -19862,6 +19871,187 @@ MonoBehaviour:
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
+--- !u!1001 &8161685697759622574
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 5834405183358786743}
+ m_Modifications:
+ - target: {fileID: 4980456610223425353, guid: 51e96aded6737254d81e1407089a11a7, type: 3}
+ propertyPath: m_Name
+ value: TachItem
+ objectReference: {fileID: 0}
+ - target: {fileID: 4980456610223425353, guid: 51e96aded6737254d81e1407089a11a7, type: 3}
+ propertyPath: m_IsActive
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 5779842851872854736, guid: 51e96aded6737254d81e1407089a11a7, type: 3}
+ propertyPath: m_Pivot.x
+ value: 0.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 5779842851872854736, guid: 51e96aded6737254d81e1407089a11a7, type: 3}
+ propertyPath: m_Pivot.y
+ value: 0.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 5779842851872854736, guid: 51e96aded6737254d81e1407089a11a7, type: 3}
+ propertyPath: m_AnchorMax.x
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 5779842851872854736, guid: 51e96aded6737254d81e1407089a11a7, type: 3}
+ propertyPath: m_AnchorMax.y
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 5779842851872854736, guid: 51e96aded6737254d81e1407089a11a7, type: 3}
+ propertyPath: m_AnchorMin.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 5779842851872854736, guid: 51e96aded6737254d81e1407089a11a7, type: 3}
+ propertyPath: m_AnchorMin.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 5779842851872854736, guid: 51e96aded6737254d81e1407089a11a7, type: 3}
+ propertyPath: m_SizeDelta.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 5779842851872854736, guid: 51e96aded6737254d81e1407089a11a7, type: 3}
+ propertyPath: m_SizeDelta.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 5779842851872854736, guid: 51e96aded6737254d81e1407089a11a7, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 5779842851872854736, guid: 51e96aded6737254d81e1407089a11a7, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 5779842851872854736, guid: 51e96aded6737254d81e1407089a11a7, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 5779842851872854736, guid: 51e96aded6737254d81e1407089a11a7, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 5779842851872854736, guid: 51e96aded6737254d81e1407089a11a7, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 5779842851872854736, guid: 51e96aded6737254d81e1407089a11a7, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 5779842851872854736, guid: 51e96aded6737254d81e1407089a11a7, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 5779842851872854736, guid: 51e96aded6737254d81e1407089a11a7, type: 3}
+ propertyPath: m_AnchoredPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 5779842851872854736, guid: 51e96aded6737254d81e1407089a11a7, type: 3}
+ propertyPath: m_AnchoredPosition.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 5779842851872854736, guid: 51e96aded6737254d81e1407089a11a7, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 5779842851872854736, guid: 51e96aded6737254d81e1407089a11a7, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 5779842851872854736, guid: 51e96aded6737254d81e1407089a11a7, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 7763429162104525692, guid: 51e96aded6737254d81e1407089a11a7, type: 3}
+ propertyPath: m_text
+ value: "\u200B"
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: 51e96aded6737254d81e1407089a11a7, type: 3}
+--- !u!114 &1013848439096781118 stripped
+MonoBehaviour:
+ m_CorrespondingSourceObject: {fileID: 9175459919676808336, guid: 51e96aded6737254d81e1407089a11a7, type: 3}
+ m_PrefabInstance: {fileID: 8161685697759622574}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+--- !u!224 &2409990490665478014 stripped
+RectTransform:
+ m_CorrespondingSourceObject: {fileID: 5779842851872854736, guid: 51e96aded6737254d81e1407089a11a7, type: 3}
+ m_PrefabInstance: {fileID: 8161685697759622574}
+ m_PrefabAsset: {fileID: 0}
+--- !u!114 &3418403519615399396 stripped
+MonoBehaviour:
+ m_CorrespondingSourceObject: {fileID: 6788255073064960074, guid: 51e96aded6737254d81e1407089a11a7, type: 3}
+ m_PrefabInstance: {fileID: 8161685697759622574}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 2da0c512f12947e489f739169773d7ca, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+--- !u!1 &3772330938303001319 stripped
+GameObject:
+ m_CorrespondingSourceObject: {fileID: 4980456610223425353, guid: 51e96aded6737254d81e1407089a11a7, type: 3}
+ m_PrefabInstance: {fileID: 8161685697759622574}
+ m_PrefabAsset: {fileID: 0}
+--- !u!114 &4996709440620641399 stripped
+MonoBehaviour:
+ m_CorrespondingSourceObject: {fileID: 3752555281223092697, guid: 51e96aded6737254d81e1407089a11a7, type: 3}
+ m_PrefabInstance: {fileID: 8161685697759622574}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+--- !u!114 &7769815641486000385 stripped
+MonoBehaviour:
+ m_CorrespondingSourceObject: {fileID: 1916228653064467631, guid: 51e96aded6737254d81e1407089a11a7, type: 3}
+ m_PrefabInstance: {fileID: 8161685697759622574}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+--- !u!114 &7942200720793983179 stripped
+MonoBehaviour:
+ m_CorrespondingSourceObject: {fileID: 2268825337156595045, guid: 51e96aded6737254d81e1407089a11a7, type: 3}
+ m_PrefabInstance: {fileID: 8161685697759622574}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+--- !u!114 &8779682634462917281 stripped
+MonoBehaviour:
+ m_CorrespondingSourceObject: {fileID: 617999410739726095, guid: 51e96aded6737254d81e1407089a11a7, type: 3}
+ m_PrefabInstance: {fileID: 8161685697759622574}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
--- !u!1001 &8542071282636773511
PrefabInstance:
m_ObjectHideFlags: 0
@@ -19870,6 +20060,22 @@ PrefabInstance:
serializedVersion: 3
m_TransformParent: {fileID: 5834405183358786743}
m_Modifications:
+ - target: {fileID: 636299721907915661, guid: c56ed80641ff74ce49f91401e3eb8367, type: 3}
+ propertyPath: m_AnchorMax.y
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 636299721907915661, guid: c56ed80641ff74ce49f91401e3eb8367, type: 3}
+ propertyPath: m_AnchorMin.y
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 636299721907915661, guid: c56ed80641ff74ce49f91401e3eb8367, type: 3}
+ propertyPath: m_AnchoredPosition.x
+ value: 20
+ objectReference: {fileID: 0}
+ - target: {fileID: 636299721907915661, guid: c56ed80641ff74ce49f91401e3eb8367, type: 3}
+ propertyPath: m_AnchoredPosition.y
+ value: -0
+ objectReference: {fileID: 0}
- target: {fileID: 1546246053547542409, guid: c56ed80641ff74ce49f91401e3eb8367, type: 3}
propertyPath: m_Pivot.x
value: 0.5
@@ -19900,7 +20106,7 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 1546246053547542409, guid: c56ed80641ff74ce49f91401e3eb8367, type: 3}
propertyPath: m_SizeDelta.y
- value: 0
+ value: 948.02
objectReference: {fileID: 0}
- target: {fileID: 1546246053547542409, guid: c56ed80641ff74ce49f91401e3eb8367, type: 3}
propertyPath: m_LocalPosition.x
@@ -19950,10 +20156,54 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
+ - target: {fileID: 4552886554498063383, guid: c56ed80641ff74ce49f91401e3eb8367, type: 3}
+ propertyPath: m_text
+ value: "T\xE1ch"
+ objectReference: {fileID: 0}
- target: {fileID: 6830833846243993097, guid: c56ed80641ff74ce49f91401e3eb8367, type: 3}
propertyPath: m_Name
value: item_info
objectReference: {fileID: 0}
+ - target: {fileID: 6830833846243993097, guid: c56ed80641ff74ce49f91401e3eb8367, type: 3}
+ propertyPath: m_IsActive
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 7209086543831860202, guid: c56ed80641ff74ce49f91401e3eb8367, type: 3}
+ propertyPath: m_AnchorMax.y
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 7209086543831860202, guid: c56ed80641ff74ce49f91401e3eb8367, type: 3}
+ propertyPath: m_AnchorMin.y
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 7209086543831860202, guid: c56ed80641ff74ce49f91401e3eb8367, type: 3}
+ propertyPath: m_AnchoredPosition.x
+ value: 20
+ objectReference: {fileID: 0}
+ - target: {fileID: 7209086543831860202, guid: c56ed80641ff74ce49f91401e3eb8367, type: 3}
+ propertyPath: m_AnchoredPosition.y
+ value: -928.02
+ objectReference: {fileID: 0}
+ - target: {fileID: 8894405194986632892, guid: c56ed80641ff74ce49f91401e3eb8367, type: 3}
+ propertyPath: m_AnchorMax.y
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 8894405194986632892, guid: c56ed80641ff74ce49f91401e3eb8367, type: 3}
+ propertyPath: m_AnchorMin.y
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 8894405194986632892, guid: c56ed80641ff74ce49f91401e3eb8367, type: 3}
+ propertyPath: m_SizeDelta.y
+ value: 928.02
+ objectReference: {fileID: 0}
+ - target: {fileID: 8894405194986632892, guid: c56ed80641ff74ce49f91401e3eb8367, type: 3}
+ propertyPath: m_AnchoredPosition.x
+ value: 20
+ objectReference: {fileID: 0}
+ - target: {fileID: 8894405194986632892, guid: c56ed80641ff74ce49f91401e3eb8367, type: 3}
+ propertyPath: m_AnchoredPosition.y
+ value: -464.01
+ objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
@@ -20008,3 +20258,14 @@ RectTransform:
m_CorrespondingSourceObject: {fileID: 1546246053547542409, guid: c56ed80641ff74ce49f91401e3eb8367, type: 3}
m_PrefabInstance: {fileID: 8542071282636773511}
m_PrefabAsset: {fileID: 0}
+--- !u!114 &8357517184490870543 stripped
+MonoBehaviour:
+ m_CorrespondingSourceObject: {fileID: 391906676374785928, guid: c56ed80641ff74ce49f91401e3eb8367, type: 3}
+ m_PrefabInstance: {fileID: 8542071282636773511}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
diff --git a/Assets/Prefabs/UI/TachItem.prefab b/Assets/Prefabs/UI/TachItem.prefab
index d5a438ba8e..9c49539b9d 100644
--- a/Assets/Prefabs/UI/TachItem.prefab
+++ b/Assets/Prefabs/UI/TachItem.prefab
@@ -30,7 +30,7 @@ RectTransform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- - {fileID: 1934939145226002541}
+ - {fileID: 295246734357199623}
m_Father: {fileID: 2686034966224864345}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
@@ -212,7 +212,7 @@ MonoBehaviour:
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
---- !u!1 &894788836633281064
+--- !u!1 &1489353167213793324
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
@@ -220,134 +220,50 @@ GameObject:
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- - component: {fileID: 1934939145226002541}
- - component: {fileID: 5074986348698612117}
- - component: {fileID: 5978202290804500404}
+ - component: {fileID: 8610591285452454930}
+ - component: {fileID: 8531884857545442818}
m_Layer: 0
- m_Name: text_number
+ m_Name: Text Area
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
---- !u!224 &1934939145226002541
+--- !u!224 &8610591285452454930
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 894788836633281064}
- m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_GameObject: {fileID: 1489353167213793324}
+ 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: 8393719582339513194}
+ m_Children:
+ - {fileID: 4375832102542078559}
+ - {fileID: 4748207534506730926}
+ m_Father: {fileID: 295246734357199623}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
- m_SizeDelta: {x: 0, y: 0}
+ m_SizeDelta: {x: -20, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
---- !u!222 &5074986348698612117
-CanvasRenderer:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 894788836633281064}
- m_CullTransparentMesh: 1
---- !u!114 &5978202290804500404
+--- !u!114 &8531884857545442818
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 894788836633281064}
+ m_GameObject: {fileID: 1489353167213793324}
m_Enabled: 1
m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
+ m_Script: {fileID: 11500000, guid: 3312d7739989d2b4e91e6319e9a96d76, 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_text: 7
- m_isRightToLeft: 0
- m_fontAsset: {fileID: 11400000, guid: 369c2e14814cc9a4b8e3ad4e37769134, type: 2}
- m_sharedMaterial: {fileID: 9092487103257209053, guid: 369c2e14814cc9a4b8e3ad4e37769134, type: 2}
- m_fontSharedMaterials: []
- m_fontMaterial: {fileID: 0}
- m_fontMaterials: []
- m_fontColor32:
- serializedVersion: 2
- rgba: 4294967295
- m_fontColor: {r: 1, g: 1, b: 1, a: 1}
- m_enableVertexGradient: 0
- m_colorMode: 3
- m_fontColorGradient:
- topLeft: {r: 1, g: 1, b: 1, a: 1}
- topRight: {r: 1, g: 1, b: 1, a: 1}
- bottomLeft: {r: 1, g: 1, b: 1, a: 1}
- bottomRight: {r: 1, g: 1, b: 1, a: 1}
- m_fontColorGradientPreset: {fileID: 0}
- m_spriteAsset: {fileID: 0}
- m_tintAllSprites: 0
- m_StyleSheet: {fileID: 0}
- m_TextStyleHashCode: -1183493901
- m_overrideHtmlColors: 0
- m_faceColor:
- serializedVersion: 2
- rgba: 4294967295
- m_fontSize: 40
- m_fontSizeBase: 40
- m_fontWeight: 400
- m_enableAutoSizing: 0
- m_fontSizeMin: 18
- m_fontSizeMax: 72
- m_fontStyle: 0
- m_HorizontalAlignment: 2
- m_VerticalAlignment: 512
- m_textAlignment: 65535
- m_characterSpacing: 0
- m_wordSpacing: 0
- m_lineSpacing: 0
- m_lineSpacingMax: 0
- m_paragraphSpacing: 0
- m_charWidthMaxAdj: 0
- m_TextWrappingMode: 1
- m_wordWrappingRatios: 0.4
- m_overflowMode: 0
- m_linkedTextComponent: {fileID: 0}
- parentLinkedComponent: {fileID: 0}
- m_enableKerning: 0
- m_ActiveFontFeatures: 6e72656b
- m_enableExtraPadding: 0
- checkPaddingRequired: 0
- m_isRichText: 1
- m_EmojiFallbackSupport: 1
- m_parseCtrlCharacters: 1
- m_isOrthographic: 1
- m_isCullingEnabled: 0
- m_horizontalMapping: 0
- m_verticalMapping: 0
- m_uvLineOffset: 0
- m_geometrySortingOrder: 0
- m_IsTextObjectScaleStatic: 0
- m_VertexBufferAutoSizeReduction: 0
- m_useMaxVisibleDescender: 1
- m_pageToDisplay: 1
- m_margin: {x: 0, y: 0, z: 0, w: 0}
- m_isUsingLegacyAnimationComponent: 0
- m_isVolumetricText: 0
- m_hasFontAssetChanged: 0
- m_baseMaterial: {fileID: 0}
- m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
+ m_Padding: {x: -8, y: -5, z: -8, w: -5}
+ m_Softness: {x: 0, y: 0}
--- !u!1 &2576090437737777596
GameObject:
m_ObjectHideFlags: 0
@@ -750,6 +666,142 @@ MonoBehaviour:
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
+--- !u!1 &3932098572470255547
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 4748207534506730926}
+ - component: {fileID: 5532138509753463214}
+ - component: {fileID: 7763429162104525692}
+ m_Layer: 0
+ m_Name: Text
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &4748207534506730926
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3932098572470255547}
+ 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: 8610591285452454930}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &5532138509753463214
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3932098572470255547}
+ m_CullTransparentMesh: 1
+--- !u!114 &7763429162104525692
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3932098572470255547}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, 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_text:
+ m_isRightToLeft: 0
+ m_fontAsset: {fileID: 11400000, guid: 369c2e14814cc9a4b8e3ad4e37769134, type: 2}
+ m_sharedMaterial: {fileID: 9092487103257209053, guid: 369c2e14814cc9a4b8e3ad4e37769134, type: 2}
+ m_fontSharedMaterials: []
+ m_fontMaterial: {fileID: 0}
+ m_fontMaterials: []
+ m_fontColor32:
+ serializedVersion: 2
+ rgba: 4284338687
+ m_fontColor: {r: 1, g: 0.8196079, b: 0.3647059, a: 1}
+ m_enableVertexGradient: 0
+ m_colorMode: 3
+ m_fontColorGradient:
+ topLeft: {r: 1, g: 1, b: 1, a: 1}
+ topRight: {r: 1, g: 1, b: 1, a: 1}
+ bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+ bottomRight: {r: 1, g: 1, b: 1, a: 1}
+ m_fontColorGradientPreset: {fileID: 0}
+ m_spriteAsset: {fileID: 0}
+ m_tintAllSprites: 0
+ m_StyleSheet: {fileID: 0}
+ m_TextStyleHashCode: -1183493901
+ m_overrideHtmlColors: 0
+ m_faceColor:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontSize: 36
+ m_fontSizeBase: 36
+ m_fontWeight: 400
+ m_enableAutoSizing: 0
+ m_fontSizeMin: 18
+ m_fontSizeMax: 72
+ m_fontStyle: 0
+ m_HorizontalAlignment: 2
+ m_VerticalAlignment: 512
+ m_textAlignment: 65535
+ m_characterSpacing: 0
+ m_wordSpacing: 0
+ m_lineSpacing: 0
+ m_lineSpacingMax: 0
+ m_paragraphSpacing: 0
+ m_charWidthMaxAdj: 0
+ m_TextWrappingMode: 3
+ m_wordWrappingRatios: 0.4
+ m_overflowMode: 0
+ m_linkedTextComponent: {fileID: 0}
+ parentLinkedComponent: {fileID: 0}
+ m_enableKerning: 0
+ m_ActiveFontFeatures: 6e72656b
+ m_enableExtraPadding: 1
+ checkPaddingRequired: 0
+ m_isRichText: 1
+ m_EmojiFallbackSupport: 1
+ m_parseCtrlCharacters: 1
+ m_isOrthographic: 1
+ m_isCullingEnabled: 0
+ m_horizontalMapping: 0
+ m_verticalMapping: 0
+ m_uvLineOffset: 0
+ m_geometrySortingOrder: 0
+ m_IsTextObjectScaleStatic: 0
+ m_VertexBufferAutoSizeReduction: 0
+ m_useMaxVisibleDescender: 1
+ m_pageToDisplay: 1
+ m_margin: {x: 0, y: 0, z: 0, w: 0}
+ m_isUsingLegacyAnimationComponent: 0
+ m_isVolumetricText: 0
+ m_hasFontAssetChanged: 0
+ m_baseMaterial: {fileID: 0}
+ m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!1 &4980456610223425353
GameObject:
m_ObjectHideFlags: 0
@@ -962,6 +1014,184 @@ MonoBehaviour:
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
+--- !u!1 &5438907599000945554
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 295246734357199623}
+ - component: {fileID: 3359618412281988663}
+ - component: {fileID: 2296601238422341143}
+ - component: {fileID: 6788255073064960074}
+ m_Layer: 0
+ m_Name: InputField (TMP)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &295246734357199623
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5438907599000945554}
+ 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: 8610591285452454930}
+ m_Father: {fileID: 8393719582339513194}
+ 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: -0.00054932, y: -0.000034809}
+ m_SizeDelta: {x: 276.95, y: 60.102}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &3359618412281988663
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5438907599000945554}
+ m_CullTransparentMesh: 1
+--- !u!114 &2296601238422341143
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5438907599000945554}
+ 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}
+ 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: 10911, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 1
+ 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 &6788255073064960074
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5438907599000945554}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 2da0c512f12947e489f739169773d7ca, 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: 2296601238422341143}
+ m_TextViewport: {fileID: 8610591285452454930}
+ m_TextComponent: {fileID: 7763429162104525692}
+ m_Placeholder: {fileID: 1370983989863409945}
+ m_VerticalScrollbar: {fileID: 0}
+ m_VerticalScrollbarEventHandler: {fileID: 0}
+ m_LayoutGroup: {fileID: 0}
+ m_ScrollSensitivity: 1
+ m_ContentType: 0
+ m_InputType: 0
+ m_AsteriskChar: 42
+ m_KeyboardType: 0
+ m_LineType: 0
+ m_HideMobileInput: 0
+ m_HideSoftKeyboard: 0
+ m_CharacterValidation: 0
+ m_RegexValue:
+ m_GlobalPointSize: 14
+ m_CharacterLimit: 0
+ m_OnEndEdit:
+ m_PersistentCalls:
+ m_Calls: []
+ m_OnSubmit:
+ m_PersistentCalls:
+ m_Calls: []
+ m_OnSelect:
+ m_PersistentCalls:
+ m_Calls: []
+ m_OnDeselect:
+ m_PersistentCalls:
+ m_Calls: []
+ m_OnTextSelection:
+ m_PersistentCalls:
+ m_Calls: []
+ m_OnEndTextSelection:
+ m_PersistentCalls:
+ m_Calls: []
+ m_OnValueChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_OnTouchScreenKeyboardStatusChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_CaretColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+ m_CustomCaretColor: 0
+ m_SelectionColor: {r: 0.65882355, g: 0.80784315, b: 1, a: 0.7529412}
+ m_Text:
+ m_CaretBlinkRate: 0.85
+ m_CaretWidth: 1
+ m_ReadOnly: 0
+ m_RichText: 1
+ m_GlobalFontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_OnFocusSelectAll: 1
+ m_ResetOnDeActivation: 1
+ m_KeepTextSelectionVisible: 0
+ m_RestoreOriginalTextOnEscape: 1
+ m_isRichTextEditingAllowed: 0
+ m_LineLimit: 0
+ isAlert: 0
+ m_InputValidator: {fileID: 0}
+ m_ShouldActivateOnSelect: 1
--- !u!1 &6092625594424804559
GameObject:
m_ObjectHideFlags: 0
@@ -1594,6 +1824,163 @@ MonoBehaviour:
m_OnClick:
m_PersistentCalls:
m_Calls: []
+--- !u!1 &8521039444396045772
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 4375832102542078559}
+ - component: {fileID: 357101576901380026}
+ - component: {fileID: 1370983989863409945}
+ - component: {fileID: 7905134767392487851}
+ m_Layer: 0
+ m_Name: Placeholder
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &4375832102542078559
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8521039444396045772}
+ 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: 8610591285452454930}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &357101576901380026
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8521039444396045772}
+ m_CullTransparentMesh: 1
+--- !u!114 &1370983989863409945
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8521039444396045772}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, 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_text:
+ m_isRightToLeft: 0
+ m_fontAsset: {fileID: 11400000, guid: 369c2e14814cc9a4b8e3ad4e37769134, type: 2}
+ m_sharedMaterial: {fileID: 9092487103257209053, guid: 369c2e14814cc9a4b8e3ad4e37769134, type: 2}
+ m_fontSharedMaterials: []
+ m_fontMaterial: {fileID: 0}
+ m_fontMaterials: []
+ m_fontColor32:
+ serializedVersion: 2
+ rgba: 2150773298
+ m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 0.5}
+ m_enableVertexGradient: 0
+ m_colorMode: 3
+ m_fontColorGradient:
+ topLeft: {r: 1, g: 1, b: 1, a: 1}
+ topRight: {r: 1, g: 1, b: 1, a: 1}
+ bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+ bottomRight: {r: 1, g: 1, b: 1, a: 1}
+ m_fontColorGradientPreset: {fileID: 0}
+ m_spriteAsset: {fileID: 0}
+ m_tintAllSprites: 0
+ m_StyleSheet: {fileID: 0}
+ m_TextStyleHashCode: -1183493901
+ m_overrideHtmlColors: 0
+ m_faceColor:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontSize: 21
+ m_fontSizeBase: 21
+ m_fontWeight: 400
+ m_enableAutoSizing: 0
+ m_fontSizeMin: 18
+ m_fontSizeMax: 72
+ m_fontStyle: 0
+ m_HorizontalAlignment: 2
+ m_VerticalAlignment: 512
+ m_textAlignment: 65535
+ m_characterSpacing: 0
+ m_wordSpacing: 0
+ m_lineSpacing: 0
+ m_lineSpacingMax: 0
+ m_paragraphSpacing: 0
+ m_charWidthMaxAdj: 0
+ m_TextWrappingMode: 0
+ m_wordWrappingRatios: 0.4
+ m_overflowMode: 0
+ m_linkedTextComponent: {fileID: 0}
+ parentLinkedComponent: {fileID: 0}
+ m_enableKerning: 0
+ m_ActiveFontFeatures: 6e72656b
+ m_enableExtraPadding: 1
+ checkPaddingRequired: 0
+ m_isRichText: 1
+ m_EmojiFallbackSupport: 1
+ m_parseCtrlCharacters: 1
+ m_isOrthographic: 1
+ m_isCullingEnabled: 0
+ m_horizontalMapping: 0
+ m_verticalMapping: 0
+ m_uvLineOffset: 0
+ m_geometrySortingOrder: 0
+ m_IsTextObjectScaleStatic: 0
+ m_VertexBufferAutoSizeReduction: 0
+ m_useMaxVisibleDescender: 1
+ m_pageToDisplay: 1
+ m_margin: {x: 0, y: 0, z: 0, w: 0}
+ m_isUsingLegacyAnimationComponent: 0
+ m_isVolumetricText: 0
+ m_hasFontAssetChanged: 0
+ m_baseMaterial: {fileID: 0}
+ m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
+--- !u!114 &7905134767392487851
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8521039444396045772}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_IgnoreLayout: 1
+ m_MinWidth: -1
+ m_MinHeight: -1
+ m_PreferredWidth: -1
+ m_PreferredHeight: -1
+ m_FlexibleWidth: -1
+ m_FlexibleHeight: -1
+ m_LayoutPriority: 1
--- !u!1 &8739994066086687747
GameObject:
m_ObjectHideFlags: 0
diff --git a/Assets/Prefabs/UI/item_info.prefab b/Assets/Prefabs/UI/item_info.prefab
index efc7fa542f..1443c576db 100644
--- a/Assets/Prefabs/UI/item_info.prefab
+++ b/Assets/Prefabs/UI/item_info.prefab
@@ -37,7 +37,7 @@ RectTransform:
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 20, y: -464.01}
- m_SizeDelta: {x: 400, y: 928.02}
+ m_SizeDelta: {x: 400, y: 0}
m_Pivot: {x: 0, y: 0.5}
--- !u!222 &4376431126769957786
CanvasRenderer:
@@ -584,6 +584,263 @@ MonoBehaviour:
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
+--- !u!1 &5176462084121257164
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 6900679650323527362}
+ - component: {fileID: 6199238498013377944}
+ - component: {fileID: 6207433149234425199}
+ - component: {fileID: 391906676374785928}
+ m_Layer: 5
+ m_Name: Button (2)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &6900679650323527362
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5176462084121257164}
+ 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: 902438409941943524}
+ m_Father: {fileID: 636299721907915661}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 1}
+ m_AnchorMax: {x: 0, y: 1}
+ m_AnchoredPosition: {x: 547.334, y: -173}
+ m_SizeDelta: {x: 171, y: 64}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &6199238498013377944
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5176462084121257164}
+ m_CullTransparentMesh: 1
+--- !u!114 &6207433149234425199
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5176462084121257164}
+ 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: 8f24853d9cfea43389e8fb3101ffaae1, 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 &391906676374785928
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5176462084121257164}
+ 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: 6207433149234425199}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls: []
+--- !u!1 &5326319689215368846
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 902438409941943524}
+ - component: {fileID: 5055926984262207787}
+ - component: {fileID: 4552886554498063383}
+ m_Layer: 5
+ m_Name: Text (TMP)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &902438409941943524
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5326319689215368846}
+ 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: 6900679650323527362}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 2.5}
+ m_SizeDelta: {x: -16, y: -15}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &5055926984262207787
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5326319689215368846}
+ m_CullTransparentMesh: 1
+--- !u!114 &4552886554498063383
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5326319689215368846}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 0
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_text: Button
+ m_isRightToLeft: 0
+ m_fontAsset: {fileID: 11400000, guid: 369c2e14814cc9a4b8e3ad4e37769134, type: 2}
+ m_sharedMaterial: {fileID: 2100000, guid: 31b77628c21b17e45a6577a3d3d5aef0, type: 2}
+ m_fontSharedMaterials: []
+ m_fontMaterial: {fileID: 0}
+ m_fontMaterials: []
+ m_fontColor32:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontColor: {r: 1, g: 1, b: 1, a: 1}
+ m_enableVertexGradient: 0
+ m_colorMode: 3
+ m_fontColorGradient:
+ topLeft: {r: 1, g: 1, b: 1, a: 1}
+ topRight: {r: 1, g: 1, b: 1, a: 1}
+ bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+ bottomRight: {r: 1, g: 1, b: 1, a: 1}
+ m_fontColorGradientPreset: {fileID: 0}
+ m_spriteAsset: {fileID: 0}
+ m_tintAllSprites: 0
+ m_StyleSheet: {fileID: 0}
+ m_TextStyleHashCode: -1183493901
+ m_overrideHtmlColors: 0
+ m_faceColor:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontSize: 36
+ m_fontSizeBase: 36
+ m_fontWeight: 400
+ m_enableAutoSizing: 0
+ m_fontSizeMin: 18
+ m_fontSizeMax: 72
+ m_fontStyle: 0
+ m_HorizontalAlignment: 2
+ m_VerticalAlignment: 8192
+ m_textAlignment: 65535
+ m_characterSpacing: 0
+ m_wordSpacing: 0
+ m_lineSpacing: 0
+ m_lineSpacingMax: 0
+ m_paragraphSpacing: 0
+ m_charWidthMaxAdj: 0
+ m_TextWrappingMode: 1
+ m_wordWrappingRatios: 0.4
+ m_overflowMode: 0
+ m_linkedTextComponent: {fileID: 0}
+ parentLinkedComponent: {fileID: 0}
+ m_enableKerning: 0
+ m_ActiveFontFeatures: 6e72656b
+ m_enableExtraPadding: 0
+ checkPaddingRequired: 0
+ m_isRichText: 1
+ m_EmojiFallbackSupport: 1
+ m_parseCtrlCharacters: 1
+ m_isOrthographic: 1
+ m_isCullingEnabled: 0
+ m_horizontalMapping: 0
+ m_verticalMapping: 0
+ m_uvLineOffset: 0
+ m_geometrySortingOrder: 0
+ m_IsTextObjectScaleStatic: 0
+ m_VertexBufferAutoSizeReduction: 0
+ m_useMaxVisibleDescender: 1
+ m_pageToDisplay: 1
+ m_margin: {x: 0, y: 0, z: 0, w: 0}
+ m_isUsingLegacyAnimationComponent: 0
+ m_isVolumetricText: 0
+ m_hasFontAssetChanged: 0
+ m_baseMaterial: {fileID: 0}
+ m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!1 &5721094068644211543
GameObject:
m_ObjectHideFlags: 0
@@ -725,7 +982,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
- m_IsActive: 0
+ m_IsActive: 1
--- !u!224 &1546246053547542409
RectTransform:
m_ObjectHideFlags: 0
@@ -871,6 +1128,7 @@ RectTransform:
m_Children:
- {fileID: 1900527214026617767}
- {fileID: 4639188770757162324}
+ - {fileID: 6900679650323527362}
m_Father: {fileID: 1546246053547542409}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
diff --git a/Assets/Scripts/CECHostPlayer.Inventory.cs b/Assets/Scripts/CECHostPlayer.Inventory.cs
index 5b415847e2..b542a8b890 100644
--- a/Assets/Scripts/CECHostPlayer.Inventory.cs
+++ b/Assets/Scripts/CECHostPlayer.Inventory.cs
@@ -369,6 +369,81 @@ namespace BrewMonster
int cmd = Convert.ToInt32(Msg.dwParam2);
switch (cmd)
{
+ case CommandID.EXG_IVTR_ITEM:
+ {
+ // S2C::cmd_exg_ivtr_item { byte index1; byte index2; }
+ if (data == null || data.Length < 2)
+ {
+ Debug.LogWarning("[Inventory] EXG_IVTR_ITEM: Invalid data length");
+ break;
+ }
+
+ byte index1 = data[0];
+ byte index2 = data[1];
+
+ if (m_pPack != null)
+ {
+ m_pPack.ExchangeItem(index1, index2);
+
+ var pItem1 = m_pPack.GetItem(index1, false);
+ if (pItem1 != null)
+ {
+ pItem1.Package = InventoryConst.IVTRTYPE_PACK;
+ pItem1.Slot = index1;
+ }
+
+ var pItem2 = m_pPack.GetItem(index2, false);
+ if (pItem2 != null)
+ {
+ pItem2.Package = InventoryConst.IVTRTYPE_PACK;
+ pItem2.Slot = index2;
+ }
+ }
+
+ var ui = GameObject.FindFirstObjectByType();
+ ui?.RefreshAll();
+ break;
+ }
+
+ case CommandID.MOVE_IVTR_ITEM:
+ {
+ // S2C::cmd_move_ivtr_item { byte src; byte dest; uint count; }
+ if (data == null || data.Length < 6)
+ {
+ Debug.LogWarning("[Inventory] MOVE_IVTR_ITEM: Invalid data length");
+ break;
+ }
+
+ byte src = data[0];
+ byte dest = data[1];
+ uint count = BitConverter.ToUInt32(data, 2);
+
+ if (m_pPack != null)
+ {
+ // Client-side mirror of server operation.
+ // When dest is empty and count < stack, this becomes "separate/split stack".
+ m_pPack.MoveItem(src, dest, (int)count);
+
+ var pItemSrc = m_pPack.GetItem(src, false);
+ if (pItemSrc != null)
+ {
+ pItemSrc.Package = InventoryConst.IVTRTYPE_PACK;
+ pItemSrc.Slot = src;
+ }
+
+ var pItemDest = m_pPack.GetItem(dest, false);
+ if (pItemDest != null)
+ {
+ pItemDest.Package = InventoryConst.IVTRTYPE_PACK;
+ pItemDest.Slot = dest;
+ }
+ }
+
+ var ui = GameObject.FindFirstObjectByType();
+ ui?.RefreshAll();
+ break;
+ }
+
case CommandID.PLAYER_DROP_ITEM:
{
// Parse the drop item data from the server response