2025-01-30 23:38:06 +01:00

88 lines
3.7 KiB
C#

using UnityEngine;
namespace Michsky.MUIP
{
public class ListViewItem : MonoBehaviour
{
[Header("Settings")]
public ListViewRow row0;
public ListViewRow row1;
public ListViewRow row2;
[Header("References")]
public ListView.RowCount rowCount;
public ListView.ListRow row0Ref;
public ListView.ListRow row1Ref;
public ListView.ListRow row2Ref;
public void PassReferences()
{
if (rowCount == ListView.RowCount.One) { row0.gameObject.SetActive(true); row1.gameObject.SetActive(false); row2.gameObject.SetActive(false); }
else if (rowCount == ListView.RowCount.Two) { row0.gameObject.SetActive(true); row1.gameObject.SetActive(true); row2.gameObject.SetActive(false); }
else if (rowCount == ListView.RowCount.Three) { row0.gameObject.SetActive(true); row1.gameObject.SetActive(true); row2.gameObject.SetActive(true); }
// Row 1
if (row0Ref.rowType == ListView.RowType.Icon)
{
row0.iconImage.sprite = row0Ref.rowIcon;
row0.iconImage.gameObject.SetActive(true);
row0.textObject.gameObject.SetActive(false);
row0.iconImage.transform.localScale = new Vector3(row0Ref.iconScale, row0Ref.iconScale, row0Ref.iconScale);
}
else if (row0Ref.rowType == ListView.RowType.Text)
{
row0.textObject.text = row0Ref.rowText;
row0.iconImage.gameObject.SetActive(false);
row0.textObject.gameObject.SetActive(true);
}
if (row0Ref.usePreferredWidth == true) { row0.layoutElement.preferredWidth = row0Ref.preferredWidth; }
else { row0.layoutElement.preferredWidth = -1; }
// Row 2
if (row1Ref == null)
return;
if (row1Ref.rowType == ListView.RowType.Icon)
{
row1.iconImage.sprite = row1Ref.rowIcon;
row1.iconImage.gameObject.SetActive(true);
row1.textObject.gameObject.SetActive(false);
row1.iconImage.transform.localScale = new Vector3(row1Ref.iconScale, row1Ref.iconScale, row1Ref.iconScale);
}
else if (row1Ref.rowType == ListView.RowType.Text)
{
row1.textObject.text = row1Ref.rowText;
row1.iconImage.gameObject.SetActive(false);
row1.textObject.gameObject.SetActive(true);
}
if (row1Ref.usePreferredWidth == true) { row1.layoutElement.preferredWidth = row1Ref.preferredWidth; }
else { row1.layoutElement.preferredWidth = -1; }
// Row 3
if (row2Ref == null)
return;
if (row2Ref.rowType == ListView.RowType.Icon)
{
row2.iconImage.sprite = row2Ref.rowIcon;
row2.iconImage.gameObject.SetActive(true);
row2.textObject.gameObject.SetActive(false);
row2.iconImage.transform.localScale = new Vector3(row2Ref.iconScale, row2Ref.iconScale, row2Ref.iconScale);
}
else if (row2Ref.rowType == ListView.RowType.Text)
{
row2.textObject.text = row2Ref.rowText;
row2.iconImage.gameObject.SetActive(false);
row2.textObject.gameObject.SetActive(true);
}
if (row2Ref.usePreferredWidth == true) { row2.layoutElement.preferredWidth = row2Ref.preferredWidth; }
else { row2.layoutElement.preferredWidth = -1; }
}
}
}