Files
UltimateFishing/Assets/Scripts/Assembly-CSharp/EquipmentTileView.cs
2026-02-21 16:45:37 +08:00

83 lines
2.4 KiB
C#

using System;
using System.Collections.Generic;
using EasyLayout;
using UIWidgets;
using UnityEngine;
public class EquipmentTileView : TileView<EquipmentTileViewComponent, EquipmentTileViewItem>
{
public EquipmentGUI equipmentGui;
public EquipmentTileViewParameters equipmentTileViewParameters;
private bool isStartedTileViewSample;
private Comparison<EquipmentTileViewItem> itemsComparison = (EquipmentTileViewItem x, EquipmentTileViewItem y) => x.equipmentName.CompareTo(y.equipmentName);
public List<EquipmentTileViewComponent> equipmentTileViewComponents = new List<EquipmentTileViewComponent>();
protected override void Awake()
{
equipmentTileViewParameters = GetComponent<EquipmentTileViewParameters>();
equipmentGui = base.transform.parent.parent.parent.parent.parent.parent.parent.GetComponent<EquipmentGUI>();
Start();
}
public override void Start()
{
if (!isStartedTileViewSample)
{
isStartedTileViewSample = true;
base.Start();
base.DataSource.Comparison = null;
}
}
protected override void SetData(EquipmentTileViewComponent component, EquipmentTileViewItem item)
{
component.SetData(item);
equipmentTileViewComponents.Add(component);
component.GetComponent<RectTransform>().localRotation = Quaternion.identity;
}
public void RefreshTileViewComponents()
{
for (int i = 0; i < equipmentTileViewComponents.Count; i++)
{
equipmentTileViewComponents[i].Refresh();
}
}
public void ShowOnlyBought(bool onlyBought)
{
Container.GetComponent<global::EasyLayout.EasyLayout>().RepositionUIElements();
Container.GetComponent<global::EasyLayout.EasyLayout>().OnRectTransformRemoved();
Container.GetComponent<global::EasyLayout.EasyLayout>().UpdateLayout();
OnScrollRectUpdate(Vector2.zero);
OnScrollRectUpdate(Vector2.one);
UpdateView();
ScrollUpdate();
CalculateMaxVisibleItems();
SetNeedResize();
ForEachComponent(base.MarkLayoutForRebuild);
}
protected override void HighlightColoring(EquipmentTileViewComponent component)
{
base.HighlightColoring(component);
component.equipmentName.color = HighlightedColor;
}
protected override void SelectColoring(EquipmentTileViewComponent component)
{
base.SelectColoring(component);
component.equipmentName.color = base.SelectedColor;
}
protected override void DefaultColoring(EquipmentTileViewComponent component)
{
base.DefaultColoring(component);
component.equipmentName.color = base.DefaultColor;
}
}