private void SetNodeStyleAndSize(SceneTextNode node, out GUIStyle style, out GUIStyle wrapStyle) { //Style select and height calculation int heightPadding = 62; style = nodeStyle; if (node.IsVariableText()) { style = variableNodeStyle; heightPadding += 40 * node.GetDescriptionCount(); } else { heightPadding += 20; } // if (node.GetHasOnEnterAction()) // { // heightPadding += 20; // heightPadding += 20 * node.GetOnEnterActionParameters().Count(); // } // if (node.GetHasOnExitAction()) // { // heightPadding += 20; // heightPadding += 20 * node.GetOnExitActionParameters().Count(); // } // if (node.GetHasConditionSelect()) // { // int conditionSize = node.GetConditionSize(); // for (int i = 0; i < conditionSize; i++) // { // heightPadding += 20; // if (node.GetFoldout(i)) // { // ConditionPredicate[] predicates = node.GetConditionPredicates(i).ToArray(); // for (int j = 0; j < predicates.Length; j++) // { // heightPadding += 42; // heightPadding += 20 * node.GetParameters(i, j).Count(); // } // } // else // { // heightPadding -= 1; // } // } // } wrapStyle = new GUIStyle(EditorStyles.textArea); wrapStyle.wordWrap = true; float nodeHeightCalc = wrapStyle.CalcHeight(new GUIContent(node.GetEditorText()), node.GetRect().width - style.padding.left - style.padding.right); node.SetNodeHeight(heightPadding + nodeHeightCalc); }