using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using UnityEngine; using UnityEngine.UI; using UnityExplorer.Core.Config; using UnityExplorer.Core.Runtime; using UnityExplorer.UI.Inspectors; using UnityExplorer.UI.Models; using UnityExplorer.UI.Utility; using UnityExplorer.UI.Widgets; namespace UnityExplorer.UI.Panels { public class InspectorPanel : UIPanel { public static InspectorPanel Instance { get; private set; } public InspectorPanel() { Instance = this; } public override string Name => "Inspector"; public override UIManager.Panels PanelType => UIManager.Panels.Inspector; public override bool ShouldSaveActiveState => false; public GameObject NavbarHolder; public GameObject ContentHolder; public RectTransform ContentRect; public static float CurrentPanelWidth => Instance.mainPanelRect.rect.width; public static float CurrentPanelHeight => Instance.mainPanelRect.rect.height; public override void Update() { InspectorManager.Update(); } public override void OnFinishResize(RectTransform panel) { base.OnFinishResize(panel); InspectorManager.OnPanelResized(panel.rect.width); } public override void LoadSaveData() { ApplySaveData(ConfigManager.InspectorData.Value); InspectorManager.PanelWidth = this.mainPanelRect.rect.width; } public override void DoSaveToConfigElement() { ConfigManager.InspectorData.Value = this.ToSaveData(); } public override void SetDefaultPosAndAnchors() { mainPanelRect.localPosition = Vector2.zero; mainPanelRect.pivot = new Vector2(0f, 1f); mainPanelRect.anchorMin = new Vector2(0.1f, 0.15f); mainPanelRect.anchorMax = new Vector2(0.1f, 0.95f); mainPanelRect.offsetMin = new Vector2(mainPanelRect.offsetMin.x, 100); // bottom mainPanelRect.offsetMax = new Vector2(mainPanelRect.offsetMax.x, -50); // top mainPanelRect.sizeDelta = new Vector2(700f, mainPanelRect.sizeDelta.y); mainPanelRect.anchoredPosition = new Vector2(-150, 0); } public override void ConstructPanelContent() { // this.UIRoot.GetComponent().enabled = false; UIFactory.SetLayoutGroup(this.content, forceHeight: true, spacing: 4, padLeft: 5, padRight: 5); this.NavbarHolder = UIFactory.CreateGridGroup(this.content, "Navbar", new Vector2(200, 22), new Vector2(4, 4), new Color(0.12f, 0.12f, 0.12f)); //UIFactory.SetLayoutElement(NavbarHolder, flexibleWidth: 9999, minHeight: 0, preferredHeight: 0, flexibleHeight: 9999); NavbarHolder.AddComponent().verticalFit = ContentSizeFitter.FitMode.PreferredSize; this.ContentHolder = UIFactory.CreateVerticalGroup(this.content, "ContentHolder", true, true, true, true, 0, default, new Color(0.1f, 0.1f, 0.1f)); UIFactory.SetLayoutElement(ContentHolder, flexibleHeight: 9999); ContentRect = ContentHolder.GetComponent(); UIManager.SetPanelActive(PanelType, false); } } }