private void RefreshAssistList() { if (ChaseTask == null) { return; } _current = null; var list = new List <AssistMemberInfo>(); if (moduleAssist.AssistList != null && moduleAssist.AssistList.Length > 0) { for (var i = 0; i < moduleAssist.AssistList.Length; i++) { var info = moduleAssist.AssistList[i]; if (info.playerInfo == null && info.npcId == 0) { continue; } //未通关关卡隐藏助战Npc if (info.type == 1) { if (ChaseTask?.stageInfo.npcAssist == 0 || (ChaseTask?.stageInfo.npcAssist == 1 && ChaseTask?.taskData?.state == 1)) { continue; } } if (info.type == 1) { var npcInfo = moduleNpc.GetTargetNpc((NpcTypeID)info.npcId); if (null == npcInfo) { Logger.LogError($"未查到Npc相关信息。异常NpcID = {info.npcId}"); continue; } } list.Add(new AssistMemberInfo(info)); } } if (dataSource == null) { dataSource = new DataSource <AssistMemberInfo>(list, _scrollView, OnSetData); } else { dataSource.SetItems(list); } }
public override bool Initialize(params object[] p) { if (!base.Initialize(p)) { return(false); } RefreshAssistList(); _toggleGroup?.onAnyToggleOn.AddListener(t => { var dataInter = t.GetComponentInParent <IScrollViewData <ISourceItem> >(); _current = dataInter?.GetItemData() as AssistMemberInfo; }); _startButton?.onClick.AddListener(CheckStartChaseCondition); return(true); }
private void OnSetData(RectTransform node, AssistMemberInfo data) { var t0 = node.transform.Find("player"); var t1 = node.transform.Find("npc"); if (data.Relation != CommonRelation.Npc) { t1.SafeSetActive(false); t0.SafeSetActive(true); var Presct = t0?.GetComponentDefault <FriendPrecast>(); Presct?.DelayAddData(data, 1); Presct?.SetToggleGroup(_toggleGroup); } else { t0.SafeSetActive(false); t1.SafeSetActive(true); var Presct = t1?.GetComponentDefault <NpcPrecast>(); Presct?.InitData(data); Presct?.SetToggleGroup(_toggleGroup); } }