public void UpdateVariableWindow() { if (_processor != null) { foreach (Transform child in variableWindow) { if (child != variableTemplate.transform) { Destroy(child.gameObject); } } var first = true; foreach (KeyValuePair <string, IScriptType> pair in _processor.CurrentScope.Variables) { TMP_Text tmpText = Instantiate(variableTemplate, variableWindow); tmpText.gameObject.SetActive(true); tmpText.text = $"{pair.Key}\n{IDEColorCoding.RunColorCode(pair.Value.ToString())}"; tmpText.GetComponentInChildren <Image>().enabled = !first; if (first) { first = false; } } } }
public void UpdateOpCodeText() { if (_opCodes == null) { opCodeText.text = string.Empty; return; } var builder = new StringBuilder(); for (var i = 0; i < _opCodes.Length; i++) { IOpCode opCode = _opCodes[i]; string opCodeTrueStr = opCode.ToString(); string opCodeStr = Regex.Replace(opCodeTrueStr, @"^([a-zA-Z]+)(.*)$", $@"<size=70%>{i}</size><indent=20><b>$1</b><color=#999><i>$2</i></color></indent>"); int open = opCodeStr.IndexOf('{'); if (open != -1) { int close = opCodeStr.LastIndexOf('}'); int len = close - open; opCodeStr = opCodeStr.Substring(0, open + 1) + IDEColorCoding.RunColorCode(opCodeStr.Substring(open + 1, len - 1)) + opCodeStr.Substring(close); } if (i == 0 && _processor?.ProgramCounter == -1) { builder.AppendLine($"<color=#{ColorUtility.ToHtmlStringRGBA(nextOpCodeColor)}>{opCodeStr}</color>"); } else if (i == _processor?.ProgramCounter) { builder.AppendLine($"<color=#{ColorUtility.ToHtmlStringRGBA(currentOpCodeColor)}>{opCodeStr}</color>"); } else { builder.AppendLine(opCodeStr); } } opCodeText.text = builder.ToString(); }
public void UpdateColoredOutput(string text) { output.text = IDEColorCoding.RunColorCode(text); }