private void ResizeScrollView(BattleChatGUINode battleChatGUINode, bool chatIsActive) { battleChatGUINode.lazyScrollableVerticalList.AdjustPlaceholdersSiblingIndices(); ChatUIComponent chatUI = battleChatGUINode.chatUI; LayoutRebuilder.ForceRebuildLayoutImmediate(chatUI.MessagesContainer.gameObject.GetComponent <RectTransform>()); int a = chatUI.MessagesContainer.transform.childCount - 2; if (a != 0) { int b = !chatIsActive ? chatUI.MaxVisibleMessagesInPassiveState : chatUI.MaxVisibleMessagesInActiveState; int num3 = Mathf.Min(a, b); int index = a; float num5 = 0f; while (num3 > 0) { Vector2 sizeDelta = chatUI.MessagesContainer.transform.GetChild(index).GetComponent <RectTransform>().sizeDelta; num5 += sizeDelta.y; index--; num3--; } chatUI.ScrollViewHeight = num5; this.ChangeScrollBarActivity(chatUI, chatIsActive, a, b); } }
private void SetActiveChannelGUI(BattleChatGUINode battleChatGUINode, TeamColor teamColor) { ChatUIComponent chatUI = battleChatGUINode.chatUI; BattleChatLocalizedStringsComponent battleChatLocalizedStrings = battleChatGUINode.battleChatLocalizedStrings; string teamChatInputHint = string.Empty; Color commonTextColor = new Color(); Color blueTeamNicknameColor = new Color(); if (teamColor == TeamColor.BLUE) { blueTeamNicknameColor = chatUI.BlueTeamNicknameColor; commonTextColor = chatUI.BlueTeamNicknameColor; teamChatInputHint = battleChatLocalizedStrings.TeamChatInputHint; } else if (teamColor != TeamColor.RED) { blueTeamNicknameColor = chatUI.CommonTextColor; commonTextColor = chatUI.CommonTextColor; teamChatInputHint = battleChatLocalizedStrings.GeneralChatInputHint; } else { blueTeamNicknameColor = chatUI.RedTeamNicknameColor; commonTextColor = chatUI.RedTeamNicknameColor; teamChatInputHint = battleChatLocalizedStrings.TeamChatInputHint; } chatUI.InputHintText = $"{teamChatInputHint}: "; chatUI.InputHintColor = new Color(commonTextColor.r, commonTextColor.g, commonTextColor.b, chatUI.InputHintColor.a); chatUI.InputTextColor = chatUI.InputHintColor; chatUI.BottomLineColor = blueTeamNicknameColor; chatUI.SetHintSize((teamColor == TeamColor.BLUE) || (teamColor == TeamColor.RED)); }
public void ShowReceivedTeamMessage(BattleChatSystemMessageReceivedEvent e, ChatNode chatNode, [JoinByScreen] BattleChatGUINode battleChatGUINode, [JoinByScreen] ChatContentGUINode chatContentGUINode) { ChatUIComponent chatUI = battleChatGUINode.chatUI; GameObject obj2 = Object.Instantiate <GameObject>(chatContentGUINode.chatContentGUI.MessagePrefab); Entity entity = obj2.GetComponent <EntityBehaviour>().Entity; ChatMessageUIComponent component = obj2.GetComponent <ChatMessageUIComponent>(); component.FirstPartText = string.Empty; component.SecondPartText = e.Message; component.SecondPartTextColor = chatUI.SystemMessageColor; RectTransform parent = chatContentGUINode.chatContentGUI.gameObject.GetComponent <RectTransform>(); obj2.transform.SetParent(parent, false); parent.offsetMin = Vector2.zero; base.ScheduleEvent <ResizeBattleChatScrollViewEvent>(entity); chatUI.SendMessage("RefreshCurve", SendMessageOptions.DontRequireReceiver); }
private void CreateMessage(ChatContentGUINode chatContentGUINode, BattleChatGUINode battleChatGUINode, Entity user, string message, bool isTeamMessage, TeamColor teamColor) { Color blueTeamNicknameColor; Color commonTextColor; ChatUIComponent chatUI = battleChatGUINode.chatUI; GameObject obj2 = Object.Instantiate <GameObject>(chatContentGUINode.chatContentGUI.MessagePrefab); Entity entity = obj2.GetComponent <EntityBehaviour>().Entity; if (teamColor == TeamColor.BLUE) { blueTeamNicknameColor = chatUI.BlueTeamNicknameColor; commonTextColor = !isTeamMessage ? chatUI.CommonTextColor : chatUI.BlueTeamTextColor; } else if (teamColor != TeamColor.RED) { blueTeamNicknameColor = chatUI.CommonNicknameColor; commonTextColor = chatUI.CommonTextColor; } else { blueTeamNicknameColor = chatUI.RedTeamNicknameColor; commonTextColor = !isTeamMessage ? chatUI.CommonTextColor : chatUI.RedTeamTextColor; } ChatMessageUIComponent component = obj2.GetComponent <ChatMessageUIComponent>(); component.FirstPartText = user.GetComponent <UserUidComponent>().Uid + ": "; component.FirstPartTextColor = blueTeamNicknameColor; component.SecondPartText = message; component.SecondPartTextColor = commonTextColor; entity.AddComponent(new UserGroupComponent(user)); RectTransform parent = chatContentGUINode.chatContentGUI.gameObject.GetComponent <RectTransform>(); obj2.transform.SetParent(parent, false); base.ScheduleEvent <ResizeBattleChatScrollViewEvent>(entity); chatUI.SendMessage("RefreshCurve", SendMessageOptions.DontRequireReceiver); }
private void ChangeScrollBarActivity(ChatUIComponent chatUI, bool chatIsActive, int messagesCount, int maxMessagesCount) { chatUI.ScrollBarActivity = chatIsActive && ((messagesCount > maxMessagesCount) || (chatUI.ScrollViewPosY >= 0f)); }