public static void SetExplicitNavigation <T>(IList <T> selectables,
                                                     Func <T, Selectable> selectableFunction,
                                                     StratusOrientation orientation)
        {
            for (int i = 0; i < selectables.Count; i++)
            {
                Selectable selectable = selectableFunction(selectables[i]);


                Navigation navigation = new Navigation();

                navigation.mode = Navigation.Mode.Explicit;
                if (selectables.ContainsIndex(i - 1))
                {
                    switch (orientation)
                    {
                    case StratusOrientation.Horizontal:
                        navigation.selectOnLeft = selectableFunction(selectables[i - 1]);
                        break;

                    case StratusOrientation.Vertical:
                        navigation.selectOnUp = selectableFunction(selectables[i - 1]);
                        break;

                    default:
                        break;
                    }
                }
                if (selectables.ContainsIndex(i + 1))
                {
                    switch (orientation)
                    {
                    case StratusOrientation.Horizontal:
                        navigation.selectOnRight = selectableFunction(selectables[i + 1]);
                        break;

                    case StratusOrientation.Vertical:
                        navigation.selectOnDown = selectableFunction(selectables[i + 1]);
                        break;

                    default:
                        break;
                    }
                }

                selectable.navigation = navigation;
            }
        }
        //------------------------------------------------------------------------/
        // CTOR
        //------------------------------------------------------------------------/
        public StratusMenuBarDrawer(StratusOrientation orientation, params GUILayoutOption[] options)
        {
            this.orientation = orientation;
            switch (this.orientation)
            {
            case StratusOrientation.Horizontal:
                this.guiLayoutOptions = options;
                break;

            case StratusOrientation.Vertical:
                this.guiLayoutOptions = options;
                break;

            default:
                break;
            }
        }