////////////////////////////////////////////////////////////////////////////////////////////////
        /*--------------------------------------------------------------------------------------------*/
        public void Awake()
        {
            vPrevItemType = _ItemType;

            BuildDataIfNeeded();
            UpdateItemsManager(true);
        }
Example #2
0
        ////////////////////////////////////////////////////////////////////////////////////////////////
        /*--------------------------------------------------------------------------------------------*/
        public void Awake()
        {
            vPrevItemType = _ItemType;

            BuildDataIfNeeded();
            UpdateItemsManager(true);
        }
Example #3
0
        /*--------------------------------------------------------------------------------------------*/
        private HoverItemData BuildData(HoverItemType pType)
        {
            switch (pType)
            {
            case HoverItemType.Selector:
                return(gameObject.AddComponent <HoverItemDataSelector>());

            case HoverItemType.Sticky:
                return(gameObject.AddComponent <HoverItemDataSticky>());

            case HoverItemType.Checkbox:
                return(gameObject.AddComponent <HoverItemDataCheckbox>());

            case HoverItemType.Radio:
                HoverItemDataRadio radioData = gameObject.AddComponent <HoverItemDataRadio>();
                radioData.InitDefaultGroupId(gameObject.transform.parent);
                return(radioData);

            case HoverItemType.Slider:
                return(gameObject.AddComponent <HoverItemDataSlider>());

            case HoverItemType.Text:
                return(gameObject.AddComponent <HoverItemDataText>());

            default:
                throw new InvalidEnumArgumentException("Unhandled type: " + pType);
            }
        }
Example #4
0
        /*--------------------------------------------------------------------------------------------*/
        private void UpdateWithLatestItemTypeIfNeeded()
        {
            if (_ItemType == vPrevItemType)
            {
                return;
            }

            HoverItemData newData = BuildData(_ItemType);

            TransferData(newData);
            DestroyData(_Data, newData);

            _Data = newData;

            if (OnTypeChanged != null)
            {
                OnTypeChanged.Invoke(this);
            }

            vPrevItemType = _ItemType;
        }
        /*--------------------------------------------------------------------------------------------*/
        private void UpdateWithLatestItemTypeIfNeeded()
        {
            if ( _ItemType == vPrevItemType ) {
                return;
            }

            HoverItemData newData = BuildData(_ItemType);
            TransferData(newData);

            DestroyImmediate(_Data);
            _Data = newData;

            if ( OnTypeChanged != null ) {
                OnTypeChanged.Invoke(this);
            }

            vPrevItemType = _ItemType;
        }
        /*--------------------------------------------------------------------------------------------*/
        private HoverItemData BuildData(HoverItemType pType)
        {
            switch ( pType ) {
                case HoverItemType.Parent:
                    HoverItemDataParent parentData = gameObject.AddComponent<HoverItemDataParent>();
                    parentData.InitChildGroup(GetChildItems);
                    return parentData;

                case HoverItemType.Selector:
                    return gameObject.AddComponent<HoverItemDataSelector>();

                case HoverItemType.Sticky:
                    return gameObject.AddComponent<HoverItemDataSticky>();

                case HoverItemType.Checkbox:
                    return gameObject.AddComponent<HoverItemDataCheckbox>();

                case HoverItemType.Radio:
                    HoverItemDataRadio radioData = gameObject.AddComponent<HoverItemDataRadio>();
                    radioData.InitDefaultGroupId(gameObject.transform.parent);
                    return radioData;

                case HoverItemType.Slider:
                    return gameObject.AddComponent<HoverItemDataSlider>();

                case HoverItemType.Text:
                    return gameObject.AddComponent<HoverItemDataText>();

                default:
                    throw new InvalidEnumArgumentException("Unhandled type: "+pType);
            }
        }