using System.Collections.Generic;
|
using UnityEngine;
|
|
public class GuildAtkDefBatTreasureCell : CellView
|
{
|
[SerializeField] GuildAtkDefBatTreasureGrid[] grids; // 绑定5个格子
|
|
/// <summary>
|
/// 设置本行数据
|
/// </summary>
|
/// <param name="startIndex">起始格子序号(从1开始)</param>
|
/// <param name="gridCount">总格子数</param>
|
/// <param name="isWin">是否胜利</param>
|
/// <param name="openedGrids">已开启的格子字典 Key=格子编号, Value=AwardID</param>
|
/// <param name="openAnimGridIndex">播放开启动画的格子编号(0=无)</param>
|
public void SetData(int startIndex, int gridCount, bool isWin, Dictionary<int, int> openedGrids, int openAnimGridIndex = 0)
|
{
|
for (int i = 0; i < grids.Length; i++)
|
{
|
int gridIndex = startIndex + i;
|
if (gridIndex <= gridCount)
|
{
|
grids[i].SetActive(true);
|
int awardID = 0;
|
bool isOpened = openedGrids != null && openedGrids.TryGetValue(gridIndex, out awardID);
|
bool playAnim = openAnimGridIndex > 0 && gridIndex == openAnimGridIndex;
|
grids[i].Init(gridIndex, isWin, isOpened, (ushort)awardID, playAnim);
|
}
|
else
|
{
|
grids[i].SetActive(false);
|
}
|
}
|
}
|
|
/// <summary>
|
/// 获取指定位置的格子
|
/// </summary>
|
public GuildAtkDefBatTreasureGrid GetGrid(int index)
|
{
|
if (index >= 0 && index < grids.Length)
|
return grids[index];
|
return null;
|
}
|
}
|