using HMUI; using SongBrowserPlugin.DataAccess; using SongLoaderPlugin; using System; using System.Collections.Generic; using System.Linq; using System.Reflection; using System.Text; using UnityEngine; using UnityEngine.UI; namespace SongBrowserPlugin.UI { public class PlaylistTableView : MonoBehaviour, TableView.IDataSource { public const String Name = "PlaylistTableView"; private Logger _log = new Logger(Name); private StandardLevelListTableCell _cellInstanceTemplate; protected TableView _tableView; private RectTransform _rect; private PlaylistsReader _reader; private int _selectedRow; public event Action didSelectPlaylistEvent; [SerializeField] protected float _cellHeight = 12f; /// /// Constructor. /// public PlaylistTableView() { } public virtual void OnDestroy() { _log.Trace("OnDestroy()"); Destroy(this._tableView); } /// /// Setup the tableview. /// /// public void Init(RectTransform parent, PlaylistsReader reader) { _rect = parent; _reader = reader; try { _cellInstanceTemplate = Resources.FindObjectsOfTypeAll().First(x => (x.name == "StandardLevelListTableCell")); if (_tableView == null) { _tableView = new GameObject().AddComponent(); _tableView.Awake(); _tableView.transform.SetParent(parent, false); Mask viewportMask = Instantiate(Resources.FindObjectsOfTypeAll().First(), _tableView.transform, false); viewportMask.transform.DetachChildren(); _tableView.GetComponentsInChildren().First(x => x.name == "Content").transform.SetParent(viewportMask.rectTransform, false); (_tableView.transform as RectTransform).anchorMin = new Vector2(0f, 0.5f); (_tableView.transform as RectTransform).anchorMax = new Vector2(1f, 0.5f); (_tableView.transform as RectTransform).sizeDelta = new Vector2(0f, 60f); (_tableView.transform as RectTransform).position = new Vector3(0f, 0f, 2.4f); (_tableView.transform as RectTransform).anchoredPosition = new Vector3(0f, -3f); Button pageUpButton = Instantiate(Resources.FindObjectsOfTypeAll