More progress, and change Aggressive Mouse Unlock behaviour

This commit is contained in:
Sinai
2021-04-29 21:01:08 +10:00
parent a2a2b09d33
commit dba9bdbdc2
22 changed files with 365 additions and 233 deletions

View File

@ -44,14 +44,14 @@ namespace UnityExplorer.UI.Panels
public override void LoadSaveData()
{
ApplySaveData(ConfigManager.GameObjectInspectorData.Value);
ApplySaveData(ConfigManager.InspectorData.Value);
InspectorManager.PanelWidth = this.mainPanelRect.rect.width;
}
public override void SaveToConfigManager()
public override void DoSaveToConfigElement()
{
ConfigManager.GameObjectInspectorData.Value = this.ToSaveData();
ConfigManager.InspectorData.Value = this.ToSaveData();
}
public override void SetDefaultPosAndAnchors()

View File

@ -26,7 +26,7 @@ namespace UnityExplorer.UI.Panels
public override bool ShouldSaveActiveState => true;
public int SelectedTab = -1;
public int SelectedTab = 0;
private readonly List<UIModel> tabPages = new List<UIModel>();
private readonly List<ButtonRef> tabButtons = new List<ButtonRef>();
@ -57,14 +57,14 @@ namespace UnityExplorer.UI.Panels
SceneExplorer.Update();
}
public override void SaveToConfigManager()
public override void DoSaveToConfigElement()
{
ConfigManager.SceneExplorerData.Value = this.ToSaveData();
ConfigManager.ObjectExplorerData.Value = this.ToSaveData();
}
public override void LoadSaveData()
{
ApplySaveData(ConfigManager.SceneExplorerData.Value);
ApplySaveData(ConfigManager.ObjectExplorerData.Value);
}
public override string ToSaveData()
@ -88,6 +88,9 @@ namespace UnityExplorer.UI.Panels
SelectedTab = 0;
}
SelectedTab = Math.Max(0, SelectedTab);
SelectedTab = Math.Min(1, SelectedTab);
SetTab(SelectedTab);
}

View File

@ -102,8 +102,14 @@ namespace UnityExplorer.UI.Panels
public override void SetActive(bool active)
{
if (this.Enabled.Equals(active))
return;
base.SetActive(active);
if (!ApplyingSaveData)
SaveToConfigManager();
if (NavButtonWanted)
{
if (active)
@ -186,6 +192,7 @@ namespace UnityExplorer.UI.Panels
ConstructPanelContent();
ApplyingSaveData = true;
// apply panel save data or revert to default
try
{
@ -203,18 +210,29 @@ namespace UnityExplorer.UI.Panels
{
SaveToConfigManager();
};
ApplyingSaveData = false;
}
public override void ConstructUI(GameObject parent) => ConstructUI();
// SAVE DATA
public abstract void SaveToConfigManager();
public void SaveToConfigManager()
{
if (UIManager.Initializing)
return;
DoSaveToConfigElement();
}
public abstract void DoSaveToConfigElement();
public abstract void SetDefaultPosAndAnchors();
public abstract void LoadSaveData();
public bool ApplyingSaveData { get; set; }
public virtual string ToSaveData()
{
try
@ -223,8 +241,9 @@ namespace UnityExplorer.UI.Panels
$"|{mainPanelRect.RectAnchorsToString()}" +
$"|{mainPanelRect.RectPositionToString()}";
}
catch
catch (Exception ex)
{
ExplorerCore.LogWarning($"Exception generating Panel save data: {ex}");
return "";
}
}