public void PopulateWithRecentChatHistory()
        {
            InnerPanelInstance.Children.Clear();

            var dialogueHistory = PlayerDataManager.DialogueHistory;
            var dialogue        = GameStateManager.GameDialogue;

            foreach (var dialogueTuple in dialogueHistory)
            {
                var shownBox      = new ChatOptionRuntime(true);
                var shownDialogue = dialogue.DialogueList.FirstOrDefault(d => d.Id == dialogueTuple.Key);
                shownBox.SetDialogue(shownDialogue);
                shownBox.CurrentHighlightState = ChatOptionRuntime.Highlight.Highlighted;
                shownBox.HasEvents             = false;
                shownBox.XOrigin = HorizontalAlignment.Right;
                shownBox.XUnits  = GeneralUnitType.PixelsFromLarge;
                shownBox.Parent  = InnerPanelInstance;

                if (dialogueTuple.Value != "")
                {
                    var responseBox      = new ChatOptionRuntime(true);
                    var responseDialogue = dialogue.DialogueList.FirstOrDefault(d => d.Id == dialogueTuple.Value);
                    responseBox.SetDialogue(responseDialogue);
                    responseBox.ChatColorState = ChatOptionFrameRuntime.ColorState.Green;
                    responseBox.HasEvents      = false;
                    responseBox.Parent         = InnerPanelInstance;
                }
            }
        }
        public void PopulateWithAllChatHistory()
        {
            var chatHistory = PlayerDataManager.DialogueHistory;
            var allDialogue = GameStateManager.GameDialogue;

            var chatCount = 0;

            foreach (var chat in chatHistory)
            {
                ChatOptionRuntime aiMessage;
                ChatOptionRuntime playerResponse;

                if (FormsControl.InnerPanel.Children.Count < chatCount)
                {
                    aiMessage                = FormsControl.InnerPanel.Children[chatCount++] as ChatOptionRuntime;
                    aiMessage.ChatText       = allDialogue.GetDialogueText(chat.Key);
                    aiMessage.XOrigin        = HorizontalAlignment.Left;
                    aiMessage.XUnits         = GeneralUnitType.PixelsFromSmall;
                    aiMessage.Parent         = FormsControl.InnerPanel;
                    aiMessage.HasEvents      = false;
                    aiMessage.ChatColorState = ChatOptionFrameRuntime.ColorState.Green;
                }
                else
                {
                    aiMessage = new ChatOptionRuntime(true)
                    {
                        ChatText       = allDialogue.GetDialogueText(chat.Key),
                        XOrigin        = HorizontalAlignment.Left,
                        XUnits         = GeneralUnitType.PixelsFromSmall,
                        Parent         = FormsControl.InnerPanel,
                        HasEvents      = false,
                        ChatColorState = ChatOptionFrameRuntime.ColorState.Green
                    };
                }
                if (FormsControl.InnerPanel.Children.Count < chatCount)
                {
                    playerResponse                = FormsControl.InnerPanel.Children[chatCount++] as ChatOptionRuntime;
                    playerResponse.ChatText       = allDialogue.GetDialogueText(chat.Value);
                    playerResponse.XOrigin        = HorizontalAlignment.Right;
                    playerResponse.XUnits         = GeneralUnitType.PixelsFromLarge;
                    playerResponse.Parent         = FormsControl.InnerPanel;
                    playerResponse.HasEvents      = false;
                    playerResponse.ChatColorState = ChatOptionFrameRuntime.ColorState.Black;
                }
                else
                {
                    playerResponse = new ChatOptionRuntime(true)
                    {
                        ChatText       = allDialogue.GetDialogueText(chat.Value),
                        XOrigin        = HorizontalAlignment.Right,
                        XUnits         = GeneralUnitType.PixelsFromLarge,
                        Parent         = FormsControl.InnerPanel,
                        HasEvents      = false,
                        ChatColorState = ChatOptionFrameRuntime.ColorState.Black
                    };
                }
            }
        }