public GameObject IDToField(GameObject field, int _constantID, bool moreInfo) { if (isAssetFile || (!isAssetFile && (field == null || !field.activeInHierarchy))) { if (_constantID != 0) { ConstantID newID = Serializer.returnComponent <ConstantID> (_constantID); if (newID != null && !Application.isPlaying) { field = newID.gameObject; } EditorGUILayout.BeginVertical("Button"); EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("Recorded ConstantID: " + _constantID.ToString(), EditorStyles.miniLabel); if (field == null) { if (GUILayout.Button("Search scenes", EditorStyles.miniButton)) { AdvGame.FindObjectWithConstantID(_constantID); } } EditorGUILayout.EndHorizontal(); if (field == null && moreInfo) { EditorGUILayout.HelpBox("Further controls cannot display because the referenced object cannot be found.", MessageType.Warning); } EditorGUILayout.EndVertical(); } } return(field); }