/// <inheritdoc /> public override void OnInspectorGUI() { _target.Identity = (short)EditorGUILayout.IntField("Identity", _target.Identity); JEMBetterEditor.DrawProperty(" ", () => { if (GUILayout.Button("Regenerate Identity")) { RefreshIdentity(); } }); _drawNetworkBehaviour.value = EditorGUILayout.BeginFoldoutHeaderGroup(_drawNetworkBehaviour.value, "Network Behaviour"); if (_drawNetworkBehaviour.value) { EditorGUILayout.Space(); EditorGUILayout.Space(); EditorGUI.indentLevel++; _target.NetworkBehaviour.ActiveOnClient = EditorGUILayout.Toggle("Active On Client", _target.NetworkBehaviour.ActiveOnClient); _target.NetworkBehaviour.ActiveOnServer = EditorGUILayout.Toggle("Active On Server", _target.NetworkBehaviour.ActiveOnServer); EditorGUI.indentLevel--; EditorGUILayout.Space(); } EditorGUILayout.EndFoldoutHeaderGroup(); _drawReferences.value = EditorGUILayout.BeginFoldoutHeaderGroup(_drawReferences.value, "References"); if (_drawReferences.value) { EditorGUILayout.Space(); EditorGUILayout.Space(); EditorGUI.indentLevel++; _target.References.ModelRoot = (GameObject)EditorGUILayout.ObjectField("Model Root", _target.References.ModelRoot, typeof(GameObject), true); _target.References.CharacterSettings = (CharacterSettingsReference)EditorGUILayout.ObjectField("Character Settings", _target.References.CharacterSettings, typeof(CharacterSettingsReference), false); EditorGUI.indentLevel--; EditorGUILayout.Space(); } EditorGUILayout.EndFoldoutHeaderGroup(); if (_target.References.ModelRoot == null) { EditorGUILayout.HelpBox("ModelRoot of level object is not set!", MessageType.Warning, true); } else if (_target.References.ModelRoot == _target.gameObject) { EditorGUILayout.HelpBox("Setting this gameObject as ModelRoot may create problems.", MessageType.Warning, true); } EditorGUILayoutGameUtility.DrawTargetExtras(_target); }
private void OnAssetBundlesSettingsGUI() { EditorGUIUtility.labelWidth += 25f; var cfg = JEMAssetsBuilderConfiguration.Configuration; GUILayout.Label("JEM AssetBuilder Settings", EditorStyles.boldLabel); cfg.PackageExtension = EditorGUILayout.TextField("Package Extension", cfg.PackageExtension); if (cfg.PackageExtension.Length != 0 && cfg.PackageExtension[0] == '.') { EditorGUILayout.HelpBox("Package extension starts with '.'!", MessageType.Warning, true); } EditorGUILayout.TextField("Directory", cfg.PackageDirectory); JEMBetterEditor.DrawProperty(" ", () => { if (GUILayout.Button("Select")) { var directory = EditorUtility.OpenFolderPanel("Select directory of package", cfg.PackageDirectory, ""); cfg.PackageDirectory = ExtensionPath.ResolveRelativeFilePath(directory); } }); cfg.CompressAssetBundles = EditorGUILayout.Toggle("Asset Bundles Compression", cfg.CompressAssetBundles); if (cfg.CompressAssetBundles) { EditorGUI.indentLevel++; cfg.ChunkBasedAssetBundlesCompression = EditorGUILayout.Toggle("Chunk Based", cfg.ChunkBasedAssetBundlesCompression); if (cfg.ChunkBasedAssetBundlesCompression) { EditorGUILayout.HelpBox("Chunk Compressed (LZ4) compression method.", MessageType.Info, true); } else { EditorGUILayout.HelpBox("Stream Compressed (LZMA) compression method.", MessageType.Info, true); } EditorGUI.indentLevel--; } EditorGUIUtility.labelWidth -= 25f; }
protected void DrawDatabaseItemGUI() { var item = (DatabaseItem)target; _drawDatabaseItemSettings.value = EditorGUILayout.BeginFoldoutHeaderGroup(_drawDatabaseItemSettings.value, "Database Item Settings"); if (_drawDatabaseItemSettings.value) { EditorGUILayout.Space(); EditorGUILayout.Space(); EditorGUI.indentLevel++; EditorGUILayout.LabelField("Unique Identity", item.Identity.ToString()); JEMBetterEditor.DrawProperty(" ", () => { if (GUILayout.Button("Regenerate")) { bool canRegenerate = true; if (item.Identity != 0) { canRegenerate = EditorUtility.DisplayDialog("Regenerate?", "Are you sure you want to regenerate the identity of this object? All references will be lost!", "Yes", "No"); } if (canRegenerate) { RegenerateIdentity(); } } }); EditorGUI.indentLevel--; EditorGUILayout.Space(); } EditorGUILayout.EndFoldoutHeaderGroup(); // Draw extras EditorGUILayoutGameUtility.DrawTargetExtras(target); }
private void OnAssetBundlesSettingsGUI() { var cfg = JEMAssetsBuilderConfiguration.Configuration; GUILayout.Label("JEM AssetBuilder Settings", EditorStyles.boldLabel); cfg.PackageExtension = EditorGUILayout.TextField("Package Extension", cfg.PackageExtension); if (cfg.PackageExtension.Length != 0 && cfg.PackageExtension[0] == '.') { EditorGUILayout.HelpBox("Package extension starts with '.'!", MessageType.Warning, true); } EditorGUILayout.TextField("Directory", cfg.PackageDirectory); JEMBetterEditor.DrawProperty(" ", () => { if (GUILayout.Button("Select")) { var directory = EditorUtility.OpenFolderPanel("Select directory of package", cfg.PackageDirectory, ""); cfg.PackageDirectory = ExtensionPath.ResolveRelativeFilePath(directory); } }); }