- using Godot;
-
- namespace UI.Encyclopedia;
-
- public class TabCell : UiCell<Encyclopedia.TabButton, TabData>
- {
- //选中时页签显示的纹理
- private const string SelectTexture = ResourcePath.resource_sprite_ui_encyclopedia_TabSelect_png;
- private static Texture2D _selectTexture;
-
- private static Texture2D GetSelectTexture()
- {
- if (_selectTexture == null)
- {
- _selectTexture = ResourceManager.LoadTexture2D(SelectTexture);
- }
-
- return _selectTexture;
- }
-
-
- private float _startY;
- private Texture2D _originTexture;
-
- public override void OnInit()
- {
- _originTexture = CellNode.Instance.TextureNormal;
- }
-
- public override void OnSetData(TabData data)
- {
- CellNode.L_Icon.Instance.Texture = ResourceManager.LoadTexture2D(data.Icon);
- var position = CellNode.L_Icon.Instance.Position;
- _startY = position.Y;
- }
-
- public override void OnClick()
- {
- Grid.SelectIndex = Index;
- }
-
- public override void OnSelect()
- {
- CellNode.Instance.TextureNormal = GetSelectTexture();
- CellNode.L_Icon.Instance.Position = new Vector2(CellNode.L_Icon.Instance.Position.X, _startY - 12);
- CellNode.UiPanel.SelectTab(Data.Type);
- }
-
- public override void OnUnSelect()
- {
- CellNode.Instance.TextureNormal = _originTexture;
- CellNode.L_Icon.Instance.Position = new Vector2(CellNode.L_Icon.Instance.Position.X, _startY);
- }
- }