先修复一下,错误的场景 删除不必要的钓场资产 修复into场景 update:更新meta文件,修复报错 update:修复资源 修复第一章节建造 修复建造第三章 update:删除多余内容 update:更新README.md update:还原图标 update:更新README update:更新配置
111 lines
3.7 KiB
C#
111 lines
3.7 KiB
C#
using asap.core;
|
|
using cfg;
|
|
using GameCore;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
|
|
public class HomeBeilvPanel : MonoBehaviour
|
|
{
|
|
public Button btn_close;
|
|
public List<BeilvItem> beilv_special;
|
|
public List<BeilvItem> beilv_normal;
|
|
public Action<BeilvItem> OnBeilvClick;
|
|
PlayerData playerData;
|
|
Tables _tables;
|
|
public void Init()
|
|
{
|
|
playerData = GContext.container.Resolve<PlayerData>();
|
|
_tables = GContext.container.Resolve<Tables>();
|
|
for (int i = 0; i < beilv_special.Count; i++)
|
|
{
|
|
BeilvItem index = beilv_special[i];
|
|
beilv_special[i].btn.onClick.AddListener(() =>
|
|
{
|
|
OnClick(index);
|
|
});
|
|
}
|
|
for (int i = 0; i < beilv_normal.Count; i++)
|
|
{
|
|
BeilvItem index = beilv_normal[i];
|
|
beilv_normal[i].btn.onClick.AddListener(() =>
|
|
{
|
|
OnClick(index);
|
|
});
|
|
}
|
|
btn_close.onClick.AddListener(() =>
|
|
{
|
|
gameObject.SetActive(false);
|
|
});
|
|
}
|
|
public void OnShow()
|
|
{
|
|
var DataList = _tables.TbEnergyDef.DataList;
|
|
int normalCount = beilv_normal.Count;
|
|
int Mag;
|
|
int energy = playerData.Energy;
|
|
int index = 0;
|
|
var buffTimeData = GContext.container.Resolve<BuffDataCenter>().GetWeelyBuffTimeData<SuperEnergyMag>();
|
|
bool isSuperEnergy = buffTimeData != null;
|
|
|
|
for (int i = 0; i < DataList.Count; i++)
|
|
{
|
|
int demandEnergy = DataList[i].Energy;
|
|
if (isSuperEnergy)
|
|
{
|
|
demandEnergy = DataList[i].FishBuffEnergy;
|
|
}
|
|
Mag = DataList[i].Mag;
|
|
if (i < normalCount)
|
|
{
|
|
beilv_normal[i].beilvIndex = i;
|
|
beilv_normal[i].beilv = Mag;
|
|
beilv_normal[i].text_beilv.text = $"x{Mag}";
|
|
beilv_normal[i].isLock = energy < demandEnergy;
|
|
beilv_normal[i].isShow = true;
|
|
}
|
|
if (DataList[i].Energy == -1 && index < beilv_special.Count)
|
|
{
|
|
beilv_special[index].beilvIndex = i;
|
|
beilv_special[index].beilv = Mag;
|
|
beilv_special[index].text_beilv.text = $"x{Mag}";
|
|
beilv_special[index].isLock = energy < demandEnergy;
|
|
beilv_special[index].isShow = isSuperEnergy;
|
|
index++;
|
|
}
|
|
}
|
|
SetSelect();
|
|
}
|
|
void SetSelect()
|
|
{
|
|
int normalCount = _tables.TbEnergyDef.DataList.Where(x => x.Energy != -1).Count();
|
|
for (int i = 0; i < beilv_normal.Count; i++)
|
|
{
|
|
if (beilv_normal[i].isShow)
|
|
{
|
|
beilv_normal[i].bg_selected.gameObject.SetActive(playerData.magnification == i);
|
|
beilv_normal[i].bg_normal.SetActive(!beilv_normal[i].isLock);
|
|
beilv_normal[i].bg_gray.SetActive(beilv_normal[i].isLock);
|
|
}
|
|
beilv_normal[i].gameObject.SetActive(beilv_normal[i].isShow);
|
|
}
|
|
|
|
for (int i = 0; i < beilv_special.Count; i++)
|
|
{
|
|
if (beilv_special[i].isShow)
|
|
{
|
|
beilv_special[i].bg_selected.gameObject.SetActive(playerData.magnification - normalCount == i);
|
|
beilv_special[i].bg_normal.SetActive(!beilv_special[i].isLock);
|
|
beilv_special[i].bg_gray.SetActive(beilv_special[i].isLock);
|
|
}
|
|
beilv_special[i].gameObject.SetActive(beilv_special[i].isShow);
|
|
}
|
|
}
|
|
public void OnClick(BeilvItem beilv)
|
|
{
|
|
OnBeilvClick?.Invoke(beilv);
|
|
}
|
|
}
|