public void RenderConditions() { // Conditions ListBegin = ++PositionY; GUI.Label(GetListBeginRect(0), "Conditions"); if (GUI.Button(GetListBeginRect(1), "+")) { MyDialogueLine.AddCondition("", -1); } // Remove Function Button if (GUI.Button(GetListBeginRect(2), "-")) { MyDialogueLine.RemoveCondition(MyDialogueLine.MyConditions.Count - 1); } // and list itself for (int i = 0; i < MyDialogueLine.MyConditions.Count; i++) { MyDialogueLine.MyConditions [i].Command = (GUI.TextField(GetColumnRect(), MyDialogueLine.MyConditions [i].Command)); } // List for Pointer variables ListBegin = ++PositionY; GUI.Label(new Rect(0f, ListBegin * TextHeight, 80, TextHeight), "Pointers"); // and list itself for (int i = 0; i < MyDialogueLine.MyNext.Count; i++) { try { MyDialogueLine.MyNext [i] = int.Parse(GUI.TextField(GetColumnRect(), MyDialogueLine.MyNext [i].ToString())); } catch (System.FormatException e) { } } EditorGUILayout.Space(); }