private void UpdateList() { List <SoldierConfig> list = new List <SoldierConfig>(); List <SoldierConfig> notHaveList = new List <SoldierConfig>(); foreach (var item in SoldierConfigLoader.Data) { int level = CityManager.Instance.GetSoldierLevel(item.Value.SoldierId); if (level > 0) { list.Add(item.Value); } else { notHaveList.Add(item.Value); } } // 设置数据源 _listView.MaxCount = SoldierConfigLoader.Data.Count; _listView.OnListItemAtIndex = (index) => { if (index < list.Count) { SoldierConfig cfg = list[index]; if (cfg.SoldierId == _currentInfo.SoldierConfigID) { // 当前兵营就是此兵种 SoldierInfoNotHaveWidget go = _listView.CreateListItemWidget <SoldierInfoNotHaveWidget>(1); go.SetInfo(cfg.SoldierId, true); return(go); } else { // 只能选择已解锁的兵种 SoldierInfoHaveWidget go = _listView.CreateListItemWidget <SoldierInfoHaveWidget>(0); // 士兵信息和兵营信息 go.SetInfo(cfg.SoldierId, _currentInfo); return(go); } } else { SoldierConfig cfg = notHaveList[index - list.Count]; SoldierInfoNotHaveWidget go = _listView.CreateListItemWidget <SoldierInfoNotHaveWidget>(1); go.SetInfo(cfg.SoldierId, false); return(go); } }; // 进行刷新 _listView.Refresh(); }
private void UpdateList() { List <SoldierConfig> list = new List <SoldierConfig>(); foreach (var item in SoldierConfigLoader.Data) { list.Add(item.Value); } TrainBuildingInfo tbinfo = CityManager.Instance.GetBuildingByType(CityBuildingType.TRAIN) as TrainBuildingInfo; if (tbinfo == null) { return; // 尚未解锁校场 } // 设置数据源 _listView.MaxCount = SoldierConfigLoader.Data.Count; _listView.OnListItemAtIndex = (index) => { SoldierConfig cfg = list[index]; int level = CityManager.Instance.GetSoldierLevel(cfg.SoldierId); if (level <= 0) { // 未解锁兵种 SoldierTrainNotHaveWidget go = _listView.CreateListItemWidget <SoldierTrainNotHaveWidget>(1); go.SetInfo(cfg.SoldierId); return(go); } else { SoldierLevelConfig cfgLevel = SoldierLevelConfigLoader.GetConfig(cfg.SoldierId, level, false); if (cfgLevel == null || tbinfo.IsInBuilding() || // 校场正在升级 cfgLevel.UpgradeMilitaryLevelDemand > tbinfo.Level || // 不能升级,校场等级不足 (tbinfo.IsTrainingSoldier() && tbinfo.TrainSoldierCfgID == cfg.SoldierId)) { // 不能升级或者正在升级 SoldierTrainNotHaveWidget go = _listView.CreateListItemWidget <SoldierTrainNotHaveWidget>(1); go.SetInfo(cfg.SoldierId); return(go); } else { // 已解锁 SoldierTrainHaveWidget go = _listView.CreateListItemWidget <SoldierTrainHaveWidget>(0); go.SetInfo(cfg.SoldierId); return(go); } } }; // 进行刷新 _listView.Refresh(); }
public override void OnRefreshWindow() { foreach (var item in UserManager.Instance.HeroList) { ItemType type = (ItemType)_itemInfo.Cfg.Type; if (type == ItemType.DECORATION || type == ItemType.BOOK || type == (ItemType)item.Cfg.WeaponType || type == (ItemType)item.Cfg.ArmourType) { if (_itemInfo.Cfg.Level <= item.Level) { _heroList.Add(item); } } } _listView.MaxCount = _heroList.Count; _listView.OnClickListItem = OnClickWidget; _listView.OnListItemAtIndex = (index) => { var widget = _listView.CreateListItemWidget <HeroEquipWidget>(0); widget.SetInfo(_heroList[index], _itemInfo); return(widget); }; _listView.Refresh(); }
public override void OnRefreshWindow() { _listHero.Clear(); List <HeroInfo> list = new List <HeroInfo>(); foreach (var item in UserManager.Instance.HeroList) { if (UserManager.Instance.IsHeroInPVEFormation(item.ConfigID)) { _listHero.Add(item); } else { list.Add(item); } } UserManager.Instance.SortHeroList(list); _listHero.AddRange(list); _listView.MaxCount = _listHero.Count; _listView.OnClickListItem = OnClickListItem; _listView.OnListItemAtIndex = (index) => { FormationHeroItemWidget go = _listView.CreateListItemWidget <FormationHeroItemWidget>(0); go.SetHeroInfo(_listHero[index]); return(go); }; _listView.Refresh(); }
public void UpdateList() { _heroList.Clear(); List <int> heroNotHaveList = new List <int>(); foreach (var item in HeroConfigLoader.Data) { if (!UserManager.Instance.HaveHero(item.Key) && (_currentType == 0 || _currentType == item.Value.AttackType)) { heroNotHaveList.Add(item.Key); } } // 排序后的英雄列表 foreach (var item in UserManager.Instance.HeroList) { if (_currentType == 0 || _currentType == item.Cfg.AttackType) { _heroList.Add(item.ConfigID); } } _listView.MaxCount = _heroList.Count + heroNotHaveList.Count; _listView.OnClickListItem = OnClickItem; _listView.OnListItemAtIndex = (index) => { if (index >= _heroList.Count) { NewHeroListHeroNotHave widget = _listView.CreateListItemWidget <NewHeroListHeroNotHave>(1); widget.SetInfo(heroNotHaveList[index - _heroList.Count]); return(widget); } else { NewHeroListHeroHave widget = _listView.CreateListItemWidget <NewHeroListHeroHave>(0); widget.SetInfo(UserManager.Instance.GetHeroInfoByUnitID(_heroList[index])); return(widget); } }; _listView.Refresh(); }
private void UpdateList() { _listView.Data = UserManager.Instance.HeroList.ToArray(); _listView.OnListItemAtIndex = (index) => { PVESelectHeroWidget go = _listView.CreateListItemWidget <PVESelectHeroWidget>(0); go.OnClickItem += OnClickItem; go.SetInfo(UserManager.Instance.HeroList[index]); return(go); }; _listView.Refresh(); }
private void UpdateList(ShowPage page) { _currentShowPage = page; UpdateTab(); _list = new List <ItemInfo>(); foreach (var item in UserManager.Instance.ItemList) { if (page == ShowPage.ALL || (page == ShowPage.EQUIP && item.IsEquip()) || (page == ShowPage.ITEM && item.Cfg.Enable > 0) || (page == ShowPage.STONE && item.Cfg.Type == (int)ItemType.SOUL_PIECE)) { _list.Add(item); } } if (page == ShowPage.ALL) { SortListByTime(_list); } else { SortListByQuality(_list); } _listWidget.Clear(); _listView.MaxCount = _list.Count; _listView.OnClickListItem = OnClickItemIcon; _listView.OnListItemAtIndex = (index) => { BagItemWidget item = _listView.CreateListItemWidget <BagItemWidget>(0); item.SetInfo(_list[index]); _listWidget.Add(item); return(item); }; _listView.Refresh(); SelectFirstItem(); }
private void UpdateList() { if (_equipType == ItemType.NONE) { _listLevel.gameObject.SetActive(false); return; } _listLevel.gameObject.SetActive(true); if (_equipType == ItemType.BOOK) { // 兵法 List <BingfaConfig> list = new List <BingfaConfig>(); foreach (var item in BingfaConfigLoader.Data) { if (item.Value.Type == (int)_equipType) { list.Add(item.Value); } } _listLevel.MaxCount = list.Count; _listLevel.OnListItemAtIndex = (index) => { SmithyLevelWidget widget = _listLevel.CreateListItemWidget <SmithyLevelWidget>(0); widget.OnClickCallback = OnClickLevel; widget.SetInfo(list[index], _smithyLevel < list[index].BuildingLevelDemand); return(widget); }; _listLevel.Refresh(); } else { // 装备 List <EquipmentConfig> list = new List <EquipmentConfig>(); foreach (var item in EquipmentConfigLoader.Data) { if (item.Value.Type == (int)_equipType) { list.Add(item.Value); } } _listLevel.MaxCount = list.Count; _listLevel.OnListItemAtIndex = (index) => { SmithyLevelWidget widget = _listLevel.CreateListItemWidget <SmithyLevelWidget>(0); widget.OnClickCallback = OnClickLevel; widget.SetInfo(list[index], _smithyLevel < list[index].BuildingLevelDemand); return(widget); }; _listLevel.Refresh(); } SelectLevelByIndex(0); }