コード例 #1
0
        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);
            }
        }
コード例 #2
0
        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);
            }
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        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;
        }
コード例 #5
0
        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);
            }
        }