public static QVector2IntDir get(List <QVector2IntDir> list, QVector2IntDir element) { List <QVector2IntDir> .Enumerator listEnumerator = list.GetEnumerator(); while (listEnumerator.MoveNext()) { if (listEnumerator.Current.equal(element)) { return(listEnumerator.Current); } } return(null); }
public static bool has(List <QVector2IntDir> list, QVector2IntDir element) { List <QVector2IntDir> .Enumerator listEnumerator = list.GetEnumerator(); while (listEnumerator.MoveNext()) { if (listEnumerator.Current.equal(element)) { return(true); } } return(false); }
private bool showVector2IntDirList(List <QVector2IntDir> list, bool foldout) { int count = EditorGUILayout.IntField("Count", list.Count); if (count < 0) { count = 0; } if (count != list.Count) { while (count > list.Count) { list.Add(new QVector2IntDir(0, 0, QMazeOutputDirection.NotSpecified)); } if (count < list.Count) { list.RemoveRange(count, list.Count - count); } } if (count > 0) { EditorGUI.indentLevel++; foldout = EditorGUILayout.Foldout(foldout, "Position List"); if (foldout) { for (int i = 0; i < list.Count; i++) { QVector2IntDir element = list[i]; EditorGUILayout.LabelField("Position " + (i + 1)); EditorGUI.indentLevel++; element.x = EditorGUILayout.IntField("X", element.x); element.y = EditorGUILayout.IntField("Y", element.y); element.direction = (QMazeOutputDirection)EditorGUILayout.EnumPopup("Direction", element.direction); EditorGUI.indentLevel--; } } EditorGUI.indentLevel--; } return(foldout); }
public bool equal(QVector2IntDir otherPoint) { return(x == otherPoint.x && y == otherPoint.y && (direction == otherPoint.direction || direction == QMazeOutputDirection.NotSpecified || otherPoint.direction == QMazeOutputDirection.NotSpecified)); }