protected virtual void Start() { List <ScrollListSetUp> list = ((IEnumerable <MonoBehaviour>)((Component)this).GetComponents <MonoBehaviour>()).Where <MonoBehaviour>((Func <MonoBehaviour, bool>)(item => item is ScrollListSetUp)).Select <MonoBehaviour, ScrollListSetUp>((Func <MonoBehaviour, ScrollListSetUp>)(item => item as ScrollListSetUp)).ToList <ScrollListSetUp>(); if (UnityEngine.Object.op_Inequality((UnityEngine.Object) this.m_ScrollAutoFit, (UnityEngine.Object)null)) { this.m_ScrollAutoFit.set_content(this.GetRectTransForm); this.m_ScrollAutoFit.ItemScale = this.ItemScaleMargin; // ISSUE: method pointer this.m_ScrollAutoFit.OnScrollStop.AddListener(new UnityAction((object)this, __methodptr(OnScrollStop))); } ((Component)this.m_ItemBase).get_gameObject().SetActive(false); float num = this.m_ScrollMode != TowerScrollListController.ScrollMode.Normal ? 1f : -1f; List <TowerQuestListItem> towerQuestListItemList = new List <TowerQuestListItem>(); for (int index = 0; index < this.m_ItemCnt; ++index) { RectTransform rectTransform = (RectTransform)UnityEngine.Object.Instantiate <RectTransform>((M0)this.m_ItemBase); ((Transform)rectTransform).SetParent(((Component)this).get_transform(), false); rectTransform.set_anchoredPosition(new Vector2(0.0f, (float)((double)this.ItemScale * (double)this.Margin * (double)index + (double)this.ItemScale * 0.5) * num)); this.m_ItemList.Add(rectTransform); TowerQuestListItem component = (TowerQuestListItem)((Component)rectTransform).GetComponent <TowerQuestListItem>(); if (UnityEngine.Object.op_Inequality((UnityEngine.Object)component, (UnityEngine.Object)null)) { towerQuestListItemList.Add(component); } ((Component)rectTransform).get_gameObject().SetActive(true); } using (List <ScrollListSetUp> .Enumerator enumerator = list.GetEnumerator()) { while (enumerator.MoveNext()) { ScrollListSetUp current = enumerator.Current; current.OnSetUpItems(); for (int idx = 0; idx < this.m_ItemCnt; ++idx) { current.OnUpdateItems(idx, ((Component)this.m_ItemList[idx]).get_gameObject()); } } } this.m_ScrollMode = !MonoSingleton <GameManager> .Instance.FindTower(GlobalVars.SelectedTowerID).is_down ? TowerScrollListController.ScrollMode.Reverse : TowerScrollListController.ScrollMode.Normal; this.ChangeScrollMode(this.m_ScrollMode); this.StartCoroutine(this.LoadTowerBG(towerQuestListItemList.ToArray())); }
public void OnUpdateItems(int idx, GameObject obj) { if (this.mFloorParams == null) { this.mFloorParams = MonoSingleton <GameManager> .Instance.FindTowerFloors(GlobalVars.SelectedTowerID); } if (idx < 0) { obj.SetActive(false); } else if (idx >= this.mFloorParams.Count) { DataSource.Bind <TowerFloorParam>(obj, (TowerFloorParam)null); obj.SetActive(true); TowerQuestListItem component = (TowerQuestListItem)obj.GetComponent <TowerQuestListItem>(); if (!Object.op_Inequality((Object)component, (Object)null)) { return; } component.UpdateParam((TowerFloorParam)null, 0); } else { obj.SetActive(true); DataSource.Bind <TowerFloorParam>(obj, this.mFloorParams[idx]); TowerQuestListItem component1 = (TowerQuestListItem)obj.GetComponent <TowerQuestListItem>(); if (Object.op_Inequality((Object)component1, (Object)null)) { component1.UpdateParam(this.mFloorParams[idx], (int)this.mFloorParams[idx].FloorIndex + 1); } ListItemEvents component2 = (ListItemEvents)obj.GetComponent <ListItemEvents>(); if (!Object.op_Inequality((Object)component2, (Object)null)) { return; } component2.OnSelect = new ListItemEvents.ListItemEvent(this.OnSelectItem); } }
private void FocusUpdate() { float num = this.m_ScrollMode != TowerScrollListController.ScrollMode.Normal ? 1f : -1f; Rect rect = this.Cursor.get_rect(); // ISSUE: explicit reference operation ((Rect) @rect).set_center(new Vector2(0.0f, (float) ((double) this.ItemScaleMargin * 3.0 - (double) this.ItemScaleMargin * 0.5) * num)); // ISSUE: explicit reference operation ((Rect) @rect).set_size(this.Cursor.get_sizeDelta()); using (List<TowerQuestListItem>.Enumerator enumerator = this.m_ItemList.ConvertAll<TowerQuestListItem>((Converter<RectTransform, TowerQuestListItem>) (item => (TowerQuestListItem) ((Component) item).GetComponent<TowerQuestListItem>())).GetEnumerator()) { while (enumerator.MoveNext()) { TowerQuestListItem current = enumerator.Current; if (((Component) current).get_gameObject().get_activeInHierarchy()) { Vector2 anchoredPosition = current.rectTransform.get_anchoredPosition(); anchoredPosition.y = this.GetRectTransForm.get_anchoredPosition().y + anchoredPosition.y; // ISSUE: explicit reference operation current.OnFocus(((Rect) @rect).Contains(anchoredPosition)); } } } }