From 7376aebafdf8fb701bfa4bd40635d831ed0da581 Mon Sep 17 00:00:00 2001 From: KeyKoder Date: Wed, 18 Nov 2020 20:38:49 +0100 Subject: [PATCH] Add button to view current lobby users --- unity/Assets/Resources/Popup.prefab | 257 ++++++++++++++++++++- unity/Assets/Scenes/MainMenu.unity | 16 +- unity/Assets/Scripts/MainMenuController.cs | 12 +- unity/Assets/Scripts/Popup.cs | 8 +- 4 files changed, 273 insertions(+), 20 deletions(-) diff --git a/unity/Assets/Resources/Popup.prefab b/unity/Assets/Resources/Popup.prefab index 5939615..b4bbfc9 100644 --- a/unity/Assets/Resources/Popup.prefab +++ b/unity/Assets/Resources/Popup.prefab @@ -12,7 +12,7 @@ GameObject: - component: {fileID: 6304532030597566880} - component: {fileID: 1946094537576148173} m_Layer: 5 - m_Name: Content + m_Name: AlertText m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -29,13 +29,13 @@ RectTransform: m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] - m_Father: {fileID: 4531188443036923600} - m_RootOrder: 1 + m_Father: {fileID: 5043026541991202999} + m_RootOrder: 0 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, y: -8.93} - m_SizeDelta: {x: 210, y: 78} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 148.6852, y: 83} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &6304532030597566880 CanvasRenderer: @@ -78,7 +78,7 @@ MonoBehaviour: m_HorizontalOverflow: 0 m_VerticalOverflow: 0 m_LineSpacing: 1 - m_Text: Content + m_Text: AlertText --- !u!1 &345626111271288852 GameObject: m_ObjectHideFlags: 0 @@ -237,6 +237,241 @@ MonoBehaviour: m_VerticalOverflow: 0 m_LineSpacing: 1 m_Text: Ok +--- !u!1 &1177867420556486641 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5043026541991202999} + - component: {fileID: 7587464599653064173} + - component: {fileID: 6240218006239335034} + - component: {fileID: 7464562152091994576} + - component: {fileID: 7849758805131008622} + m_Layer: 5 + m_Name: ScrollContent + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5043026541991202999 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1177867420556486641} + 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_Children: + - {fileID: 4758311848516165983} + m_Father: {fileID: 2457645903507398768} + m_RootOrder: 0 + 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 &7587464599653064173 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1177867420556486641} + m_CullTransparentMesh: 0 +--- !u!114 &6240218006239335034 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1177867420556486641} + m_Enabled: 0 + 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.392} + 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: 10907, 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 &7464562152091994576 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1177867420556486641} + 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: -5 + m_ChildAlignment: 1 + m_Spacing: 0 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 0 + m_ChildControlHeight: 0 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 +--- !u!114 &7849758805131008622 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1177867420556486641} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc417d59709b83f40a9f4f9541441269, type: 3} + m_Name: + m_EditorClassIdentifier: + ignoreElements: 0 +--- !u!1 &1354415242554902235 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2457645903507398768} + - component: {fileID: 6488715084170568889} + - component: {fileID: 8081980448793205552} + - component: {fileID: 6707469330204410278} + - component: {fileID: 5117507582663276739} + m_Layer: 5 + m_Name: Scrollable + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2457645903507398768 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1354415242554902235} + 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_Children: + - {fileID: 5043026541991202999} + m_Father: {fileID: 4531188443036923600} + m_RootOrder: 1 + 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, y: -7} + m_SizeDelta: {x: 148.68524, y: 83} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &6488715084170568889 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1354415242554902235} + m_CullTransparentMesh: 0 +--- !u!114 &8081980448793205552 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1354415242554902235} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0, g: 0, b: 0, a: 0.011764706} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Texture: {fileID: 0} + m_UVRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 +--- !u!114 &6707469330204410278 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1354415242554902235} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 31a19414c41e5ae4aae2af33fee712f6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowMaskGraphic: 1 +--- !u!114 &5117507582663276739 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1354415242554902235} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1aa08ab6e0800fa44ae55d278d1423e3, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Content: {fileID: 5043026541991202999} + m_Horizontal: 0 + m_Vertical: 1 + m_MovementType: 1 + m_Elasticity: 0.1 + m_Inertia: 1 + m_DecelerationRate: 0.135 + m_ScrollSensitivity: 10 + m_Viewport: {fileID: 0} + m_HorizontalScrollbar: {fileID: 0} + m_VerticalScrollbar: {fileID: 0} + m_HorizontalScrollbarVisibility: 0 + m_VerticalScrollbarVisibility: 0 + m_HorizontalScrollbarSpacing: 0 + m_VerticalScrollbarSpacing: 0 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] --- !u!1 &1777716820031806203 GameObject: m_ObjectHideFlags: 0 @@ -393,7 +628,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 1 + m_IsActive: 0 --- !u!224 &9031059975889122493 RectTransform: m_ObjectHideFlags: 0 @@ -731,7 +966,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 0 + m_IsActive: 1 --- !u!224 &4531188443036923600 RectTransform: m_ObjectHideFlags: 0 @@ -744,7 +979,7 @@ RectTransform: m_LocalScale: {x: 1, y: 1, z: 1} m_Children: - {fileID: 538462290789497597} - - {fileID: 4758311848516165983} + - {fileID: 2457645903507398768} - {fileID: 8648826011013550574} m_Father: {fileID: 7803026691445115441} m_RootOrder: 1 diff --git a/unity/Assets/Scenes/MainMenu.unity b/unity/Assets/Scenes/MainMenu.unity index 866a08f..7ad5124 100644 --- a/unity/Assets/Scenes/MainMenu.unity +++ b/unity/Assets/Scenes/MainMenu.unity @@ -2636,7 +2636,19 @@ MonoBehaviour: m_TargetGraphic: {fileID: 1221064087} m_OnClick: m_PersistentCalls: - m_Calls: [] + m_Calls: + - m_Target: {fileID: 963550926} + m_TargetAssemblyTypeName: MainMenuController, Assembly-CSharp + m_MethodName: UserButtonClicked + m_Mode: 1 + 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!114 &1221064087 MonoBehaviour: m_ObjectHideFlags: 0 @@ -4096,7 +4108,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 1 + m_IsActive: 0 --- !u!114 &1886889894 MonoBehaviour: m_ObjectHideFlags: 0 diff --git a/unity/Assets/Scripts/MainMenuController.cs b/unity/Assets/Scripts/MainMenuController.cs index 3e20231..13e74cf 100644 --- a/unity/Assets/Scripts/MainMenuController.cs +++ b/unity/Assets/Scripts/MainMenuController.cs @@ -23,7 +23,7 @@ public class MainMenuController : MonoBehaviour { private Text lobbyCode; private GameObject lobbyScroll; - private + private List usersInLobby = new List(); void Start() { for(int i = 5; i < 0; i++){ @@ -82,7 +82,7 @@ public class MainMenuController : MonoBehaviour { } } catch(RpcException e) { if(e.StatusCode == StatusCode.Unavailable) { - Popup.Open(PopupType.Alert, mainMenu.transform, "ConnectionUnavailableError", "Error", "Server unavailable.\nPlease retry later or contact the server admin."); + Popup.Open(PopupType.Alert, mainMenu.transform, "ConnectionUnavailableError", "Error", "Server unavailable.\nPlease retry later or contact the server admin.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nPOOTIS"); } } } @@ -147,6 +147,10 @@ public class MainMenuController : MonoBehaviour { } } + public void UserButtonClicked() { + Popup.Open(PopupType.Alert, lobbyMenu.transform, "UsersInLobbyAlert", "Users", string.Join("\n", usersInLobby)); + } + public void ReloadMenu() { if(serverMenu.activeSelf) { for (int i = serverScroll.transform.childCount-1; i >= 1 ; i--) { @@ -187,9 +191,7 @@ public class MainMenuController : MonoBehaviour { } var users = conn.GetUsersInSameLobby(); lobbyMenu.FindRecursive("Usercount").GetComponent().text = "x " + users.Count; - foreach(string name in users) { - Debug.Log(name); - } + usersInLobby = users; // conn.Close(); } diff --git a/unity/Assets/Scripts/Popup.cs b/unity/Assets/Scripts/Popup.cs index 2cdf6ce..655d377 100644 --- a/unity/Assets/Scripts/Popup.cs +++ b/unity/Assets/Scripts/Popup.cs @@ -38,8 +38,12 @@ public class Popup : MonoBehaviour { } var alert = popup.transform.Find("Alert"); alert.transform.Find("Title").GetComponent().text = (string)args[0]; - alert.transform.Find("Content").GetComponent().text = (string)args[1]; - }else if (type == PopupType.Prompt) { + alert.transform.FindRecursive("AlertText").GetComponent().text = (string)args[1]; + TextGenerator textGen = new TextGenerator(); + TextGenerationSettings textGenSettings = alert.transform.FindRecursive("AlertText").GetComponent().GetGenerationSettings(alert.transform.FindRecursive("AlertText").GetComponent().rect.size); + var height = textGen.GetPreferredHeight((string)args[1], textGenSettings); + alert.transform.FindRecursive("AlertText").GetComponent().sizeDelta = new Vector2(alert.transform.FindRecursive("AlertText").GetComponent().sizeDelta.x, alert.transform.FindRecursive("AlertText").GetComponent().preferredHeight); + } else if (type == PopupType.Prompt) { for (int i = 1; i < popup.transform.childCount; i++) { var child = popup.transform.GetChild(i); child.gameObject.SetActive(child.name == "Prompt");