Update init flow

This commit is contained in:
HungDK
2026-01-22 16:24:10 +07:00
parent be5c38b0e3
commit 8cf5ba8fa9
3 changed files with 267 additions and 27 deletions
+216 -23
View File
@@ -788,7 +788,31 @@ MonoBehaviour:
m_TargetGraphic: {fileID: 8951551404941296338}
m_OnClick:
m_PersistentCalls:
m_Calls: []
m_Calls:
- m_Target: {fileID: 718756348298879219}
m_TargetAssemblyTypeName: UnityEngine.GameObject, UnityEngine
m_MethodName: SetActive
m_Mode: 6
m_Arguments:
m_ObjectArgument: {fileID: 0}
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
m_IntArgument: 0
m_FloatArgument: 0
m_StringArgument:
m_BoolArgument: 1
m_CallState: 2
- m_Target: {fileID: 1325716031922190994}
m_TargetAssemblyTypeName: UnityEngine.GameObject, UnityEngine
m_MethodName: SetActive
m_Mode: 6
m_Arguments:
m_ObjectArgument: {fileID: 0}
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
m_IntArgument: 0
m_FloatArgument: 0
m_StringArgument:
m_BoolArgument: 0
m_CallState: 2
--- !u!1 &1781843053649909282
GameObject:
m_ObjectHideFlags: 0
@@ -807,7 +831,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
m_IsActive: 1
--- !u!224 &3062450172250455840
RectTransform:
m_ObjectHideFlags: 0
@@ -851,14 +875,14 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0.4324789, g: 0.6981132, b: 0.45709762, a: 1}
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: 6435e919591072d4cb2f16690fff15fd, type: 3}
m_Sprite: {fileID: 21300000, guid: cfa464036967d9746abcfa0608211b2e, type: 3}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
@@ -1012,7 +1036,31 @@ MonoBehaviour:
m_TargetGraphic: {fileID: 8756397176823478499}
m_OnClick:
m_PersistentCalls:
m_Calls: []
m_Calls:
- m_Target: {fileID: 1325716031922190994}
m_TargetAssemblyTypeName: UnityEngine.GameObject, UnityEngine
m_MethodName: SetActive
m_Mode: 6
m_Arguments:
m_ObjectArgument: {fileID: 0}
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
m_IntArgument: 0
m_FloatArgument: 0
m_StringArgument:
m_BoolArgument: 1
m_CallState: 2
- m_Target: {fileID: 718756348298879219}
m_TargetAssemblyTypeName: UnityEngine.GameObject, UnityEngine
m_MethodName: SetActive
m_Mode: 6
m_Arguments:
m_ObjectArgument: {fileID: 0}
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
m_IntArgument: 0
m_FloatArgument: 0
m_StringArgument:
m_BoolArgument: 0
m_CallState: 2
--- !u!1 &2310474316802759764
GameObject:
m_ObjectHideFlags: 0
@@ -1078,7 +1126,7 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: "V\xE0o game"
m_text: "X\xE1c nh\u1EADn"
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
@@ -1323,7 +1371,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
m_IsActive: 1
--- !u!224 &1160326660585609788
RectTransform:
m_ObjectHideFlags: 0
@@ -1336,11 +1384,11 @@ RectTransform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 3179460180582529441}
m_Father: {fileID: 3246559333110372292}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0.5}
m_AnchorMax: {x: 0, y: 0.5}
m_AnchoredPosition: {x: 0, y: -9.9591}
m_AnchoredPosition: {x: -0.0025024414, y: -9.9591}
m_SizeDelta: {x: 129.3735, y: 133.1912}
m_Pivot: {x: 0, y: 0.5}
--- !u!222 &109116229138551521
@@ -1507,7 +1555,7 @@ RectTransform:
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0.0009808608, y: -0.00012207031}
m_SizeDelta: {x: 0.024810791, y: -496.19458}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0, y: 1}
--- !u!114 &4021128748820168485
MonoBehaviour:
@@ -1670,7 +1718,31 @@ MonoBehaviour:
m_TargetGraphic: {fileID: 7446128724324928062}
m_OnClick:
m_PersistentCalls:
m_Calls: []
m_Calls:
- m_Target: {fileID: 7665884498564744607}
m_TargetAssemblyTypeName: UnityEngine.GameObject, UnityEngine
m_MethodName: SetActive
m_Mode: 6
m_Arguments:
m_ObjectArgument: {fileID: 0}
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
m_IntArgument: 0
m_FloatArgument: 0
m_StringArgument:
m_BoolArgument: 1
m_CallState: 2
- m_Target: {fileID: 7097602782219794028}
m_TargetAssemblyTypeName: UnityEngine.GameObject, UnityEngine
m_MethodName: SetActive
m_Mode: 6
m_Arguments:
m_ObjectArgument: {fileID: 0}
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
m_IntArgument: 0
m_FloatArgument: 0
m_StringArgument:
m_BoolArgument: 0
m_CallState: 2
--- !u!1 &4540249127197054457
GameObject:
m_ObjectHideFlags: 0
@@ -1930,7 +2002,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
m_IsActive: 0
--- !u!224 &5320464328943649663
RectTransform:
m_ObjectHideFlags: 0
@@ -2046,11 +2118,11 @@ RectTransform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 3179460180582529441}
m_Father: {fileID: 3246559333110372292}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0.5}
m_AnchorMax: {x: 0, y: 0.5}
m_AnchoredPosition: {x: 0, y: 0.00019932}
m_AnchoredPosition: {x: -0.0025024414, y: 0.00019932}
m_SizeDelta: {x: 181.2439, y: 169.59}
m_Pivot: {x: 0, y: 0.5}
--- !u!222 &4475579639231163097
@@ -2288,7 +2360,31 @@ MonoBehaviour:
m_TargetGraphic: {fileID: 7235948033659465321}
m_OnClick:
m_PersistentCalls:
m_Calls: []
m_Calls:
- m_Target: {fileID: 7097602782219794028}
m_TargetAssemblyTypeName: UnityEngine.GameObject, UnityEngine
m_MethodName: SetActive
m_Mode: 6
m_Arguments:
m_ObjectArgument: {fileID: 0}
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
m_IntArgument: 0
m_FloatArgument: 0
m_StringArgument:
m_BoolArgument: 1
m_CallState: 2
- m_Target: {fileID: 7665884498564744607}
m_TargetAssemblyTypeName: UnityEngine.GameObject, UnityEngine
m_MethodName: SetActive
m_Mode: 6
m_Arguments:
m_ObjectArgument: {fileID: 0}
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
m_IntArgument: 0
m_FloatArgument: 0
m_StringArgument:
m_BoolArgument: 0
m_CallState: 2
--- !u!1 &6078595199063207717
GameObject:
m_ObjectHideFlags: 0
@@ -2411,7 +2507,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
m_IsActive: 0
--- !u!224 &2878487454571584107
RectTransform:
m_ObjectHideFlags: 0
@@ -2603,8 +2699,8 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 77.96466, y: 0}
m_SizeDelta: {x: -155.9294, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: -0.000061035, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &1888424759676558704
CanvasRenderer:
@@ -2961,14 +3057,13 @@ RectTransform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 1160326660585609788}
- {fileID: 8208655804674536352}
- {fileID: 3246559333110372292}
- {fileID: 5320464328943649663}
m_Father: {fileID: 5444603765313937912}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 237.0925, y: -93.380005}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 474.185, y: 186.76}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &946827543569852510
@@ -3128,6 +3223,104 @@ MonoBehaviour:
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!1 &8613183491614031692
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 3246559333110372292}
- component: {fileID: 440529369010655088}
m_Layer: 5
m_Name: Toggle
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &3246559333110372292
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8613183491614031692}
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: 1160326660585609788}
- {fileID: 8208655804674536352}
m_Father: {fileID: 3179460180582529441}
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: -146.47, y: -0.0000038146973}
m_SizeDelta: {x: 181.24, y: 186.76}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &440529369010655088
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8613183491614031692}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Navigation:
m_Mode: 3
m_WrapAround: 0
m_SelectOnUp: {fileID: 0}
m_SelectOnDown: {fileID: 0}
m_SelectOnLeft: {fileID: 0}
m_SelectOnRight: {fileID: 0}
m_Transition: 0
m_Colors:
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0}
m_ColorMultiplier: 1
m_FadeDuration: 0.1
m_SpriteState:
m_HighlightedSprite: {fileID: 21300000, guid: 1035be3522a507342bb22da8b150a085, type: 3}
m_PressedSprite: {fileID: 21300000, guid: 1035be3522a507342bb22da8b150a085, type: 3}
m_SelectedSprite: {fileID: 21300000, guid: 1035be3522a507342bb22da8b150a085, type: 3}
m_DisabledSprite: {fileID: 21300000, guid: 1035be3522a507342bb22da8b150a085, type: 3}
m_AnimationTriggers:
m_NormalTrigger: Normal
m_HighlightedTrigger: Highlighted
m_PressedTrigger: Pressed
m_SelectedTrigger: Selected
m_DisabledTrigger: Disabled
m_Interactable: 1
m_TargetGraphic: {fileID: 2280847149185189015}
toggleTransition: 1
graphic: {fileID: 692835898052317172}
m_Group: {fileID: 0}
onValueChanged:
m_PersistentCalls:
m_Calls:
- m_Target: {fileID: 5391439180725082175}
m_TargetAssemblyTypeName: UnityEngine.GameObject, UnityEngine
m_MethodName: SetActive
m_Mode: 0
m_Arguments:
m_ObjectArgument: {fileID: 0}
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
m_IntArgument: 0
m_FloatArgument: 0
m_StringArgument:
m_BoolArgument: 0
m_CallState: 2
m_IsOn: 0
--- !u!1 &8955858844608837945
GameObject:
m_ObjectHideFlags: 0
+4 -1
View File
@@ -578,7 +578,10 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
characterItemPrefab: {fileID: 5263746738484752443, guid: 726ee9eade6587245ac1b55d2335e9b9, type: 3}
addCharacterItemPrefab: {fileID: 5263746738484752443, guid: a0b31ed0940ec9942b243a0b8cec8ad3, type: 3}
parentItems: {fileID: 2643174602035272289}
createCharacterButton: {fileID: 0}
createCharacterScreen: {fileID: 0}
--- !u!1 &7510180475820570348
GameObject:
m_ObjectHideFlags: 0
@@ -717,7 +720,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
m_IsActive: 0
--- !u!224 &6444858493086001938
RectTransform:
m_ObjectHideFlags: 0
+47 -3
View File
@@ -10,12 +10,13 @@ namespace BrewMonster.UI
public class SelecScreenCharacter : MonoBehaviour
{
[SerializeField] private GameObject characterItemPrefab;
[SerializeField] private GameObject addCharacterItemPrefab;
[SerializeField] private RectTransform parentItems;
[SerializeField] private Button createCharacterButton;
[SerializeField] private CreateCharacterScreen createCharacterScreen;
private Action<RoleInfo> _onClickItemChar;
private Action _onCreateCharacterComplete;
private Action<RoleInfo> _onCreateCharacterComplete;
private void Start()
{
@@ -25,7 +26,7 @@ namespace BrewMonster.UI
}
}
public void InitScreen(List<RoleInfo> roleInfos, Action<RoleInfo> OnClickItemChar, Action onCreateCharacterComplete = null)
public void InitScreen(List<RoleInfo> roleInfos, Action<RoleInfo> OnClickItemChar, Action<RoleInfo> onCreateCharacterComplete = null)
{
_onClickItemChar = OnClickItemChar;
_onCreateCharacterComplete = onCreateCharacterComplete;
@@ -50,6 +51,49 @@ namespace BrewMonster.UI
item.InitItem(info, OnClickItemChar);
}
}
// If number of roles < 8, spawn addCharacterItemPrefab and hide createCharacterButton
if (roleInfos.Count < 8)
{
// Hide the createCharacterButton
if (createCharacterButton != null)
{
createCharacterButton.gameObject.SetActive(false);
}
// Spawn addCharacterItemPrefab
if (addCharacterItemPrefab != null && parentItems != null)
{
GameObject addCharacterItem = Instantiate(addCharacterItemPrefab, parentItems);
// Set up click handler for the add character item
Button addButton = addCharacterItem.GetComponent<Button>();
if (addButton == null)
{
addButton = addCharacterItem.GetComponentInChildren<Button>();
}
if (addButton != null)
{
addButton.onClick.RemoveAllListeners();
addButton.onClick.AddListener(OnCreateCharacterClicked);
}
}
}
else
{
// Show the createCharacterButton if we have 8 or more roles
if (createCharacterButton != null)
{
createCharacterButton.gameObject.SetActive(true);
}
}
}
else
{
// If roleInfos is null, show createCharacterButton
if (createCharacterButton != null)
{
createCharacterButton.gameObject.SetActive(true);
}
}
}
@@ -70,7 +114,7 @@ namespace BrewMonster.UI
}
gameObject.SetActive(true);
_onCreateCharacterComplete?.Invoke();
_onCreateCharacterComplete?.Invoke(newRole);
}
private void OnCreateCharacterCancel()