using System.Collections.Generic; using UnityEngine; public class GuildAtkDefBatBattlePanelHeaderCell : CellView { [SerializeField] ImageEx cityImage; [SerializeField] ImageEx[] flagImages; [SerializeField] GuildAtkDefBatBattlePanelItem[] items;//3个 public void Display(bool isMy, List sortedDefenders) { // 城市背景:己方蓝色,敌方红色 cityImage.SetSprite(isMy ? "GuildAtkDefBatCityBlue" : "GuildAtkDefBatCityRed"); // 旗帜:己方蓝色,敌方红色 string flagIcon = isMy ? "GuildAtkDefBatFlagBlue" : "GuildAtkDefBatFlagRed"; for (int i = 0; i < flagImages.Length; i++) { flagImages[i].SetSprite(flagIcon); } // 直接取排序列表的前3个,分别赋值给items[0]/[1]/[2] // items[1]和items[2]显示城墙,items[0]不显示 for (int i = 0; i < items.Length; i++) { bool hasMember = sortedDefenders != null && i < sortedDefenders.Count; bool showWall = (i == 1 || i == 2); // 第二和第三个item显示城墙 items[i].Display(isMy, hasMember ? sortedDefenders[i] : null, showWall); } } }