public void ShowData(string title, string message = null, string rightExpression = null, List <FormulaNode> userExpression = null)
 {
     Title.text = title.Trim();
     if (string.IsNullOrEmpty(message))
     {
         Detail.gameObject.SetActive(false);
     }
     else
     {
         Detail.gameObject.SetActive(true);
         Detail.text = message;
     }
     if (rightExpression == null)
     {
         ExpressionPanel.SetActive(false);
     }
     else
     {
         ExpressionPanel.SetActive(true);
         LatexEquationRender.Render(rightExpression, res =>
         {
             Expression.FitImage(res, 220, 50);
         });
     }
     if (userExpression == null)
     {
         FormulaControllerPanel.SetActive(false);
     }
     else
     {
         FormulaControllerPanel.SetActive(true);
         Formula.LoadFormula(userExpression);
         Formula.interactable = false;
     }
 }
 protected void ShowFormulaEditor(Button button, Text text, List <FormulaNode> nodes)
 {
     if (formulaController.gameObject.activeInHierarchy && currentButton == button)
     {
         formulaController.gameObject.SetActive(false);
         return;
     }
     currentButton = button;
     currentValue  = text;
     currentNodes  = nodes;
     formulaController.gameObject.SetActive(true);
     if (nodes != null && nodes.Count != 0)
     {
         formulaController.LoadFormula(nodes);
     }
     else
     {
         formulaController.Initialize();
     }
 }