Restructure resource browsers.
This commit is contained in:
@@ -19,26 +19,16 @@ namespace Cryville.Crtr.Browsing.UI {
|
||||
[SerializeField]
|
||||
TMP_Text m_desc;
|
||||
|
||||
ResourceBrowserMaster _master;
|
||||
|
||||
int _id;
|
||||
ChartDetail _data;
|
||||
|
||||
void Awake() {
|
||||
_master = GetComponentInParent<ResourceBrowserMaster>();
|
||||
}
|
||||
void OnDestroy() {
|
||||
if (_data.Cover != null) _data.Cover.Cancel();
|
||||
if (m_cover.sprite != null && m_cover.sprite != m_coverPlaceholder) {
|
||||
Destroy(m_cover.sprite.texture);
|
||||
Destroy(m_cover.sprite);
|
||||
}
|
||||
DestroyDynamicResources();
|
||||
}
|
||||
public void Load(int id, ChartDetail data) {
|
||||
_id = id;
|
||||
|
||||
public void Load(ChartDetail data) {
|
||||
m_placeholder.SetActive(false);
|
||||
m_content.SetActive(true);
|
||||
OnDestroy();
|
||||
DestroyDynamicResources();
|
||||
_data = data;
|
||||
m_cover.sprite = m_coverPlaceholder;
|
||||
if (data.Cover != null) data.Cover.Destination = DisplayCover;
|
||||
@@ -56,16 +46,18 @@ namespace Cryville.Crtr.Browsing.UI {
|
||||
m_desc.text = string.Empty;
|
||||
}
|
||||
}
|
||||
private void DisplayCover(bool succeeded, Texture2D tex) {
|
||||
void DisplayCover(bool succeeded, Texture2D tex) {
|
||||
if (succeeded) {
|
||||
m_cover.sprite = Sprite.Create(tex, new Rect(0, 0, tex.width, tex.height), Vector2.zero, 160, 0, SpriteMeshType.FullRect);
|
||||
}
|
||||
}
|
||||
public void OnPlay() {
|
||||
_master.Open(_id, _data);
|
||||
}
|
||||
public void OnConfig() {
|
||||
_master.OpenConfig(_id, _data);
|
||||
|
||||
void DestroyDynamicResources() {
|
||||
if (_data.Cover != null) _data.Cover.Cancel();
|
||||
if (m_cover.sprite != null && m_cover.sprite != m_coverPlaceholder) {
|
||||
Destroy(m_cover.sprite.texture);
|
||||
Destroy(m_cover.sprite);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user