目录
14、太阳花UI功能实现
将太阳保存成预制体
同时在GameConf中添加这个预制体
创建一个管理植物的脚本
由于忘了在管理类GridManager.cs中添加单例模式,所以加上
在UIPlantGrid.cs中更新代码
……
public class UIPlantGrid : MonoBehaviour,IPointerEnterHandler,IPointerExitHandler,IPointerClickHandler
{
……
// 是否可以放置植物
private bool canPlace;
// 是否需要放置植物
private bool wantPlace;
// 用来创建的植物
private GameObject plant;
// 在网格中的植物,是透明的
private GameObject plantInGrid;
public PlantType cardPlantType; // 当前卡片所对应的植物类型
// CanPlace被修改时执行
public bool CanPlace
{
get => canPlace;
set
{
canPlace = value;
if (!canPlace)
{
// 完全遮住,表示不可以控制
maskImg.fillAmount = 1;
// 开始冷却
CDEnter();
}
else
{
maskImg.fillAmount = 0;
}
}
}
// wantPlace被修改时执行
public bool WantPlace
{
get => wantPlace;
set
{
wantPlace = value;
if (wantPlace)
{
// 获取预制体
GameObject tmpPlant = PlantManager.instance.GetPlantForType(PlantType.SunFlower);