public override void OnInspectorGUI() { SynchronizerEditorUtility.AddSynchronizerGameObject(); DrawComponentId(); SynchronizerEditorUtility.DrawHorizontalLine(10f); originalInspectorFoldout = EditorGUILayout.Foldout(originalInspectorFoldout, "Snychronized Component"); if (originalInspectorFoldout) { EditorGUI.indentLevel++; DrawExtraInspector(); EditorGUI.indentLevel--; } SynchronizerEditorUtility.DrawHorizontalLine(10f); defaultInspectorFoldout = EditorGUILayout.Foldout(defaultInspectorFoldout, "Default Inepector"); if (defaultInspectorFoldout) { EditorGUI.indentLevel++; DrawDefaultInspector(); EditorGUI.indentLevel--; } }
public override void OnInspectorGUI() { SetPrefabPath(); SynchronizerEditorUtility.AddSynchronizerGameObject(); DrawExtraInspector(); SynchronizerEditorUtility.DrawHorizontalLine(10f); DrawDefaultInspector(); }
void DrawExtraInspector() { var syncObj = target as SynchronizedObject; SynchronizerEditorUtility.ReadOnlyTextField("Sync ID", syncObj.id); if (syncObj.isOverridePrefab) { ResourcePathWatcher.Update("prefab"); var index = ResourcePathWatcher.PathIndexOf("prefab", syncObj.prefabPath); var selectedIndex = EditorGUILayout.Popup("Prefab Path", index, ResourcePathWatcher.GetPathList("prefab")); if (index != selectedIndex) { syncObj.prefabPath = ResourcePathWatcher.GetPath("prefab", selectedIndex); } } else { SynchronizerEditorUtility.ReadOnlyTextField("Prefab Path", syncObj.prefabPath); } }
void DrawComponentId() { var component = target as SynchronizedComponent; SynchronizerEditorUtility.ReadOnlyTextField("Component ID", component.id); }