Add combine items

This commit is contained in:
HungDK
2026-04-07 10:05:58 +07:00
parent bed971ebb4
commit 7c5b51836d
4 changed files with 538 additions and 24 deletions
@@ -49,6 +49,9 @@ namespace BrewMonster.Scripts.Managers
[SerializeField] private Button splitDecreaseButton;
[SerializeField] private Button splitMaxButton;
[Header("Stack combine — merge into another stack (C++ inventory drag-merge, assign in Inspector)")]
[SerializeField] private Button combineStackButton;
private int _splitAmount = 1;
private int _splitMaxAmount = 1;
@@ -126,6 +129,7 @@ namespace BrewMonster.Scripts.Managers
view = new InventoryView();
WireBagTabButtons();
WireSplitUI();
WireCombineUI();
//if (currentDragImage == null)
//{
@@ -207,6 +211,15 @@ namespace BrewMonster.Scripts.Managers
}
}
private void WireCombineUI()
{
if (combineStackButton != null)
{
combineStackButton.onClick.RemoveAllListeners();
combineStackButton.onClick.AddListener(() => CombineSelectedStack());
}
}
private void ShowSplitPanel(bool show)
{
if (splitPanelRoot != null)
@@ -777,6 +790,100 @@ namespace BrewMonster.Scripts.Managers
return true;
}
/// <summary>
/// Merge from the selected slot into another stack of the same template (C++ <c>CDlgInventory::ExchangeItem</c>
/// branch that calls <c>c2s_CmdMoveIvtrItem</c> when dest matches and pile limit allows).
/// Picks the lowest-index compatible destination with free stack space.
/// </summary>
public bool CombineSelectedStack()
{
if (currentSelectedItem == null)
{
Debug.LogWarning("[InventoryUI] CombineSelectedStack: no item selected");
return false;
}
if (currentSelectedPackage != PKG_INVENTORY)
{
Debug.LogWarning($"[InventoryUI] CombineSelectedStack: unsupported package {currentSelectedPackage} (only PKG_INVENTORY supported)");
return false;
}
if (!TryGetInventoryMergeTarget(currentSelectedSlot, currentSelectedItem, out int dstSlot, out int moveAmount))
{
Debug.LogWarning("[InventoryUI] CombineSelectedStack: no merge target with free stack space");
return false;
}
UnityGameSession.RequestMoveIvtrItem((byte)currentSelectedSlot, (byte)dstSlot, (uint)moveAmount);
RefreshAll();
return true;
}
/// <summary>
/// Pile cap for stacking: instance <see cref="EC_IvtrItem.m_iPileLimit"/> (from essence <c>pile_num_max</c>) is authoritative;
/// <see cref="EC_IvtrItem.GetPileLimit"/> may still be 1 if element reflection misses field names.
/// </summary>
private static int GetEffectivePileLimitForStack(int tid, EC_IvtrItem a, EC_IvtrItem b)
{
int p = Math.Max(1, EC_IvtrItem.GetPileLimit(tid));
if (a != null)
p = Math.Max(p, Math.Max(1, a.GetPileLimitInstance()));
if (b != null)
p = Math.Max(p, Math.Max(1, b.GetPileLimitInstance()));
return p;
}
/// <summary>First eligible slot (lowest index) that can accept part or all of <paramref name="srcItem"/>.</summary>
private static bool TryGetInventoryMergeTarget(int srcSlot, EC_IvtrItem srcItem, out int dstSlot, out int moveAmount)
{
dstSlot = -1;
moveAmount = 0;
if (srcItem == null || srcItem.IsFrozen())
return false;
int tid = srcItem.GetTemplateID();
int srcCount = srcItem.GetCount();
if (srcCount < 1)
return false;
var host = CECGameRun.Instance?.GetHostPlayer();
var inv = host?.GetInventory(PKG_INVENTORY);
if (inv == null)
return false;
int size = inv.GetSize();
for (int i = 0; i < size; i++)
{
if (i == srcSlot)
continue;
var dst = inv.GetItem(i, false);
if (dst == null || dst.IsFrozen())
continue;
if (dst.GetTemplateID() != tid)
continue;
int pile = GetEffectivePileLimitForStack(tid, srcItem, dst);
if (pile <= 1)
continue;
int room = pile - dst.GetCount();
if (room <= 0)
continue;
int move = Math.Min(srcCount, room);
if (move <= 0)
continue;
dstSlot = i;
moveAmount = move;
return true;
}
return false;
}
private int FindEmptySlotInPackage(byte package)
{
var host = CECGameRun.Instance?.GetHostPlayer();
@@ -1200,7 +1307,10 @@ namespace BrewMonster.Scripts.Managers
{
EC_UIUtility.ShowPanel(detailPanelRoot.gameObject, show);
if (!show)
{
RefreshSplitControlsVisibility(0, null);
RefreshCombineControlsVisibility(0, null);
}
}
/// <summary>
@@ -1245,6 +1355,20 @@ namespace BrewMonster.Scripts.Managers
}
}
private bool CanShowCombineControls(byte package, EC_IvtrItem item)
{
if (item == null || package != PKG_INVENTORY)
return false;
return TryGetInventoryMergeTarget(currentSelectedSlot, item, out _, out _);
}
private void RefreshCombineControlsVisibility(byte package, EC_IvtrItem item)
{
bool canCombine = CanShowCombineControls(package, item);
if (combineStackButton != null)
combineStackButton.gameObject.SetActive(canCombine);
}
private Button GetButtonForSlot(byte package, int slot)
{
List<Button> list = null;
@@ -1345,6 +1469,7 @@ namespace BrewMonster.Scripts.Managers
ShowDetailPanel(true);
// After detail root is active so child buttons actually appear (fixes split controls under inactive parents).
RefreshSplitControlsVisibility(package, item);
RefreshCombineControlsVisibility(package, item);
//Refresh the position of the description text. Used for UI logic purpose.
descriptionText.tmp.gameObject.GetComponent<ItemInfoText>()?.RefreshLayout();
@@ -505,7 +505,7 @@ namespace BrewMonster.Scripts
// Common field/property names across item essences
string[] names = new[]
{
"pilelimit", "pile_limit", "pileLimit", "stack", "stack_max", "stackMax", "max_stack", "maxStack"
"pile_num_max", "pilelimit", "pile_limit", "pileLimit", "stack", "stack_max", "stackMax", "max_stack", "maxStack"
};
foreach (var name in names)
{
+75 -7
View File
@@ -12581,6 +12581,7 @@ MonoBehaviour:
splitIncreaseButton: {fileID: 8779682634462917281}
splitDecreaseButton: {fileID: 4996709440620641399}
splitMaxButton: {fileID: 1013848439096781118}
combineStackButton: {fileID: 4438583262695563174}
autoRefresh: 1
refreshInterval: 1
showEquipmentDetails: 1
@@ -20106,7 +20107,7 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 1546246053547542409, guid: c56ed80641ff74ce49f91401e3eb8367, type: 3}
propertyPath: m_SizeDelta.y
value: 948.02
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1546246053547542409, guid: c56ed80641ff74ce49f91401e3eb8367, type: 3}
propertyPath: m_LocalPosition.x
@@ -20156,16 +20157,72 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4552886554498063383, guid: c56ed80641ff74ce49f91401e3eb8367, type: 3}
propertyPath: m_text
value: "T\xE1ch"
- target: {fileID: 1900527214026617767, guid: c56ed80641ff74ce49f91401e3eb8367, type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1900527214026617767, guid: c56ed80641ff74ce49f91401e3eb8367, type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1900527214026617767, guid: c56ed80641ff74ce49f91401e3eb8367, type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1900527214026617767, guid: c56ed80641ff74ce49f91401e3eb8367, type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4313766541946487796, guid: c56ed80641ff74ce49f91401e3eb8367, type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4313766541946487796, guid: c56ed80641ff74ce49f91401e3eb8367, type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4313766541946487796, guid: c56ed80641ff74ce49f91401e3eb8367, type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4313766541946487796, guid: c56ed80641ff74ce49f91401e3eb8367, type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4639188770757162324, guid: c56ed80641ff74ce49f91401e3eb8367, type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4639188770757162324, guid: c56ed80641ff74ce49f91401e3eb8367, type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4639188770757162324, guid: c56ed80641ff74ce49f91401e3eb8367, type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4639188770757162324, guid: c56ed80641ff74ce49f91401e3eb8367, type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
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
- target: {fileID: 6900679650323527362, guid: c56ed80641ff74ce49f91401e3eb8367, type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6900679650323527362, guid: c56ed80641ff74ce49f91401e3eb8367, type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6900679650323527362, guid: c56ed80641ff74ce49f91401e3eb8367, type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6900679650323527362, guid: c56ed80641ff74ce49f91401e3eb8367, type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7209086543831860202, guid: c56ed80641ff74ce49f91401e3eb8367, type: 3}
@@ -20194,7 +20251,7 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 8894405194986632892, guid: c56ed80641ff74ce49f91401e3eb8367, type: 3}
propertyPath: m_SizeDelta.y
value: 928.02
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8894405194986632892, guid: c56ed80641ff74ce49f91401e3eb8367, type: 3}
propertyPath: m_AnchoredPosition.x
@@ -20242,6 +20299,17 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: fc26b8fa93aea49b4abb8fe5455e51fe, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!114 &4438583262695563174 stripped
MonoBehaviour:
m_CorrespondingSourceObject: {fileID: 5409539377616897825, 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:
--- !u!114 &6020258894941961325 stripped
MonoBehaviour:
m_CorrespondingSourceObject: {fileID: 2668322321768899818, guid: c56ed80641ff74ce49f91401e3eb8367, type: 3}
+337 -16
View File
@@ -208,11 +208,11 @@ RectTransform:
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 6102967088919909530}
m_Father: {fileID: 636299721907915661}
m_Father: {fileID: 7354526701707789086}
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: -28.5943}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 171, y: 64}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &7968706394531223960
@@ -584,6 +584,142 @@ MonoBehaviour:
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!1 &4520835691801872487
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2762093655722117295}
- component: {fileID: 7397135334222285542}
- component: {fileID: 1042238210249658224}
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 &2762093655722117295
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4520835691801872487}
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: 4313766541946487796}
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 &7397135334222285542
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4520835691801872487}
m_CullTransparentMesh: 1
--- !u!114 &1042238210249658224
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4520835691801872487}
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: "G\u1ED9p"
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 &5176462084121257164
GameObject:
m_ObjectHideFlags: 0
@@ -616,11 +752,11 @@ RectTransform:
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 902438409941943524}
m_Father: {fileID: 636299721907915661}
m_Father: {fileID: 7354526701707789086}
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_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 171, y: 64}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &6199238498013377944
@@ -770,7 +906,7 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: Button
m_text: "T\xE1ch"
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 369c2e14814cc9a4b8e3ad4e37769134, type: 2}
m_sharedMaterial: {fileID: 2100000, guid: 31b77628c21b17e45a6577a3d3d5aef0, type: 2}
@@ -873,11 +1009,11 @@ RectTransform:
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 5110498948200012487}
m_Father: {fileID: 636299721907915661}
m_Father: {fileID: 7354526701707789086}
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: -101}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 171, y: 64}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &7060942486687674079
@@ -1126,9 +1262,7 @@ RectTransform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 1900527214026617767}
- {fileID: 4639188770757162324}
- {fileID: 6900679650323527362}
- {fileID: 7354526701707789086}
m_Father: {fileID: 1546246053547542409}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
@@ -1385,3 +1519,190 @@ MonoBehaviour:
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!1 &7621586952601299671
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 7354526701707789086}
- component: {fileID: 8748979396776069184}
m_Layer: 5
m_Name: btn_container
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &7354526701707789086
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7621586952601299671}
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: 1900527214026617767}
- {fileID: 4639188770757162324}
- {fileID: 6900679650323527362}
- {fileID: 4313766541946487796}
m_Father: {fileID: 636299721907915661}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 1, y: 1}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 182.83, y: 0}
m_SizeDelta: {x: 171, y: 276}
m_Pivot: {x: 1, y: 1}
--- !u!114 &8748979396776069184
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7621586952601299671}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Padding:
m_Left: 0
m_Right: 0
m_Top: 0
m_Bottom: 0
m_ChildAlignment: 0
m_Spacing: 0
m_ChildForceExpandWidth: 0
m_ChildForceExpandHeight: 0
m_ChildControlWidth: 0
m_ChildControlHeight: 0
m_ChildScaleWidth: 0
m_ChildScaleHeight: 0
m_ReverseArrangement: 0
--- !u!1 &7929745160647323600
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4313766541946487796}
- component: {fileID: 487728384897798726}
- component: {fileID: 2279133206410533808}
- component: {fileID: 5409539377616897825}
m_Layer: 5
m_Name: Button (3)
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &4313766541946487796
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7929745160647323600}
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: 2762093655722117295}
m_Father: {fileID: 7354526701707789086}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 171, y: 64}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &487728384897798726
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7929745160647323600}
m_CullTransparentMesh: 1
--- !u!114 &2279133206410533808
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7929745160647323600}
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 &5409539377616897825
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7929745160647323600}
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: 2279133206410533808}
m_OnClick:
m_PersistentCalls:
m_Calls: []