internal void DrawWindowContent(int windowID) { MovableText movableTextInfo = movableTexts[FindMovableTextIndex(windowID)]; ParagraphLayout layout = ParagraphLayout.Create(movableTextInfo); if (!string.IsNullOrEmpty(movableTextInfo.title)) { GUIStyle titleStyle = new GUIStyle(); titleStyle.normal.textColor = Color.white; GUI.Label(layout.titleRect, new GUIContent(movableTextInfo.title), titleStyle); } float verticalPosition = kWindowMargin + 18; for (int line = 0; line < movableTextInfo.lines.Count; ++line) { (string text, Color color) = movableTextInfo.lines[line]; GUIStyle style = new GUIStyle(); style.normal.textColor = color; style.border.left = 0; GUI.Label(new Rect(new Vector2(kWindowMargin, verticalPosition), layout.lineSizes[line]), text, style); verticalPosition += layout.lineSizes[line].y; } GUI.DragWindow(new Rect(0, 0, Screen.width, Screen.height)); }
internal void DrawTextWindow(int windowIdentifier) { MovableText movableText = movableTexts[windowIdentifier]; if (movableText.lines.Count == 0) { return; } ParagraphLayout layout = ParagraphLayout.Create(movableText); GUI.color = Color.white; movableText.rect = GUI.Window(movableText.identifier, layout.rect, DrawWindowContent, new GUIContent()); movableTexts[windowIdentifier] = movableText; }