public override void Initialize(bool forceInit) { if (!CheckInitialize(forceInit)) { return; } this.sourceMember = this.dataContext.viewModel.GetMemberInfo(this.observableList.member); switch (this.sourceMember) { case FieldInfo sourceField: this.dataList = (IObservaleCollection)sourceField.GetValue(this.dataContext.viewModel); break; case PropertyInfo sourceProperty: this.dataList = (IObservaleCollection)sourceProperty.GetValue(this.dataContext.viewModel, null); break; } if (this.dataList != null) { this.dataList.OnAddObject += HandleOnAdd; this.dataList.OnRemoveObject += HandleOnRemove; this.dataList.OnRemoveAt += HandleOnRemoveAt; this.dataList.OnInsertObject += HandleOnInsert; this.dataList.OnClearObjects += HandleOnClear; this.dataList.OnChangeObject += HandleOnChange; } if (!string.IsNullOrEmpty(this.contentPrefab.scene.name)) { this.contentPrefab.SetActive(false); } }
public override void Init(bool forceInit) { if (CheckInit(forceInit)) { scrollRect = GetComponent <ScrollRect> (); if (grouping == Vector2.zero) { grouping = Vector2.one; } RectTransform contentItemRect = contentPrefab.GetComponent <RectTransform> (); if (contentWidth == 0) { contentWidth = contentItemRect.sizeDelta.x; } if (contentHeight == 0) { contentHeight = contentItemRect.sizeDelta.y; } if (contentRect == null) { contentRect = scrollRect.content; } if (viewPort == null) { viewPort = scrollRect.viewport; } InitPool(); sourceMember = mDataContext.viewModel.GetMemberInfo(observableList.member); if (sourceMember is FieldInfo) { FieldInfo sourceField = sourceMember.ToField(); dataList = (IObservaleCollection)sourceField.GetValue(mDataContext.viewModel); } else { PropertyInfo sourceProperty = sourceMember.ToProperty(); dataList = (IObservaleCollection)sourceProperty.GetValue(mDataContext.viewModel, null); } if (dataList != null) { dataList.OnAddObject += HandleOnAdd; dataList.OnRemoveObject += HandleOnRemove; dataList.OnRemoveAt += HandleOnRemoveAt; dataList.OnInsertObject += HandleOnInsert; dataList.OnClearObjects += HandleOnClear; dataList.OnChangeObject += HandleOnChange; } scrollRect.onValueChanged.AddListener(OnScroll); contentPrefab.SetActive(false); } }
public override void Init() { if (!Application.isPlaying) { return; } if (isInit) { return; } isInit = true; InitPool(); scrollRect = GetComponent <ScrollRect> (); RectTransform contentRect = contentPrefab.GetComponent <RectTransform> (); if (contentWidth == 0) { contentWidth = contentRect.sizeDelta.x; } if (contentHeight == 0) { contentHeight = contentRect.sizeDelta.y; } sourceMember = mDataContext.viewModel.GetMemberInfo(observableList.member); if (sourceMember is FieldInfo) { FieldInfo sourceField = sourceMember.ToField(); dataList = (IObservaleCollection)sourceField.GetValue(mDataContext.viewModel); } else { PropertyInfo sourceProperty = sourceMember.ToProperty(); dataList = (IObservaleCollection)sourceProperty.GetValue(mDataContext.viewModel, null); } if (dataList != null) { dataList.OnAddObject += HandleOnAdd; dataList.OnRemoveObject += HandleOnRemove; dataList.OnInsertObject += HandleOnInsert; dataList.OnClearObjects += HandleOnClear; dataList.OnChangeObject += HandleOnChange; } scrollRect.onValueChanged.AddListener(OnScroll); contentPrefab.SetActive(false); }
public override void Initialize(bool forceInit) { if (!CheckInitialize(forceInit)) { return; } this.optionsMember = this.dataContext.viewModel.GetMemberInfo(this.optionsField.member); switch (this.optionsMember) { case FieldInfo sourceField: this.dataSource = sourceField.GetValue(this.dataContext.viewModel) as IObservaleCollection; break; case PropertyInfo sourceProperty: this.dataSource = sourceProperty.GetValue(this.dataContext.viewModel, null) as IObservaleCollection; break; } if (this.dataSource != null) { this.dataSource.OnAddObject += Options_OnChanged; this.dataSource.OnRemoveObject += Options_OnChanged; this.dataSource.OnRemoveAt += Options_OnChanged; this.dataSource.OnInsertObject += Options_OnChanged; this.dataSource.OnClearObjects += Options_OnChanged; this.dataSource.OnChangeObject += Options_OnChanged; } this.dropdown = GetComponent <TMP_Dropdown>(); SubscribeOnChangedEvent(this.valueField, OnUpdateValue); OnValueChanged_OnChanged(this.onValueChanged); this.onValueChanged.onChanged += OnValueChanged_OnChanged; }
public override void Initialize(bool forceInit) { if (!CheckInitialize(forceInit)) { return; } this.scrollRect = GetComponent <ScrollRect>(); if (this.grouping == Vector2.zero) { this.grouping = Vector2.one; } RectTransform contentItemRect = this.contentPrefab.GetComponent <RectTransform>(); if (this.contentWidth == 0) { this.contentWidth = contentItemRect.sizeDelta.x; } if (this.contentHeight == 0) { this.contentHeight = contentItemRect.sizeDelta.y; } if (this.contentRect == null) { this.contentRect = this.scrollRect.content; } if (this.viewPort == null) { this.viewPort = this.scrollRect.viewport; } InitPool(); this.sourceMember = this.dataContext.viewModel.GetMemberInfo(this.observableList.member); switch (this.sourceMember) { case FieldInfo fieldInfo: this.dataList = (IObservaleCollection)fieldInfo.GetValue(this.dataContext.viewModel); break; case PropertyInfo sourceProperty: this.dataList = (IObservaleCollection)sourceProperty.GetValue(this.dataContext.viewModel, null); break; } if (this.dataList != null) { this.dataList.OnAddObject += HandleOnAdd; this.dataList.OnRemoveObject += HandleOnRemove; this.dataList.OnRemoveAt += HandleOnRemoveAt; this.dataList.OnInsertObject += HandleOnInsert; this.dataList.OnClearObjects += HandleOnClear; this.dataList.OnChangeObject += HandleOnChange; } this.scrollRect.onValueChanged.AddListener(OnScroll); if (!string.IsNullOrEmpty(this.contentPrefab.scene.name)) { this.contentPrefab.SetActive(false); } }