Inspection tray: framed label panel with bright text, flip button at the bottom
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
b359a00789
commit
fe72ec0577
1 file changed
+24
-8
@@ -16,7 +16,7 @@ namespace Decentralized
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public sealed class GpuInspectView : MonoBehaviour
|
public sealed class GpuInspectView : MonoBehaviour
|
||||||
{
|
{
|
||||||
private const float RowH = 34f, CardScale = 3f;
|
private const float RowH = 30f, CardScale = 3f;
|
||||||
private static GpuInspectView instance;
|
private static GpuInspectView instance;
|
||||||
private RectTransform root, cardRoot;
|
private RectTransform root, cardRoot;
|
||||||
private Button flip;
|
private Button flip;
|
||||||
@@ -98,6 +98,18 @@ namespace Decentralized
|
|||||||
|
|
||||||
private static bool HasLabeler() => EmporiumEntry.Instance != null && EmporiumEntry.Instance.GetAllOwnedItemsByTag("LABELER_TAG").Count > 0;
|
private static bool HasLabeler() => EmporiumEntry.Instance != null && EmporiumEntry.Instance.GetAllOwnedItemsByTag("LABELER_TAG").Count > 0;
|
||||||
|
|
||||||
|
private static void MakeRect(Transform parent, string name, Vector2 pos, Vector2 size, Color color)
|
||||||
|
{
|
||||||
|
var go = new GameObject(name, typeof(RectTransform), typeof(Image));
|
||||||
|
var rt = go.GetComponent<RectTransform>();
|
||||||
|
rt.SetParent(parent, false);
|
||||||
|
rt.sizeDelta = size;
|
||||||
|
rt.localPosition = pos;
|
||||||
|
var img = go.GetComponent<Image>();
|
||||||
|
img.color = color;
|
||||||
|
img.raycastTarget = false;
|
||||||
|
}
|
||||||
|
|
||||||
private TextMeshProUGUI MakeText(Transform parent, string name, Vector2 pos, Vector2 size, TextAlignmentOptions align, float fontSize)
|
private TextMeshProUGUI MakeText(Transform parent, string name, Vector2 pos, Vector2 size, TextAlignmentOptions align, float fontSize)
|
||||||
{
|
{
|
||||||
var go = new GameObject(name, typeof(RectTransform), typeof(TextMeshProUGUI));
|
var go = new GameObject(name, typeof(RectTransform), typeof(TextMeshProUGUI));
|
||||||
@@ -148,14 +160,17 @@ namespace Decentralized
|
|||||||
buttonTemplate = m.appraisalPanel.transform.Find("buttonSend");
|
buttonTemplate = m.appraisalPanel.transform.Find("buttonSend");
|
||||||
if (buttonTemplate == null) return;
|
if (buttonTemplate == null) return;
|
||||||
font = buttonTemplate.GetComponentInChildren<TextMeshProUGUI>()?.font;
|
font = buttonTemplate.GetComponentInChildren<TextMeshProUGUI>()?.font;
|
||||||
flip = MakeButton(root, "Flip", new Vector2(-230, 312), new Vector2(160, 34), out flipText);
|
// 标签区:深色底加浅色边框,和上面的大图分开
|
||||||
|
MakeRect(root, "LabelFrame", new Vector2(0, -201), new Vector2(648, 194), new Color(0.78f, 0.68f, 0.45f, 1f));
|
||||||
|
MakeRect(root, "LabelBack", new Vector2(0, -201), new Vector2(640, 186), new Color(0.10f, 0.11f, 0.14f, 0.96f));
|
||||||
|
flip = MakeButton(root, "Flip", new Vector2(0, -326), new Vector2(200, 34), out flipText);
|
||||||
flip.onClick.AddListener(() => { if (shown != null) Items.Flip(shown); });
|
flip.onClick.AddListener(() => { if (shown != null) Items.Flip(shown); });
|
||||||
for (int i = 0; i < 6; i++)
|
for (int i = 0; i < 6; i++)
|
||||||
{
|
{
|
||||||
int row = CardLabels.Rows[i];
|
int row = CardLabels.Rows[i];
|
||||||
float y = -128 - i * RowH;
|
float y = -126 - i * RowH;
|
||||||
rowName[i] = MakeText(root, "RowName" + i, new Vector2(-262, y), new Vector2(110, RowH), TextAlignmentOptions.Left, 22);
|
rowName[i] = MakeText(root, "RowName" + i, new Vector2(-255, y), new Vector2(110, RowH), TextAlignmentOptions.Left, 24);
|
||||||
rowText[i] = MakeText(root, "RowText" + i, new Vector2(-30, y), new Vector2(330, RowH), TextAlignmentOptions.Left, 22);
|
rowText[i] = MakeText(root, "RowText" + i, new Vector2(-30, y), new Vector2(330, RowH), TextAlignmentOptions.Left, 24);
|
||||||
rowButton[i] = MakeButton(root, "RowButton" + i, new Vector2(245, y), new Vector2(110, RowH - 4), out rowButtonText[i]);
|
rowButton[i] = MakeButton(root, "RowButton" + i, new Vector2(245, y), new Vector2(110, RowH - 4), out rowButtonText[i]);
|
||||||
rowButton[i].onClick.AddListener(() => Log.Guard("标签栏", () => OnRowButton(row)));
|
rowButton[i].onClick.AddListener(() => Log.Guard("标签栏", () => OnRowButton(row)));
|
||||||
}
|
}
|
||||||
@@ -188,8 +203,9 @@ namespace Decentralized
|
|||||||
{
|
{
|
||||||
int row = CardLabels.Rows[i];
|
int row = CardLabels.Rows[i];
|
||||||
rowName[i].text = RowName(row);
|
rowName[i].text = RowName(row);
|
||||||
|
rowName[i].color = new Color(1f, 0.85f, 0.45f);
|
||||||
string text;
|
string text;
|
||||||
Color color = Color.white;
|
Color color = new Color(0.96f, 0.98f, 1f);
|
||||||
if (claim == null)
|
if (claim == null)
|
||||||
{
|
{
|
||||||
text = row == CardLabels.RowSpec ? DisplayModel(real.Model) : ValueText(row, real.Get(row));
|
text = row == CardLabels.RowSpec ? DisplayModel(real.Model) : ValueText(row, real.Get(row));
|
||||||
@@ -199,8 +215,8 @@ namespace Decentralized
|
|||||||
int r = row == CardLabels.RowSpec ? 0 : real.Get(row);
|
int r = row == CardLabels.RowSpec ? 0 : real.Get(row);
|
||||||
text = row == CardLabels.RowSpec ? DisplayModel(real.Model) : ValueText(row, r);
|
text = row == CardLabels.RowSpec ? DisplayModel(real.Model) : ValueText(row, r);
|
||||||
bool lied = row == CardLabels.RowSpec ? claim.Value.Model != real.Model : claim.Value.Get(row) != r;
|
bool lied = row == CardLabels.RowSpec ? claim.Value.Model != real.Model : claim.Value.Get(row) != r;
|
||||||
if (lied) { color = new Color(0.95f, 0.5f, 0.45f); text += L.T("lbl.said", row == CardLabels.RowSpec ? DisplayModel(claim.Value.Model) : ValueText(row, claim.Value.Get(row))); }
|
if (lied) { color = new Color(1f, 0.45f, 0.4f); text += L.T("lbl.said", row == CardLabels.RowSpec ? DisplayModel(claim.Value.Model) : ValueText(row, claim.Value.Get(row))); }
|
||||||
else color = new Color(0.55f, 0.85f, 0.55f);
|
else color = new Color(0.5f, 1f, 0.55f);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in new issue
Block a user