Files
MinFt/Client/Assets/Scripts/UI/Appearance/SkinRodItem.cs
Liubing\LB 3d8d4d18f3 first commit
先修复一下,错误的场景

删除不必要的钓场资产

修复into场景

update:更新meta文件,修复报错

update:修复资源

修复第一章节建造

修复建造第三章

update:删除多余内容

update:更新README.md

update:还原图标

update:更新README

update:更新配置
2026-04-28 02:17:22 +08:00

100 lines
2.8 KiB
C#

using asap.core;
using cfg;
using GameCore;
using System;
using System.Collections.Generic;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
public class SkinRodItem : MonoBehaviour
{
Image bg;
Image img_icon;
Button btn_item;
GameObject mask_empty;
TMP_Text text_level;
GameObject selected;
Transform star;
List<GameObject> star_empty_list;
List<Image> star_empty_image;
List<StarItem> starList = new List<StarItem>();
public SkinRodItemData data;
public Action<SkinRodItem> onClick;
private void Awake()
{
bg = transform.Find("rod/bg").GetComponent<Image>();
img_icon = transform.Find("rod/img_map").GetComponent<Image>();
btn_item = GetComponent<Button>();
mask_empty = transform.Find("rod/mask_empty").gameObject;
text_level = transform.Find("rod/text_level").GetComponent<TMP_Text>();
selected = transform.Find("selected").gameObject;
star = transform.Find("rod/star");
star_empty_list = new List<GameObject>();
star_empty_image = new List<Image>();
for (int i = 1; i <= 5; i++)
{
starList.Add(star.Find($"star/star{i}").GetComponent<StarItem>());
star_empty_list.Add(star.Find($"star_empty/star{i}").gameObject);
star_empty_image.Add(star.Find($"star_empty/star{i}/star").GetComponent<Image>());
}
SetSelected(false);
}
private void Start()
{
btn_item.onClick.AddListener(OnBtnItem);
}
public void Init(SkinRodItemData _data)
{
IUIService uIService = GContext.container.Resolve<IUIService>();
data = _data;
mask_empty.SetActive(data.isLock);
text_level.gameObject.SetActive(!data.isLock);
star.gameObject.SetActive(!data.isLock);
if (!data.isLock)
{
SetLevel();
SetStar();
}
uIService.SetImageSprite(bg, Define.sp_rod_card[data.quality - 1], BasePanel.PanelName);
uIService.SetImageSprite(img_icon, data.avatar, BasePanel.PanelName);
}
void OnBtnItem()
{
onClick?.Invoke(this);
}
public void SetLevel()
{
text_level.gameObject.SetActive(!data.isLock);
text_level.text = data.level.ToString();
}
void SetStar()
{
int star = data.start;
var curRodAscend = GContext.container.Resolve<Tables>().TbRodAscend.GetOrDefault(data.ascendID);
PlayerFishData.SetRodStar(star, curRodAscend.MaxAscent, star_empty_list, star_empty_image, starList);
}
public void SetSelected(bool value)
{
selected.SetActive(value);
}
}
public class SkinRodItemData
{
public int id;
public int level;
public int start;
public string avatar;
public bool isEquiped;
public bool isLock;
public int ascendID;
public int quality;
}