////////////////////////////////////////////////////////////////////////////////////////////////
        /*--------------------------------------------------------------------------------------------*/
        protected override Type GetRendererForNavItemTypeInner(NavItem.ItemType pNavItemType)
        {
            switch (pNavItemType)
            {
            case NavItem.ItemType.Parent:
                return(typeof(UiParentRenderer));

            case NavItem.ItemType.Selector:
                return(typeof(UiSelectRenderer));

            case NavItem.ItemType.Sticky:
                return(typeof(UiStickyRenderer));

            case NavItem.ItemType.Checkbox:
                return(typeof(UiCheckboxRenderer));

            case NavItem.ItemType.Radio:
                return(typeof(UiRadioRenderer));

            case NavItem.ItemType.Slider:
                return(typeof(UiSliderRenderer));
            }

            return(typeof(UiSelectRenderer));
        }
        ////////////////////////////////////////////////////////////////////////////////////////////////
        /*--------------------------------------------------------------------------------------------*/
        public Type GetRendererForNavItemType(NavItem.ItemType pNavItemType)
        {
            Type type = GetRendererForNavItemTypeInner(pNavItemType);

            if (type == null)
            {
                throw new Exception(GetErrorPrefix(pNavItemType) + "cannot be null.");
            }

            if (!type.GetInterfaces().Contains(typeof(IUiSegmentRenderer)))
            {
                throw new Exception(GetErrorPrefix(pNavItemType) + "must implement the " +
                                    typeof(IUiSegmentRenderer).Name + " interface.");
            }

            return(type);
        }
 ////////////////////////////////////////////////////////////////////////////////////////////////
 /*--------------------------------------------------------------------------------------------*/
 private static string GetErrorPrefix(NavItem.ItemType pNavItemType)
 {
     return("Hovercast | The 'Segment' Renderer for '" + pNavItemType + "' NavItems ");
 }
 /*--------------------------------------------------------------------------------------------*/
 protected abstract Type GetRendererForNavItemTypeInner(NavItem.ItemType pNavItemType);
Example #5
0
 ////////////////////////////////////////////////////////////////////////////////////////////////
 /*--------------------------------------------------------------------------------------------*/
 public static bool IsItemWithin(NavItem pItem, NavItemParent pParent, NavItem.ItemType pType)
 {
     VerifyParent(pParent);
     return(pItem.Type == pType && pParent.ChildLevel.Items.Contains(pItem));
 }
Example #6
0
 /*--------------------------------------------------------------------------------------------*/
 protected override Type GetRendererForNavItemTypeInner(NavItem.ItemType pNavItemType)
 {
     return(typeof(UiSliderRenderer));
 }