private void DisplayList() { foreach (JumpgateDataObject jdo in dbJumpgates.database) { //List EditorGUILayout.BeginHorizontal(GUILayout.Width(Screen.width)); EditorGUILayout.LabelField(jdo.jumpgateID.ToString(), GUILayout.Width(colID)); EditorGUILayout.LabelField(jdo.jumpgateName.ToString(), GUILayout.Width(colName)); EditorGUILayout.LabelField(dbSectors.GetSectorByID(jdo.sectorID).sectorName, GUILayout.Width(colSectorName)); EditorGUILayout.LabelField(dbSectors.GetSectorByID(jdo.destinationSectorID).sectorName, GUILayout.Width(colDestinationSectorName)); EditorGUILayout.LabelField(dbJumpgates.GetJumpgateByID(jdo.destinationJumpgateID).jumpgateName, GUILayout.Width(colDestinationJumpgateID)); EditorGUILayout.LabelField(jdo.fee.ToString(), GUILayout.Width(colFee)); if (GUILayout.Button("Edit", GUILayout.Width(colButton1))) { isEdit = true; enableEditArea = true; editID = jdo.jumpgateID; editJumpgateName = jdo.jumpgateName; editSectorID = jdo.sectorID; editDestinationSectorID = jdo.destinationSectorID; editDestinationJumpgateID = jdo.destinationJumpgateID; editFee = jdo.fee; } if (GUILayout.Button("Delete", GUILayout.Width(colButton2))) { isEdit = false; dbJumpgates.Remove(jdo); EditorUtility.SetDirty(dbJumpgates); } EditorGUILayout.EndHorizontal(); } }
private void DisplayEditArea() { EditorGUI.BeginDisabledGroup(enableEditArea == false); EditorGUILayout.BeginHorizontal(GUILayout.Width(Screen.width)); editID = int.Parse(TextField("ID:", editID.ToString(), GUILayout.Width(75))); GUI.SetNextControlName("EditName"); editName = TextField("Name:", editName, GUILayout.Width(200)).ToString(); editMapCoordinates = EditorGUILayout.Vector2Field("Coordinates", editMapCoordinates, GUILayout.Width(250)); if (GUILayout.Button("Save", GUILayout.Width(100))) { //Save this, either as a new item, or an edit if (isEdit) { SectorDataObject sdo = db.GetSectorByID(editID); //Can't change the ID once it's set sdo.sectorName = editName; sdo.sectorMapCoordinates = editMapCoordinates; EditorUtility.SetDirty(db); } else { SectorDataObject sdo = new SectorDataObject(editID, editName, editMapCoordinates); db.Add(sdo); EditorUtility.SetDirty(db); } //Clear and disable the editor section ResetForm(); } if (GUILayout.Button("Cancel", GUILayout.Width(100))) { ResetForm(); } EditorGUILayout.EndHorizontal(); EditorGUI.EndDisabledGroup(); }