Update ui, split item, handle split, change button text

This commit is contained in:
HungDK
2026-04-06 17:15:40 +07:00
parent 7881afd2b1
commit 7d303c3fca
8 changed files with 1333 additions and 113 deletions
@@ -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);
}
/// <summary>
/// Call this from your UI (or bind it to a button) to open the split panel for current selection.
/// </summary>
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();
}
/// <summary>
/// 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.
/// </summary>
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
@@ -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
@@ -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();
@@ -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();
+262 -1
View File
@@ -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:
+489 -102
View File
@@ -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
+260 -2
View File
@@ -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}
+75
View File
@@ -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<EC_InventoryUI>();
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<EC_InventoryUI>();
ui?.RefreshAll();
break;
}
case CommandID.PLAYER_DROP_ITEM:
{
// Parse the drop item data from the server response