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));
 }