From 040d76e3584877623211f211177c3adceea38a43 Mon Sep 17 00:00:00 2001 From: Rastub Date: Mon, 1 Jun 2026 15:22:08 +0300 Subject: [PATCH 01/13] ShowUserPopUp 1.0 added a scroll bar to popup reactionfield so that it wont go over the tab (still haven't gotten reactionfield buttons work at ShowUserPopUp on the popup, it sorta works but it only updates the messagebox reactionfield) --- Assets/MenuUi/Prefabs/Chat/BaseMessage.prefab | 4 +- .../Windows/GlobalWindows/ChatView.prefab | 250 ++++++++++++++++-- .../Scripts/Chat/ChatShowUsersPopUpData.cs | 3 + .../Scripts/Chat/MessageReactionsHandler.cs | 44 +-- 4 files changed, 268 insertions(+), 33 deletions(-) diff --git a/Assets/MenuUi/Prefabs/Chat/BaseMessage.prefab b/Assets/MenuUi/Prefabs/Chat/BaseMessage.prefab index 176bd84776..97c6a79039 100644 --- a/Assets/MenuUi/Prefabs/Chat/BaseMessage.prefab +++ b/Assets/MenuUi/Prefabs/Chat/BaseMessage.prefab @@ -1427,7 +1427,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3} m_Name: m_EditorClassIdentifier: - m_HorizontalFit: 0 + m_HorizontalFit: 2 m_VerticalFit: 2 --- !u!1 &8709729911892892704 GameObject: @@ -1440,7 +1440,7 @@ GameObject: - component: {fileID: 6897423349860991160} - component: {fileID: 1748575566865397314} m_Layer: 5 - m_Name: Reactions (1) + m_Name: Reactions m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 diff --git a/Assets/MenuUi/Prefabs/Windows/GlobalWindows/ChatView.prefab b/Assets/MenuUi/Prefabs/Windows/GlobalWindows/ChatView.prefab index e703339786..95ee3291b7 100644 --- a/Assets/MenuUi/Prefabs/Windows/GlobalWindows/ChatView.prefab +++ b/Assets/MenuUi/Prefabs/Windows/GlobalWindows/ChatView.prefab @@ -3238,7 +3238,7 @@ RectTransform: m_ConstrainProportionsScale: 0 m_Children: - {fileID: 2564540923251323573} - - {fileID: 4349249108874952513} + - {fileID: 4325108700598219797} m_Father: {fileID: 3684371136031284224} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} @@ -3389,7 +3389,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 50, y: -61.80227} + m_AnchoredPosition: {x: 50, y: -63.58013} m_SizeDelta: {x: 100, y: 0} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &7696485582972512613 @@ -4771,6 +4771,134 @@ MonoBehaviour: m_FlexibleWidth: -1 m_FlexibleHeight: -1 m_LayoutPriority: 1 +--- !u!1 &4711497440853259810 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4325108700598219797} + - component: {fileID: 8638815110373297450} + - component: {fileID: 2053480718372948307} + - component: {fileID: 959950731169273863} + - component: {fileID: 8849115530695733483} + m_Layer: 0 + m_Name: ScrollRect + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4325108700598219797 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4711497440853259810} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 1.4434044} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 7808444925369831179} + m_Father: {fileID: 6937871787955167669} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 417.5, y: -55} + m_SizeDelta: {x: 565, y: 110} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &8638815110373297450 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4711497440853259810} + 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: 0.1792453, g: 0.1792453, b: 0.1792453, 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: 0} + 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 &2053480718372948307 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4711497440853259810} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 565 + m_PreferredHeight: 110 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!114 &959950731169273863 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4711497440853259810} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1aa08ab6e0800fa44ae55d278d1423e3, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Content: {fileID: 0} + m_Horizontal: 1 + m_Vertical: 0 + m_MovementType: 1 + m_Elasticity: 0.1 + m_Inertia: 1 + m_DecelerationRate: 0.135 + m_ScrollSensitivity: 1 + m_Viewport: {fileID: 7808444925369831179} + m_HorizontalScrollbar: {fileID: 0} + m_VerticalScrollbar: {fileID: 0} + m_HorizontalScrollbarVisibility: 0 + m_VerticalScrollbarVisibility: 0 + m_HorizontalScrollbarSpacing: 0 + m_VerticalScrollbarSpacing: -3 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] +--- !u!222 &8849115530695733483 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4711497440853259810} + m_CullTransparentMesh: 1 --- !u!1 &4748461315105360402 GameObject: m_ObjectHideFlags: 0 @@ -5414,6 +5542,96 @@ MonoBehaviour: m_OnValueChanged: m_PersistentCalls: m_Calls: [] +--- !u!1 &5163482810798233842 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7808444925369831179} + - component: {fileID: 7813754295863667734} + - component: {fileID: 729734700785514752} + - component: {fileID: 8702523111131546619} + m_Layer: 0 + m_Name: Viewport + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7808444925369831179 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5163482810798233842} + 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: 4349249108874952513} + m_Father: {fileID: 4325108700598219797} + 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, y: 1} +--- !u!222 &7813754295863667734 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5163482810798233842} + m_CullTransparentMesh: 1 +--- !u!114 &729734700785514752 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5163482810798233842} + 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: 10917, 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 &8702523111131546619 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5163482810798233842} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 31a19414c41e5ae4aae2af33fee712f6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowMaskGraphic: 0 --- !u!1 &5282149747019341538 GameObject: m_ObjectHideFlags: 0 @@ -5659,16 +5877,16 @@ RectTransform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 5612372508043473246} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalPosition: {x: 0, y: 0, z: -1.4434044} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] - m_Father: {fileID: 6937871787955167669} + m_Father: {fileID: 7808444925369831179} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 1} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 135, y: -55} - m_SizeDelta: {x: 0, y: 110} + 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!114 &4225351530599048031 MonoBehaviour: @@ -5979,6 +6197,7 @@ MonoBehaviour: - {fileID: 21300000, guid: a12221f1d2fd7194dbb2e0620c4fe9b8, type: 3} _image: {fileID: 4777644748716934985} _OrderButtonText: {fileID: 4953989987484460405} + _scrollRect: {fileID: 959950731169273863} --- !u!114 &7249710220094630189 MonoBehaviour: m_ObjectHideFlags: 0 @@ -7294,9 +7513,8 @@ MonoBehaviour: _InputAreaArrow: {fileID: 8800692130466575762} ShowUsersPopUp: {fileID: 5763485112562100175} ChatShowUsersPopUpData: {fileID: 3137927778324403408} - characterResponseList: {fileID: 11400000, guid: 0c97ef5ec4dd42d49854c48853a3e90c, - type: 2} currentMood: 2 + lasttimeMood: 2 _responsesData: {fileID: 1228178274405547610} _chatType: 0 --- !u!114 &1176563068381732146 @@ -9810,7 +10028,7 @@ PrefabInstance: - target: {fileID: 2641932565321544379, guid: 57890b7dbec8a984abb7d8148eefe9f6, type: 3} propertyPath: m_AnchorMin.y - value: 0.94188035 + value: 0.9581281 objectReference: {fileID: 0} - target: {fileID: 2664587007262820359, guid: 57890b7dbec8a984abb7d8148eefe9f6, type: 3} @@ -9896,12 +10114,12 @@ PrefabInstance: - target: {fileID: 3472046463813142143, guid: 57890b7dbec8a984abb7d8148eefe9f6, type: 3} propertyPath: m_AnchorMax.y - value: 0.8468803 + value: 0.8631041 objectReference: {fileID: 0} - target: {fileID: 3472046463813142143, guid: 57890b7dbec8a984abb7d8148eefe9f6, type: 3} propertyPath: m_AnchorMin.y - value: 0.1975 + value: 0.197584 objectReference: {fileID: 0} - target: {fileID: 3472046463813142143, guid: 57890b7dbec8a984abb7d8148eefe9f6, type: 3} @@ -11790,7 +12008,7 @@ PrefabInstance: - target: {fileID: 7827142668286818857, guid: 57890b7dbec8a984abb7d8148eefe9f6, type: 3} propertyPath: m_AnchorMax.y - value: 0.1975 + value: 0.197584 objectReference: {fileID: 0} - target: {fileID: 7887861368517116277, guid: 57890b7dbec8a984abb7d8148eefe9f6, type: 3} @@ -12025,12 +12243,12 @@ PrefabInstance: - target: {fileID: 9009743781400064838, guid: 57890b7dbec8a984abb7d8148eefe9f6, type: 3} propertyPath: m_AnchorMax.y - value: 0.94188035 + value: 0.9581281 objectReference: {fileID: 0} - target: {fileID: 9009743781400064838, guid: 57890b7dbec8a984abb7d8148eefe9f6, type: 3} propertyPath: m_AnchorMin.y - value: 0.8468803 + value: 0.8631041 objectReference: {fileID: 0} - target: {fileID: 9011883256918754321, guid: 57890b7dbec8a984abb7d8148eefe9f6, type: 3} diff --git a/Assets/MenuUi/Scripts/Chat/ChatShowUsersPopUpData.cs b/Assets/MenuUi/Scripts/Chat/ChatShowUsersPopUpData.cs index 2e5f05e2c0..371d9ad7ed 100644 --- a/Assets/MenuUi/Scripts/Chat/ChatShowUsersPopUpData.cs +++ b/Assets/MenuUi/Scripts/Chat/ChatShowUsersPopUpData.cs @@ -42,6 +42,8 @@ public class ChatShowUsersPopUpData : MonoBehaviour private int LineOrder = 0; private int currentOrder = 1; + public ScrollRect _scrollRect; + //[SerializeField] private TextLanguageSelectorCaller _reactionAmount; private void Start() @@ -70,6 +72,7 @@ public void ClosePopup() Destroy(CopiedReactionField); CopiedReactionField = null; + _scrollRect.content = null; _messageReactionsHandler = null; gameObject.SetActive(false); LineOrder = 0; diff --git a/Assets/MenuUi/Scripts/Chat/MessageReactionsHandler.cs b/Assets/MenuUi/Scripts/Chat/MessageReactionsHandler.cs index 688bb1eb55..fd30fabb3b 100644 --- a/Assets/MenuUi/Scripts/Chat/MessageReactionsHandler.cs +++ b/Assets/MenuUi/Scripts/Chat/MessageReactionsHandler.cs @@ -263,8 +263,8 @@ public void AddReaction(ServerReactions _reaction, Mood mood, string message_id, chatReactionHandler.AddReaction(_reaction); _reactionHandlers.Add(chatReactionHandler); ReactionData.Add(_reaction); - chatReactionHandler.Button.onClick.AddListener(() => ToggleReaction(chatReactionHandler, message, _reaction)); - chatReactionHandler.LongClickButton.onLongClick.AddListener(() => ShowUsers(message)); + chatReactionHandler.Button.onClick.AddListener(() => ToggleReaction(chatReactionHandler, message)); + chatReactionHandler.LongClickButton.onLongClick.AddListener(() => ShowUsers(chatReactionHandler, message)); StartCoroutine(GetPlayerData(player => { @@ -312,7 +312,7 @@ public void AddReaction(ServerReactions _reaction, Mood mood, string message_id, /// Toggles the added reactions as selected and unselected. /// /// - public void ToggleReaction(ChatReactionHandler reactionHandler, ChatMessage message, ServerReactions _reaction) + public void ToggleReaction(ChatReactionHandler reactionHandler, ChatMessage message) { ChatListener.Instance.SendReaction(!reactionHandler.Selected ? reactionHandler.Mood.ToString() : string.Empty, reactionHandler.MessageID, ChatListener.Instance.ActiveChatChannel); if (!_longClick) @@ -343,34 +343,48 @@ public void ToggleReaction(ChatReactionHandler reactionHandler, ChatMessage mess } } - private void ShowUsers(ChatMessage message) + private void ShowUsers(ChatReactionHandler reactionHandler, ChatMessage message) { //halts the button as when field get copied it the button will rerun the script again duplicating it twice - /*if(Popup.gameObject.activeSelf) + if(Popup.gameObject.activeSelf) return; + //Gets needed data for ChatShowUserPopUpData Popup._messageReactionsHandler = gameObject.GetComponent(); Popup.gameObject.SetActive(true); Popup.CopiedReactionField = Instantiate(_reactionPaneldata._reactionField, Popup.ReactionFieldLocation); + + Popup._scrollRect.content = Popup.CopiedReactionField.GetComponent(); + GenarateReactionObjects(Popup.PopUpAllReactions); UpdateReactionStatus(Popup.PopUpAllReactions); + + //Changes the reactions object sizes + foreach(RectTransform child in Popup.CopiedReactionField.transform) + { + ContentSizeFitter childFitter = child.GetComponent(); + childFitter.enabled = false; + + Button test = child.GetComponent