////////////////////////////////////////////////////////////////////////////////////////////////
        /*--------------------------------------------------------------------------------------------*/
        public void Awake()
        {
            Panels      = UnityUtil.FindComponentsOrFail(Panels, Domain);
            Hovercursor = UnityUtil.FindComponentOrFail(Hovercursor, Domain);

            DefaultItemVisualSettings = UnityUtil.CreateComponent <HoverboardItemVisualSettings,
                                                                   HoverboardItemVisualSettingsStandard>(DefaultItemVisualSettings, gameObject, Domain);
            DefaultItemVisualSettings.IsDefaultSettingsComponent = true;

            ProjectionVisualSettings = UnityUtil.FindComponentOrCreate <
                HoverboardProjectionVisualSettings, HoverboardProjectionVisualSettingsStandard>(
                ProjectionVisualSettings, gameObject, Domain);

            InteractionSettings = UnityUtil.FindComponentOrCreate <HoverboardInteractionSettings,
                                                                   HoverboardInteractionSettings>(InteractionSettings, gameObject, Domain);

            vState = new HoverboardState(Panels.Select(x => x.GetPanel()).ToArray(), Hovercursor,
                                         InteractionSettings.GetSettings(), gameObject.transform);

            vPrevActiveCursorTypes = new CursorType[0];
            vProjMap = new Dictionary <CursorType, UiProjection>();
        }