Added Search page and AutoCompleter

This commit is contained in:
Sinai
2021-04-23 21:50:58 +10:00
parent eb58ab5327
commit f509a985e7
27 changed files with 1070 additions and 318 deletions

View File

@ -8,32 +8,35 @@ using UnityEngine.UI;
using UnityExplorer;
using UnityExplorer.Core;
using UnityExplorer.UI;
using UnityExplorer.UI.Models;
namespace UnityExplorer.UI.Utility
{
// Basically just to fix an issue with Scrollbars, instead we use a Slider as the scrollbar.
public class SliderScrollbar
public class SliderScrollbar : UIBehaviourModel
{
internal static readonly List<SliderScrollbar> Instances = new List<SliderScrollbar>();
//internal static readonly List<SliderScrollbar> Instances = new List<SliderScrollbar>();
public static void UpdateInstances()
{
if (!Instances.Any())
return;
//public static void UpdateInstances()
//{
// if (!Instances.Any())
// return;
for (int i = 0; i < Instances.Count; i++)
{
var slider = Instances[i];
// for (int i = 0; i < Instances.Count; i++)
// {
// var slider = Instances[i];
if (slider.CheckDestroyed())
i--;
else
slider.Update();
}
}
// if (slider.CheckDestroyed())
// i--;
// else
// slider.Update();
// }
//}
public bool IsActive { get; private set; }
public override GameObject UIRoot => m_slider.gameObject;
public event Action<float> OnValueChanged;
internal readonly Scrollbar m_scrollbar;
@ -44,7 +47,7 @@ namespace UnityExplorer.UI.Utility
public SliderScrollbar(Scrollbar scrollbar, Slider slider)
{
Instances.Add(this);
//Instances.Add(this);
this.m_scrollbar = scrollbar;
this.m_slider = slider;
@ -57,18 +60,18 @@ namespace UnityExplorer.UI.Utility
this.m_slider.Set(1f, false);
}
internal bool CheckDestroyed()
{
if (!m_slider || !m_scrollbar)
{
Instances.Remove(this);
return true;
}
//internal bool CheckDestroyed()
//{
// if (!m_slider || !m_scrollbar)
// {
// Instances.Remove(this);
// return true;
// }
return false;
}
// return false;
//}
internal void Update()
public override void Update()
{
this.RefreshVisibility();
}
@ -167,6 +170,11 @@ namespace UnityExplorer.UI.Utility
return sliderObj;
}
public override void ConstructUI(GameObject parent)
{
throw new NotImplementedException();
}
#endregion
}
}