Skip to content

Commit

Permalink
Modeling tab created
Browse files Browse the repository at this point in the history
  • Loading branch information
alihan98ersoy committed Dec 4, 2023
1 parent 552471c commit a57191c
Show file tree
Hide file tree
Showing 7 changed files with 113 additions and 7 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,14 @@ namespace HmsPlugin
public class Modeling3dKitToggleEditor : ToggleEditor, IDrawer
{
public const string Modeling3dkitEnabled = "Modeling3dkit";
private TabBar _tabBar;
private TabView _tabView;


public Modeling3dKitToggleEditor()
public Modeling3dKitToggleEditor(TabBar tabBar)
{
bool enabled = HMSMainEditorSettings.Instance.Settings.GetBool(Modeling3dkitEnabled);
_tabView = ModelingTabFactory.CreateTab("3D Modeling Kit");
_tabBar = tabBar;
_toggle = new Toggle.Toggle("3D Modeling Kit (beta)", enabled, OnStateChanged, true);
Enabled = enabled;
}
Expand Down Expand Up @@ -37,12 +40,15 @@ public override void EnableToggle()
if (!HMSPluginSettings.Instance.Settings.GetBool(PluginToggleEditor.PluginEnabled, true))
return;


if (_tabBar != null && _tabView != null)
_tabBar.AddTab(_tabView);
Enabled = true;
}

public override void DisableToggle()
{
if (_tabBar != null && _tabView != null)
_tabBar.RemoveTab(_tabView);
Enabled = false;
}

Expand All @@ -56,7 +62,16 @@ public override void RefreshToggles()

public override void RemoveToggleTabView(bool removeTabs)
{
Debug.LogError("Modeling3dKitToggleEditor RemoveToggleTabView Not Implemented");
if (removeTabs)
{
if (_tabBar != null && _tabView != null)
_tabBar.RemoveTab(_tabView);
}
else
{
if (_tabBar != null && _tabView != null)
_tabBar.AddTab(_tabView);
}
}
}
}
5 changes: 2 additions & 3 deletions Assets/Huawei/Editor/View/MainWindow/HMSMainKitsTabFactory.cs
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ public static TabView CreateKitsTab(TabBar tabBar)
var scanToogleEditor = new ScanKitToggleEditor();
var cloudStorageToggleEditor = new CloudStorageToggleEditor();
var apmToggleEditor = new APMToggleEditor();
var modeling3DToggleEditor = new Modeling3dKitToggleEditor();
var modeling3DToggleEditor = new Modeling3dKitToggleEditor(tabBar);

tab.AddDrawer(new HorizontalSequenceDrawer(new Spacer(), pluginToggleEditor, new Spacer()));
tab.AddDrawer(new HorizontalLine());
Expand All @@ -75,8 +75,7 @@ public static TabView CreateKitsTab(TabBar tabBar)
new HorizontalSequenceDrawer(new Spacer(), nearbyServiceToggleEditor, new Spacer()),
new HorizontalSequenceDrawer(new Spacer(), pushToggleEditor, new Spacer()),
new HorizontalSequenceDrawer(new Spacer(), scanToogleEditor, new Spacer()),
new HorizontalSequenceDrawer(new Spacer(), new Clickable(new Label(guiContent: new GUIContent(EditorGUIUtility.FindTexture("_help"))), () => { Application.OpenURL("https://evilminddevs.gitbook.io/hms-unity-plugin_/kits-and-services/3d-modeling-kit/guides-and-references"); })
, modeling3DToggleEditor, new Spacer()),
new HorizontalSequenceDrawer(new Spacer(), modeling3DToggleEditor, new Spacer()),
new Spacer(),
new HorizontalSequenceDrawer(new HorizontalLine()),
new HorizontalSequenceDrawer(new Spacer(), new Label("- AppGallery Connect -").SetBold(true), new Spacer()),
Expand Down
8 changes: 8 additions & 0 deletions Assets/Huawei/Editor/View/ModelingTab.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

44 changes: 44 additions & 0 deletions Assets/Huawei/Editor/View/ModelingTab/ModelingSettingsDrawer.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
using HmsPlugin.Button;
using HmsPlugin.TextField;
using UnityEditor;
using UnityEngine;

namespace HmsPlugin
{
internal class ModelingSettingsDrawer : VerticalSequenceDrawer
{
private TextField.TextFieldWithAccept _keyAPITextField;

private HMSSettings _settings;

public ModelingSettingsDrawer()
{
_settings = HMSModelingKitSettings.Instance.Settings;
_keyAPITextField = new TextFieldWithAccept("KeyAPI", _settings.Get(HMSModelingKitSettings.ModelingKeyAPI),
"Save", OnKeyAPISaveButtonClick).SetLabelWidth(0).SetButtonWidth(100);

SetupSequence();
}
private void OnKeyAPISaveButtonClick()
{
_settings.Set(HMSModelingKitSettings.ModelingKeyAPI, _keyAPITextField.GetCurrentText());
}

private void SetupSequence()
{
GUIStyle style = new GUIStyle();
style.normal.textColor = Color.cyan;
AddDrawer(new Space(3));
AddDrawer(new Space(3));
AddDrawer(new HorizontalSequenceDrawer(new HorizontalLine(), new Label.Label("KeyAPI").SetBold(true),
new HorizontalLine()));
AddDrawer(new Space(3));
AddDrawer(_keyAPITextField);
AddDrawer(new HorizontalSequenceDrawer(new HorizontalLine()));
AddDrawer(new HorizontalSequenceDrawer(new Label.Label("\tNeed help? You can refer to"), new Clickable(new Label.Label("Guides & References").SetBold(true)
.SetStyle(style).SetFontSize(10),
() => { Application.OpenURL("https://evilminddevs.gitbook.io/hms-unity-plugin_/kits-and-services/3d-modeling-kit/guides-and-references"); })
,new Label.Label(".")));
}
}
}

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

18 changes: 18 additions & 0 deletions Assets/Huawei/Editor/View/ModelingTab/ModelingTabFactory.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace HmsPlugin
{
internal class ModelingTabFactory
{
public static TabView CreateTab(string title)
{
var tabView = new TabView(title);
tabView.AddDrawer(new ModelingSettingsDrawer());
return tabView;
}
}
}
11 changes: 11 additions & 0 deletions Assets/Huawei/Editor/View/ModelingTab/ModelingTabFactory.cs.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit a57191c

Please sign in to comment.