Clean up hardcoded UI paths.
This commit is contained in:
@@ -10,21 +10,21 @@ namespace Cryville.Crtr.Browsing.UI {
|
|||||||
#pragma warning restore IDE0044
|
#pragma warning restore IDE0044
|
||||||
|
|
||||||
private bool _dir;
|
private bool _dir;
|
||||||
private Image _icon;
|
[SerializeField]
|
||||||
private TMP_Text _title;
|
Image m_icon;
|
||||||
private TMP_Text _desc;
|
[SerializeField]
|
||||||
|
TMP_Text m_title;
|
||||||
|
[SerializeField]
|
||||||
|
TMP_Text m_desc;
|
||||||
|
|
||||||
#pragma warning disable IDE0051
|
#pragma warning disable IDE0051
|
||||||
void Awake() {
|
void Awake() {
|
||||||
_icon = transform.Find("__content__/Icon").GetComponent<Image>();
|
|
||||||
_title = transform.Find("__content__/Texts/Title/__text__").GetComponent<TMP_Text>();
|
|
||||||
_desc = transform.Find("__content__/Texts/Description/__text__").GetComponent<TMP_Text>();
|
|
||||||
}
|
}
|
||||||
void OnDestroy() {
|
void OnDestroy() {
|
||||||
if (meta.Icon != null) meta.Icon.Cancel();
|
if (meta.Icon != null) meta.Icon.Cancel();
|
||||||
if (_icon.sprite != null && _icon.sprite != m_iconPlaceholder) {
|
if (m_icon.sprite != null && m_icon.sprite != m_iconPlaceholder) {
|
||||||
Texture2D.Destroy(_icon.sprite.texture);
|
Destroy(m_icon.sprite.texture);
|
||||||
Sprite.Destroy(_icon.sprite);
|
Destroy(m_icon.sprite);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#pragma warning restore IDE0051
|
#pragma warning restore IDE0051
|
||||||
@@ -33,14 +33,14 @@ namespace Cryville.Crtr.Browsing.UI {
|
|||||||
OnDestroy();
|
OnDestroy();
|
||||||
base.Load(id, item);
|
base.Load(id, item);
|
||||||
_dir = meta.IsDirectory;
|
_dir = meta.IsDirectory;
|
||||||
_icon.sprite = m_iconPlaceholder;
|
m_icon.sprite = m_iconPlaceholder;
|
||||||
if (meta.Icon != null) meta.Icon.Destination = DisplayCover;
|
if (meta.Icon != null) meta.Icon.Destination = DisplayCover;
|
||||||
_title.text = meta.Name;
|
m_title.text = meta.Name;
|
||||||
_desc.text = string.Format("{0}\n{1}", meta.DescriptionMain, meta.DescriptionSub);
|
m_desc.text = string.Format("{0}\n{1}", meta.DescriptionMain, meta.DescriptionSub);
|
||||||
}
|
}
|
||||||
private void DisplayCover(bool succeeded, Texture2D tex) {
|
private void DisplayCover(bool succeeded, Texture2D tex) {
|
||||||
if (succeeded) {
|
if (succeeded) {
|
||||||
_icon.sprite = Sprite.Create(tex, new Rect(0, 0, tex.width, tex.height), Vector2.zero, 160, 0, SpriteMeshType.FullRect);
|
m_icon.sprite = Sprite.Create(tex, new Rect(0, 0, tex.width, tex.height), Vector2.zero, 160, 0, SpriteMeshType.FullRect);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public void OnClick() {
|
public void OnClick() {
|
||||||
|
|||||||
@@ -6,47 +6,42 @@ using UnityEngine.UI;
|
|||||||
|
|
||||||
namespace Cryville.Crtr.Browsing.UI {
|
namespace Cryville.Crtr.Browsing.UI {
|
||||||
public class DetailPanel : ResourceBrowserUnit {
|
public class DetailPanel : ResourceBrowserUnit {
|
||||||
#pragma warning disable IDE0044
|
|
||||||
[SerializeField]
|
[SerializeField]
|
||||||
private Sprite m_coverPlaceholder;
|
Sprite m_coverPlaceholder;
|
||||||
#pragma warning restore IDE0044
|
[SerializeField]
|
||||||
|
GameObject m_placeholder;
|
||||||
|
[SerializeField]
|
||||||
|
GameObject m_content;
|
||||||
|
[SerializeField]
|
||||||
|
Image m_cover;
|
||||||
|
[SerializeField]
|
||||||
|
TMP_Text m_title;
|
||||||
|
[SerializeField]
|
||||||
|
TMP_Text m_desc;
|
||||||
|
|
||||||
int _id;
|
int _id;
|
||||||
ChartDetail _data;
|
ChartDetail _data;
|
||||||
GameObject _placeholder;
|
|
||||||
GameObject _outerContent;
|
|
||||||
Transform _content;
|
|
||||||
Image _cover;
|
|
||||||
TMP_Text _title;
|
|
||||||
TMP_Text _desc;
|
|
||||||
|
|
||||||
protected override void Awake() {
|
protected override void Awake() {
|
||||||
base.Awake();
|
|
||||||
_placeholder = transform.Find("__placeholder__").gameObject;
|
|
||||||
_outerContent = transform.Find("__content__").gameObject;
|
|
||||||
_content = _outerContent.transform.Find("__content__");
|
|
||||||
_cover = _content.Find("Cover").GetComponent<Image>();
|
|
||||||
_title = _content.Find("Texts/Title").GetComponent<TMP_Text>();
|
|
||||||
_desc = _content.Find("Texts/Description").GetComponent<TMP_Text>();
|
|
||||||
}
|
}
|
||||||
void OnDestroy() {
|
void OnDestroy() {
|
||||||
if (_data.Cover != null) _data.Cover.Cancel();
|
if (_data.Cover != null) _data.Cover.Cancel();
|
||||||
if (_cover.sprite != null && _cover.sprite != m_coverPlaceholder) {
|
if (m_cover.sprite != null && m_cover.sprite != m_coverPlaceholder) {
|
||||||
Texture2D.Destroy(_cover.sprite.texture);
|
Destroy(m_cover.sprite.texture);
|
||||||
Sprite.Destroy(_cover.sprite);
|
Destroy(m_cover.sprite);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public void Load(int id, ChartDetail data) {
|
public void Load(int id, ChartDetail data) {
|
||||||
_id = id;
|
_id = id;
|
||||||
_placeholder.SetActive(false);
|
m_placeholder.SetActive(false);
|
||||||
_outerContent.SetActive(true);
|
m_content.SetActive(true);
|
||||||
OnDestroy();
|
OnDestroy();
|
||||||
_data = data;
|
_data = data;
|
||||||
_cover.sprite = m_coverPlaceholder;
|
m_cover.sprite = m_coverPlaceholder;
|
||||||
if (data.Cover != null) data.Cover.Destination = DisplayCover;
|
if (data.Cover != null) data.Cover.Destination = DisplayCover;
|
||||||
var meta = data.Meta;
|
var meta = data.Meta;
|
||||||
_title.text = string.Format("{0}\n{1}", meta.song.name, meta.name);
|
m_title.text = string.Format("{0}\n{1}", meta.song.name, meta.name);
|
||||||
_desc.text = string.Format(
|
m_desc.text = string.Format(
|
||||||
"Music artist: {0}\nCharter: {1}\nLength: {2}\nNote Count: {3}",
|
"Music artist: {0}\nCharter: {1}\nLength: {2}\nNote Count: {3}",
|
||||||
meta.song.author, meta.author,
|
meta.song.author, meta.author,
|
||||||
TimeSpan.FromSeconds(meta.length).ToString(3), meta.note_count
|
TimeSpan.FromSeconds(meta.length).ToString(3), meta.note_count
|
||||||
@@ -54,7 +49,7 @@ namespace Cryville.Crtr.Browsing.UI {
|
|||||||
}
|
}
|
||||||
private void DisplayCover(bool succeeded, Texture2D tex) {
|
private void DisplayCover(bool succeeded, Texture2D tex) {
|
||||||
if (succeeded) {
|
if (succeeded) {
|
||||||
_cover.sprite = Sprite.Create(tex, new Rect(0, 0, tex.width, tex.height), Vector2.zero, 160, 0, SpriteMeshType.FullRect);
|
m_cover.sprite = Sprite.Create(tex, new Rect(0, 0, tex.width, tex.height), Vector2.zero, 160, 0, SpriteMeshType.FullRect);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public void OnPlay() {
|
public void OnPlay() {
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
using Cryville.Common.Unity.UI;
|
|
||||||
using Cryville.Crtr.Config.UI;
|
using Cryville.Crtr.Config.UI;
|
||||||
using Cryville.Crtr.UI;
|
using Cryville.Crtr.UI;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
@@ -14,57 +13,32 @@ namespace Cryville.Crtr.Browsing.UI {
|
|||||||
private Button m_configButton;
|
private Button m_configButton;
|
||||||
[SerializeField]
|
[SerializeField]
|
||||||
private ConfigPanelMaster m_configPanel;
|
private ConfigPanelMaster m_configPanel;
|
||||||
|
[SerializeField]
|
||||||
|
private PathedResourceBrowser m_mainBrowser;
|
||||||
|
[SerializeField]
|
||||||
|
private DetailPanel m_detailPanel;
|
||||||
|
|
||||||
private DockLayoutGroup _group;
|
|
||||||
public ResourceBrowser MainBrowser { get; private set; }
|
|
||||||
private DetailPanel _detailPanel;
|
|
||||||
readonly List<ResourceBrowserUnit> _units = new List<ResourceBrowserUnit>();
|
readonly List<ResourceBrowserUnit> _units = new List<ResourceBrowserUnit>();
|
||||||
|
|
||||||
#pragma warning disable IDE0051
|
|
||||||
void Awake() {
|
void Awake() {
|
||||||
_group = GetComponent<DockLayoutGroup>();
|
m_mainBrowser.ResourceManager = new LegacyResourceManager(Settings.Default.GameDataPath);
|
||||||
MainBrowser = transform.GetChild(0).GetComponent<ResourceBrowser>();
|
|
||||||
MainBrowser.ResourceManager = new LegacyResourceManager(Settings.Default.GameDataPath);
|
|
||||||
_detailPanel = transform.GetChild(1).GetComponent<DetailPanel>();
|
|
||||||
_units.Add(MainBrowser);
|
_units.Add(MainBrowser);
|
||||||
_units.Add(_detailPanel);
|
_units.Add(_detailPanel);
|
||||||
}
|
}
|
||||||
|
|
||||||
int _slideDest = 0;
|
|
||||||
void Update() {
|
|
||||||
var cv = _group.SlideIndex;
|
|
||||||
_group.SlideIndex = (cv - _slideDest) * 0.86f + _slideDest;
|
|
||||||
}
|
|
||||||
#pragma warning restore IDE0051
|
|
||||||
|
|
||||||
public void ShowDetail(int id, ChartDetail detail) {
|
public void ShowDetail(int id, ChartDetail detail) {
|
||||||
SlideIntoView(1);
|
// SlideIntoView(1);
|
||||||
_detailPanel.Load(id, detail);
|
m_detailPanel.Load(id, detail);
|
||||||
m_playButton.gameObject.SetActive(true);
|
m_playButton.gameObject.SetActive(true);
|
||||||
m_configButton.gameObject.SetActive(true);
|
m_configButton.gameObject.SetActive(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*[Obsolete]
|
|
||||||
public void ShowSettings(int id, ChartDetail detail) {
|
|
||||||
SlideIntoView(2);
|
|
||||||
_settingsPanel.Load(id, detail);
|
|
||||||
}*/
|
|
||||||
|
|
||||||
public bool Back() {
|
public bool Back() {
|
||||||
if (_slideDest == 0) return false;
|
// if (_slideDest == 0) return false;
|
||||||
SlideIntoView(_slideDest - 1);
|
// SlideIntoView(_slideDest - 1);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void SlideIntoView(int v) {
|
|
||||||
v = Mathf.Clamp(v, 0, _units.Count - 1);
|
|
||||||
var cv = _group.SlideIndex;
|
|
||||||
if (cv < v) _slideDest = v - 1;
|
|
||||||
else _slideDest = v;
|
|
||||||
_units[_slideDest].SlideToLeft();
|
|
||||||
_units[_slideDest + 1].SlideToRight();
|
|
||||||
}
|
|
||||||
|
|
||||||
public void Open(int id, ChartDetail detail) {
|
public void Open(int id, ChartDetail detail) {
|
||||||
SetDataSettings(id, detail);
|
SetDataSettings(id, detail);
|
||||||
#if UNITY_5_3_OR_NEWER
|
#if UNITY_5_3_OR_NEWER
|
||||||
@@ -85,7 +59,7 @@ namespace Cryville.Crtr.Browsing.UI {
|
|||||||
void SetDataSettings(int id, ChartDetail detail) {
|
void SetDataSettings(int id, ChartDetail detail) {
|
||||||
Settings.Default.LoadRuleset = detail.Meta.ruleset + "/.umgr";
|
Settings.Default.LoadRuleset = detail.Meta.ruleset + "/.umgr";
|
||||||
Settings.Default.LoadRulesetConfig = detail.Meta.ruleset + ".json";
|
Settings.Default.LoadRulesetConfig = detail.Meta.ruleset + ".json";
|
||||||
Settings.Default.LoadChart = MainBrowser.ResourceManager.GetItemPath(id);
|
Settings.Default.LoadChart = m_mainBrowser.ResourceManager.GetItemPath(id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,6 +22,8 @@ namespace Cryville.Crtr.UI {
|
|||||||
TMP_Text m_title;
|
TMP_Text m_title;
|
||||||
[SerializeField]
|
[SerializeField]
|
||||||
GameObject[] m_backBlockingObjects;
|
GameObject[] m_backBlockingObjects;
|
||||||
|
[SerializeField]
|
||||||
|
GameObject m_contents;
|
||||||
#pragma warning restore IDE0044
|
#pragma warning restore IDE0044
|
||||||
|
|
||||||
int frameIndex = 2;
|
int frameIndex = 2;
|
||||||
@@ -30,7 +32,7 @@ namespace Cryville.Crtr.UI {
|
|||||||
#pragma warning disable IDE0051
|
#pragma warning disable IDE0051
|
||||||
void Awake() {
|
void Awake() {
|
||||||
Game.Init();
|
Game.Init();
|
||||||
transform.parent.Find("Canvas/Contents").gameObject.SetActive(true);
|
m_contents.SetActive(true);
|
||||||
m_settingsPanel.Adapter = new DefaultPropertyMasterAdapter(Settings.Default);
|
m_settingsPanel.Adapter = new DefaultPropertyMasterAdapter(Settings.Default);
|
||||||
PushTitle("Chart Browser");
|
PushTitle("Chart Browser");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2674,6 +2674,7 @@ MonoBehaviour:
|
|||||||
m_backBlockingObjects:
|
m_backBlockingObjects:
|
||||||
- {fileID: 1280379386}
|
- {fileID: 1280379386}
|
||||||
- {fileID: 202309097}
|
- {fileID: 202309097}
|
||||||
|
m_contents: {fileID: 221975151}
|
||||||
--- !u!4 &444982126
|
--- !u!4 &444982126
|
||||||
Transform:
|
Transform:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|||||||
Reference in New Issue
Block a user