mirror of
https://github.com/sinai-dev/UnityExplorer.git
synced 2025-06-17 06:28:42 +08:00
Misc cleanups and adjustments
This commit is contained in:
parent
ca65affb5c
commit
fb6e413153
@ -745,7 +745,7 @@ namespace UnityExplorer
|
|||||||
//// var valueType = value.GetActualType();
|
//// var valueType = value.GetActualType();
|
||||||
////
|
////
|
||||||
//// Type typeOfKeys, typeOfValues;
|
//// Type typeOfKeys, typeOfValues;
|
||||||
//// if (valueType.IsGenericType && valueType.GetGenericArguments() is var args && args.Length == 2)
|
//// if (valueType.IsGenericType && valueType.GetGenericArguments() is ParameterInfo[] args && args.Length == 2)
|
||||||
//// {
|
//// {
|
||||||
//// typeOfKeys = args[0];
|
//// typeOfKeys = args[0];
|
||||||
//// typeOfValues = args[1];
|
//// typeOfValues = args[1];
|
||||||
|
@ -194,6 +194,8 @@ namespace UnityExplorer.Tests
|
|||||||
|
|
||||||
#if CPP
|
#if CPP
|
||||||
|
|
||||||
|
public static Il2CppSystem.Collections.IList AAAAAAACppList;
|
||||||
|
|
||||||
public static string testStringOne = "Test";
|
public static string testStringOne = "Test";
|
||||||
public static Il2CppSystem.Object testStringTwo = "string boxed as cpp object";
|
public static Il2CppSystem.Object testStringTwo = "string boxed as cpp object";
|
||||||
public static Il2CppSystem.String testStringThree = "string boxed as cpp string";
|
public static Il2CppSystem.String testStringThree = "string boxed as cpp string";
|
||||||
@ -237,6 +239,11 @@ namespace UnityExplorer.Tests
|
|||||||
BigList.Add(i.ToString());
|
BigList.Add(i.ToString());
|
||||||
|
|
||||||
#if CPP
|
#if CPP
|
||||||
|
var list = new Il2CppSystem.Collections.Generic.List<Il2CppSystem.Object>(5);
|
||||||
|
list.Add("one");
|
||||||
|
list.Add("two");
|
||||||
|
AAAAAAACppList = list.TryCast<Il2CppSystem.Collections.IList>();
|
||||||
|
|
||||||
CppBoxedDict = new Dictionary<Il2CppSystem.String, Il2CppSystem.Object>();
|
CppBoxedDict = new Dictionary<Il2CppSystem.String, Il2CppSystem.Object>();
|
||||||
CppBoxedDict.Add("1", new Il2CppSystem.Int32 { m_value = 1 }.BoxIl2CppObject());
|
CppBoxedDict.Add("1", new Il2CppSystem.Int32 { m_value = 1 }.BoxIl2CppObject());
|
||||||
CppBoxedDict.Add("2", new Il2CppSystem.Int32 { m_value = 2 }.BoxIl2CppObject());
|
CppBoxedDict.Add("2", new Il2CppSystem.Int32 { m_value = 2 }.BoxIl2CppObject());
|
||||||
|
@ -82,6 +82,7 @@ namespace UnityExplorer
|
|||||||
Log($"{NAME} {VERSION} initialized.");
|
Log($"{NAME} {VERSION} initialized.");
|
||||||
|
|
||||||
//InspectorManager.Inspect(typeof(TestClass));
|
//InspectorManager.Inspect(typeof(TestClass));
|
||||||
|
InspectorManager.Inspect(Camera.main.gameObject);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -321,6 +321,7 @@ namespace UnityExplorer.UI.CSConsole
|
|||||||
private static void SetCaretPosition(int caretPosition)
|
private static void SetCaretPosition(int caretPosition)
|
||||||
{
|
{
|
||||||
settingCaretCoroutine = true;
|
settingCaretCoroutine = true;
|
||||||
|
Input.Component.readOnly = true;
|
||||||
RuntimeProvider.Instance.StartCoroutine(SetAutocompleteCaretCoro(caretPosition));
|
RuntimeProvider.Instance.StartCoroutine(SetAutocompleteCaretCoro(caretPosition));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -343,6 +344,7 @@ namespace UnityExplorer.UI.CSConsole
|
|||||||
color.a = defaultInputFieldAlpha;
|
color.a = defaultInputFieldAlpha;
|
||||||
Input.Component.selectionColor = color;
|
Input.Component.selectionColor = color;
|
||||||
|
|
||||||
|
Input.Component.readOnly = false;
|
||||||
settingCaretCoroutine = false;
|
settingCaretCoroutine = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -575,7 +577,7 @@ public class HelloWorld
|
|||||||
|
|
||||||
internal const string HELP_COROUTINES = @"// To start a Coroutine directly, use ""Start(SomeCoroutine());"" in REPL mode.
|
internal const string HELP_COROUTINES = @"// To start a Coroutine directly, use ""Start(SomeCoroutine());"" in REPL mode.
|
||||||
|
|
||||||
// To define a coroutine, you will need to compile it seperately. For example:
|
// To declare a coroutine, you will need to compile it separately. For example:
|
||||||
public class MyCoro
|
public class MyCoro
|
||||||
{
|
{
|
||||||
public static IEnumerator Main()
|
public static IEnumerator Main()
|
||||||
|
@ -13,8 +13,8 @@ namespace UnityExplorer.UI.CacheObject.Views
|
|||||||
public Image Image { get; private set; }
|
public Image Image { get; private set; }
|
||||||
public InteractiveList ListOwner => Occupant.Owner as InteractiveList;
|
public InteractiveList ListOwner => Occupant.Owner as InteractiveList;
|
||||||
|
|
||||||
public static Color EvenColor = new Color(0.07f, 0.07f, 0.07f);
|
public static Color EvenColor = new Color(0.12f, 0.12f, 0.12f);
|
||||||
public static Color OddColor = new Color(0.063f, 0.063f, 0.063f);
|
public static Color OddColor = new Color(0.1f, 0.1f, 0.1f);
|
||||||
|
|
||||||
public override GameObject CreateContent(GameObject parent)
|
public override GameObject CreateContent(GameObject parent)
|
||||||
{
|
{
|
||||||
|
@ -180,8 +180,8 @@ namespace UnityExplorer.UI.IValues
|
|||||||
|
|
||||||
fieldRows.Add(row);
|
fieldRows.Add(row);
|
||||||
|
|
||||||
var label = UIFactory.CreateLabel(row, "Label", "notset", TextAnchor.MiddleRight);
|
var label = UIFactory.CreateLabel(row, "Label", "notset", TextAnchor.MiddleLeft);
|
||||||
UIFactory.SetLayoutElement(label.gameObject, minHeight: 25, minWidth: 175, flexibleWidth: 0);
|
UIFactory.SetLayoutElement(label.gameObject, minHeight: 25, minWidth: 50, flexibleWidth: 0);
|
||||||
label.horizontalOverflow = HorizontalWrapMode.Wrap;
|
label.horizontalOverflow = HorizontalWrapMode.Wrap;
|
||||||
labels.Add(label);
|
labels.Add(label);
|
||||||
|
|
||||||
|
@ -8,8 +8,24 @@ using UnityExplorer.UI.Models;
|
|||||||
|
|
||||||
namespace UnityExplorer.UI
|
namespace UnityExplorer.UI
|
||||||
{
|
{
|
||||||
public class InputFieldRef : UIBehaviourModel
|
public class InputFieldRef : UIModel
|
||||||
{
|
{
|
||||||
|
public static readonly HashSet<InputFieldRef> inputsPendingUpdate = new HashSet<InputFieldRef>();
|
||||||
|
|
||||||
|
public static void UpdateInstances()
|
||||||
|
{
|
||||||
|
if (inputsPendingUpdate.Any())
|
||||||
|
{
|
||||||
|
foreach (var entry in inputsPendingUpdate)
|
||||||
|
{
|
||||||
|
LayoutRebuilder.MarkLayoutForRebuild(entry.Rect);
|
||||||
|
entry.OnValueChanged?.Invoke(entry.Component.text);
|
||||||
|
}
|
||||||
|
|
||||||
|
inputsPendingUpdate.Clear();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public InputFieldRef(InputField component)
|
public InputFieldRef(InputField component)
|
||||||
{
|
{
|
||||||
this.Component = component;
|
this.Component = component;
|
||||||
@ -33,22 +49,11 @@ namespace UnityExplorer.UI
|
|||||||
public TextGenerator TextGenerator => Component.cachedInputTextGenerator;
|
public TextGenerator TextGenerator => Component.cachedInputTextGenerator;
|
||||||
public bool ReachedMaxVerts => TextGenerator.vertexCount >= UIManager.MAX_TEXT_VERTS;
|
public bool ReachedMaxVerts => TextGenerator.vertexCount >= UIManager.MAX_TEXT_VERTS;
|
||||||
|
|
||||||
private bool updatedWanted;
|
|
||||||
|
|
||||||
private void OnInputChanged(string value)
|
private void OnInputChanged(string value)
|
||||||
{
|
{
|
||||||
updatedWanted = true;
|
if (!inputsPendingUpdate.Contains(this))
|
||||||
}
|
inputsPendingUpdate.Add(this);
|
||||||
|
|
||||||
public override void Update()
|
|
||||||
{
|
|
||||||
if (updatedWanted)
|
|
||||||
{
|
|
||||||
LayoutRebuilder.MarkLayoutForRebuild(Rect);
|
|
||||||
|
|
||||||
OnValueChanged?.Invoke(Component.text);
|
|
||||||
updatedWanted = false;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public override GameObject UIRoot => Component.gameObject;
|
public override GameObject UIRoot => Component.gameObject;
|
||||||
|
@ -30,7 +30,7 @@ namespace UnityExplorer.UI.ObjectExplorer
|
|||||||
private string lastCheckedTypeInput;
|
private string lastCheckedTypeInput;
|
||||||
private bool lastTypeCanHaveGO;
|
private bool lastTypeCanHaveGO;
|
||||||
|
|
||||||
public ButtonListSource<object> dataHandler;
|
public ButtonListHandler<object, ButtonCell> dataHandler;
|
||||||
|
|
||||||
private ScrollPool<ButtonCell> resultsScrollPool;
|
private ScrollPool<ButtonCell> resultsScrollPool;
|
||||||
private List<object> currentResults = new List<object>();
|
private List<object> currentResults = new List<object>();
|
||||||
@ -74,7 +74,7 @@ namespace UnityExplorer.UI.ObjectExplorer
|
|||||||
|
|
||||||
public void Update()
|
public void Update()
|
||||||
{
|
{
|
||||||
if (lastCheckedTypeInput != desiredTypeInput)
|
if (m_context == SearchContext.UnityObject && lastCheckedTypeInput != desiredTypeInput)
|
||||||
{
|
{
|
||||||
lastCheckedTypeInput = desiredTypeInput;
|
lastCheckedTypeInput = desiredTypeInput;
|
||||||
|
|
||||||
@ -101,10 +101,9 @@ namespace UnityExplorer.UI.ObjectExplorer
|
|||||||
{
|
{
|
||||||
m_context = (SearchContext)value;
|
m_context = (SearchContext)value;
|
||||||
|
|
||||||
bool shouldShowGoFilters = m_context == SearchContext.UnityObject;
|
lastCheckedTypeInput = null;
|
||||||
|
sceneFilterRow.SetActive(false);
|
||||||
sceneFilterRow.SetActive(shouldShowGoFilters);
|
childFilterRow.SetActive(false);
|
||||||
childFilterRow.SetActive(shouldShowGoFilters);
|
|
||||||
|
|
||||||
unityObjectClassRow.SetActive(m_context == SearchContext.UnityObject);
|
unityObjectClassRow.SetActive(m_context == SearchContext.UnityObject);
|
||||||
}
|
}
|
||||||
@ -244,11 +243,9 @@ namespace UnityExplorer.UI.ObjectExplorer
|
|||||||
|
|
||||||
// RESULTS SCROLL POOL
|
// RESULTS SCROLL POOL
|
||||||
|
|
||||||
dataHandler = new ButtonListSource<object>(resultsScrollPool, GetEntries, SetCell, ShouldDisplayCell, OnCellClicked);
|
dataHandler = new ButtonListHandler<object, ButtonCell>(resultsScrollPool, GetEntries, SetCell, ShouldDisplayCell, OnCellClicked);
|
||||||
resultsScrollPool = UIFactory.CreateScrollPool<ButtonCell>(uiRoot, "ResultsList", out GameObject scrollObj, out GameObject scrollContent);
|
resultsScrollPool = UIFactory.CreateScrollPool<ButtonCell>(uiRoot, "ResultsList", out GameObject scrollObj,
|
||||||
|
out GameObject scrollContent);
|
||||||
//if (!Pool<ButtonCell>.PrototypeObject)
|
|
||||||
// Pool<ButtonCell>.PrototypeObject = ButtonCell.CreatePrototypeCell(Pool<ButtonCell>.InactiveHolder).gameObject;
|
|
||||||
|
|
||||||
resultsScrollPool.Initialize(dataHandler);
|
resultsScrollPool.Initialize(dataHandler);
|
||||||
UIFactory.SetLayoutElement(scrollObj, flexibleHeight: 9999);
|
UIFactory.SetLayoutElement(scrollObj, flexibleHeight: 9999);
|
||||||
|
@ -120,6 +120,11 @@ namespace UnityExplorer.UI.ObjectExplorer
|
|||||||
|
|
||||||
private void OnFilterInput(string input)
|
private void OnFilterInput(string input)
|
||||||
{
|
{
|
||||||
|
if ((!string.IsNullOrEmpty(input) && !Tree.Filtering) || (string.IsNullOrEmpty(input) && Tree.Filtering))
|
||||||
|
{
|
||||||
|
Tree.displayedObjects.Clear();
|
||||||
|
}
|
||||||
|
|
||||||
Tree.CurrentFilter = input;
|
Tree.CurrentFilter = input;
|
||||||
Tree.RefreshData(true, true);
|
Tree.RefreshData(true, true);
|
||||||
}
|
}
|
||||||
@ -208,7 +213,7 @@ namespace UnityExplorer.UI.ObjectExplorer
|
|||||||
UIFactory.SetLayoutElement(scrollObj, flexibleHeight: 9999);
|
UIFactory.SetLayoutElement(scrollObj, flexibleHeight: 9999);
|
||||||
UIFactory.SetLayoutElement(scrollContent, flexibleHeight: 9999);
|
UIFactory.SetLayoutElement(scrollContent, flexibleHeight: 9999);
|
||||||
|
|
||||||
Tree = new TransformTree(scrollPool) { GetRootEntriesMethod = GetRootEntries };
|
Tree = new TransformTree(scrollPool, GetRootEntries);
|
||||||
Tree.Init();
|
Tree.Init();
|
||||||
Tree.RefreshData(true, true);
|
Tree.RefreshData(true, true);
|
||||||
//scrollPool.Viewport.GetComponent<Mask>().enabled = false;
|
//scrollPool.Viewport.GetComponent<Mask>().enabled = false;
|
||||||
|
@ -15,7 +15,7 @@ namespace UnityExplorer.UI.Panels
|
|||||||
{
|
{
|
||||||
public override string Name => "C# Console";
|
public override string Name => "C# Console";
|
||||||
public override UIManager.Panels PanelType => UIManager.Panels.CSConsole;
|
public override UIManager.Panels PanelType => UIManager.Panels.CSConsole;
|
||||||
public override int MinWidth => 740;
|
public override int MinWidth => 750;
|
||||||
public override int MinHeight => 300;
|
public override int MinHeight => 300;
|
||||||
|
|
||||||
public InputFieldScroller InputScroll { get; private set; }
|
public InputFieldScroller InputScroll { get; private set; }
|
||||||
|
@ -44,13 +44,6 @@ namespace UnityExplorer.UI.Panels
|
|||||||
|
|
||||||
public override string GetSaveDataFromConfigManager() => ConfigManager.InspectorData.Value;
|
public override string GetSaveDataFromConfigManager() => ConfigManager.InspectorData.Value;
|
||||||
|
|
||||||
//public override void LoadSaveData()
|
|
||||||
//{
|
|
||||||
// ApplySaveData(ConfigManager.InspectorData.Value);
|
|
||||||
//
|
|
||||||
// InspectorManager.PanelWidth = this.mainPanelRect.rect.width;
|
|
||||||
//}
|
|
||||||
|
|
||||||
public override void DoSaveToConfigElement()
|
public override void DoSaveToConfigElement()
|
||||||
{
|
{
|
||||||
ConfigManager.InspectorData.Value = this.ToSaveData();
|
ConfigManager.InspectorData.Value = this.ToSaveData();
|
||||||
@ -66,6 +59,14 @@ namespace UnityExplorer.UI.Panels
|
|||||||
|
|
||||||
public override void ConstructPanelContent()
|
public override void ConstructPanelContent()
|
||||||
{
|
{
|
||||||
|
// add close all button to titlebar
|
||||||
|
|
||||||
|
var closeAllBtn = UIFactory.CreateButton(this.titleBar.transform.Find("CloseHolder").gameObject, "CloseAllBtn", "Close All",
|
||||||
|
new Color(0.3f, 0.2f, 0.2f));
|
||||||
|
UIFactory.SetLayoutElement(closeAllBtn.Component.gameObject, minHeight: 25, minWidth: 80);
|
||||||
|
closeAllBtn.Component.transform.SetSiblingIndex(closeAllBtn.Component.transform.GetSiblingIndex() - 1);
|
||||||
|
closeAllBtn.OnClick += InspectorManager.CloseAllTabs;
|
||||||
|
|
||||||
// this.UIRoot.GetComponent<Mask>().enabled = false;
|
// this.UIRoot.GetComponent<Mask>().enabled = false;
|
||||||
|
|
||||||
UIFactory.SetLayoutGroup<VerticalLayoutGroup>(this.content, true, true, true, true, 4, padLeft: 5, padRight: 5);
|
UIFactory.SetLayoutGroup<VerticalLayoutGroup>(this.content, true, true, true, true, 4, padLeft: 5, padRight: 5);
|
||||||
|
@ -29,7 +29,7 @@ namespace UnityExplorer.UI.Panels
|
|||||||
public override string Name => "Log";
|
public override string Name => "Log";
|
||||||
public override UIManager.Panels PanelType => UIManager.Panels.ConsoleLog;
|
public override UIManager.Panels PanelType => UIManager.Panels.ConsoleLog;
|
||||||
|
|
||||||
public override int MinWidth => 300;
|
public override int MinWidth => 350;
|
||||||
public override int MinHeight => 75;
|
public override int MinHeight => 75;
|
||||||
public override bool ShouldSaveActiveState => true;
|
public override bool ShouldSaveActiveState => true;
|
||||||
public override bool ShowByDefault => true;
|
public override bool ShowByDefault => true;
|
||||||
|
@ -188,13 +188,13 @@ namespace UnityExplorer.UI.Panels
|
|||||||
// Title text
|
// Title text
|
||||||
|
|
||||||
var titleTxt = UIFactory.CreateLabel(titleBar, "TitleBar", Name, TextAnchor.MiddleLeft);
|
var titleTxt = UIFactory.CreateLabel(titleBar, "TitleBar", Name, TextAnchor.MiddleLeft);
|
||||||
UIFactory.SetLayoutElement(titleTxt.gameObject, minWidth: 250, minHeight: 25, flexibleHeight: 0, flexibleWidth: 0);
|
UIFactory.SetLayoutElement(titleTxt.gameObject, minWidth: 250, minHeight: 25, flexibleHeight: 0);
|
||||||
|
|
||||||
// close button
|
// close button
|
||||||
|
|
||||||
var closeHolder = UIFactory.CreateUIObject("CloseHolder", titleBar);
|
var closeHolder = UIFactory.CreateUIObject("CloseHolder", titleBar);
|
||||||
UIFactory.SetLayoutElement(closeHolder, minHeight: 25, flexibleHeight: 0, minWidth: 30, flexibleWidth: 9999);
|
UIFactory.SetLayoutElement(closeHolder, minHeight: 25, flexibleHeight: 0, minWidth: 30, flexibleWidth: 9999);
|
||||||
UIFactory.SetLayoutGroup<HorizontalLayoutGroup>(closeHolder, false, false, true, true, 0, childAlignment: TextAnchor.MiddleRight);
|
UIFactory.SetLayoutGroup<HorizontalLayoutGroup>(closeHolder, false, false, true, true, 3, childAlignment: TextAnchor.MiddleRight);
|
||||||
var closeBtn = UIFactory.CreateButton(closeHolder, "CloseButton", "—");
|
var closeBtn = UIFactory.CreateButton(closeHolder, "CloseButton", "—");
|
||||||
UIFactory.SetLayoutElement(closeBtn.Component.gameObject, minHeight: 25, minWidth: 25, flexibleWidth: 0);
|
UIFactory.SetLayoutElement(closeBtn.Component.gameObject, minHeight: 25, minWidth: 25, flexibleWidth: 0);
|
||||||
RuntimeProvider.Instance.SetColorBlock(closeBtn.Component, new Color(0.33f, 0.32f, 0.31f));
|
RuntimeProvider.Instance.SetColorBlock(closeBtn.Component, new Color(0.33f, 0.32f, 0.31f));
|
||||||
|
@ -460,11 +460,10 @@ namespace UnityExplorer.UI
|
|||||||
public static InputFieldRef CreateInputField(GameObject parent, string name, string placeHolderText)
|
public static InputFieldRef CreateInputField(GameObject parent, string name, string placeHolderText)
|
||||||
{
|
{
|
||||||
GameObject mainObj = CreateUIObject(name, parent);
|
GameObject mainObj = CreateUIObject(name, parent);
|
||||||
//SetLayoutGroup<VerticalLayoutGroup>(mainObj, true, true, true, true);
|
|
||||||
|
|
||||||
Image mainImage = mainObj.AddComponent<Image>();
|
Image mainImage = mainObj.AddComponent<Image>();
|
||||||
mainImage.type = Image.Type.Sliced;
|
mainImage.type = Image.Type.Sliced;
|
||||||
mainImage.color = new Color(0.04f, 0.04f, 0.04f, 0.75f);
|
mainImage.color = new Color(0, 0, 0, 0.5f);
|
||||||
|
|
||||||
var inputField = mainObj.AddComponent<InputField>();
|
var inputField = mainObj.AddComponent<InputField>();
|
||||||
Navigation nav = inputField.navigation;
|
Navigation nav = inputField.navigation;
|
||||||
@ -480,7 +479,6 @@ namespace UnityExplorer.UI
|
|||||||
|
|
||||||
GameObject textArea = CreateUIObject("TextArea", mainObj);
|
GameObject textArea = CreateUIObject("TextArea", mainObj);
|
||||||
textArea.AddComponent<RectMask2D>();
|
textArea.AddComponent<RectMask2D>();
|
||||||
//textArea.AddComponent<ContentSizeFitter>().verticalFit = ContentSizeFitter.FitMode.PreferredSize;
|
|
||||||
|
|
||||||
RectTransform textAreaRect = textArea.GetComponent<RectTransform>();
|
RectTransform textAreaRect = textArea.GetComponent<RectTransform>();
|
||||||
textAreaRect.anchorMin = Vector2.zero;
|
textAreaRect.anchorMin = Vector2.zero;
|
||||||
@ -488,8 +486,6 @@ namespace UnityExplorer.UI
|
|||||||
textAreaRect.offsetMin = Vector2.zero;
|
textAreaRect.offsetMin = Vector2.zero;
|
||||||
textAreaRect.offsetMax = Vector2.zero;
|
textAreaRect.offsetMax = Vector2.zero;
|
||||||
|
|
||||||
// mainInput.textViewport = textArea.GetComponent<RectTransform>();
|
|
||||||
|
|
||||||
GameObject placeHolderObj = CreateUIObject("Placeholder", textArea);
|
GameObject placeHolderObj = CreateUIObject("Placeholder", textArea);
|
||||||
Text placeholderText = placeHolderObj.AddComponent<Text>();
|
Text placeholderText = placeHolderObj.AddComponent<Text>();
|
||||||
SetDefaultTextValues(placeholderText);
|
SetDefaultTextValues(placeholderText);
|
||||||
@ -505,8 +501,6 @@ namespace UnityExplorer.UI
|
|||||||
placeHolderRect.offsetMin = Vector2.zero;
|
placeHolderRect.offsetMin = Vector2.zero;
|
||||||
placeHolderRect.offsetMax = Vector2.zero;
|
placeHolderRect.offsetMax = Vector2.zero;
|
||||||
|
|
||||||
//SetLayoutElement(placeHolderObj, minWidth: 20, flexibleWidth: 5000);
|
|
||||||
|
|
||||||
inputField.placeholder = placeholderText;
|
inputField.placeholder = placeholderText;
|
||||||
|
|
||||||
GameObject inputTextObj = CreateUIObject("Text", textArea);
|
GameObject inputTextObj = CreateUIObject("Text", textArea);
|
||||||
|
@ -31,7 +31,7 @@ namespace UnityExplorer.UI.Widgets.AutoComplete
|
|||||||
|
|
||||||
public static ISuggestionProvider CurrentHandler { get; private set; }
|
public static ISuggestionProvider CurrentHandler { get; private set; }
|
||||||
|
|
||||||
public static ButtonListSource<Suggestion> dataHandler;
|
public static ButtonListHandler<Suggestion, ButtonCell> dataHandler;
|
||||||
public static ScrollPool<ButtonCell> scrollPool;
|
public static ScrollPool<ButtonCell> scrollPool;
|
||||||
private static GameObject navigationTipRow;
|
private static GameObject navigationTipRow;
|
||||||
|
|
||||||
@ -299,9 +299,10 @@ namespace UnityExplorer.UI.Widgets.AutoComplete
|
|||||||
|
|
||||||
public override void ConstructPanelContent()
|
public override void ConstructPanelContent()
|
||||||
{
|
{
|
||||||
dataHandler = new ButtonListSource<Suggestion>(scrollPool, GetEntries, SetCell, ShouldDisplay, OnCellClicked);
|
dataHandler = new ButtonListHandler<Suggestion, ButtonCell>(scrollPool, GetEntries, SetCell, ShouldDisplay, OnCellClicked);
|
||||||
|
|
||||||
scrollPool = UIFactory.CreateScrollPool<ButtonCell>(this.content, "AutoCompleter", out GameObject scrollObj, out GameObject scrollContent);
|
scrollPool = UIFactory.CreateScrollPool<ButtonCell>(this.content, "AutoCompleter", out GameObject scrollObj,
|
||||||
|
out GameObject scrollContent);
|
||||||
scrollPool.Initialize(dataHandler);
|
scrollPool.Initialize(dataHandler);
|
||||||
UIFactory.SetLayoutElement(scrollObj, flexibleHeight: 9999);
|
UIFactory.SetLayoutElement(scrollObj, flexibleHeight: 9999);
|
||||||
UIFactory.SetLayoutGroup<VerticalLayoutGroup>(scrollContent, true, false, true, false);
|
UIFactory.SetLayoutGroup<VerticalLayoutGroup>(scrollContent, true, false, true, false);
|
||||||
|
@ -39,9 +39,9 @@ namespace UnityExplorer.UI.Widgets
|
|||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
public GameObject CreateContent(GameObject parent)
|
public virtual GameObject CreateContent(GameObject parent)
|
||||||
{
|
{
|
||||||
UIRoot = UIFactory.CreateHorizontalGroup(parent, "ButtonCell", true, true, true, true, 2, default,
|
UIRoot = UIFactory.CreateHorizontalGroup(parent, "ButtonCell", true, false, true, true, 2, default,
|
||||||
new Color(0.11f, 0.11f, 0.11f), TextAnchor.MiddleCenter);
|
new Color(0.11f, 0.11f, 0.11f), TextAnchor.MiddleCenter);
|
||||||
Rect = UIRoot.GetComponent<RectTransform>();
|
Rect = UIRoot.GetComponent<RectTransform>();
|
||||||
Rect.anchorMin = new Vector2(0, 1);
|
Rect.anchorMin = new Vector2(0, 1);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user