Example #1
0
        /// <summary>
        /// Load UI runtime instances.
        /// </summary>
        /// <param name="data">UI GameData</param>
        protected override void LoadData(UIData data)
        {
            // Create the manager for opening and closing windows
            WindowManager = UIFactory.GenerateEmptyUI("Window Manager", transform).AddComponent <WindowManager>();
            WindowManager.LoadData(data);

            // Create the status bar on the top
            StatusBar = UIFactory.LoadStatusBar(gameObject, data.Config.HorizontalMargins, data.Config.MainMenuBackgroundColor);

            // Create the Main Menu Bar on the bottom
            MainMenu    = UIFactory.LoadToolbar(gameObject, "Main Toolbar", 0.0f, data.Config.MainMenuBackgroundColor);
            MainMenuPip = UIFactory.LoadPip(MainMenu, data.Config.SubMenuBackgroundColor);

            // Create the second layer menu
            float mainMenuHeight = MainMenu.GetComponent <RectTransform>().sizeDelta.y;

            SubMenu = UIFactory.LoadToolbar(gameObject, "Sub Toolbar", mainMenuHeight, data.Config.SubMenuBackgroundColor);
            SubMenu.SetActive(false);

            // Link the main and sub menus
            var mainMenuToolbar = MainMenu.AddComponent <Toolbar>();

            mainMenuToolbar.SubMenu = SubMenu;
            mainMenuToolbar.Pip     = MainMenuPip;

            // Load the Button Groups
            foreach (var buttonGroup in data.ButtonGroups)
            {
                _buttonGroups[buttonGroup.Name] = CreateButtonGroup(buttonGroup, data.Config);
            }
        }
Example #2
0
 /// <summary>
 /// Load the window game objects from the UI game data.
 /// </summary>
 /// <param name="data">The UI game data.</param>
 public void LoadData(UIData data)
 {
     foreach (var window in data.Windows)
     {
         var windowObject = UIFactory.LoadWindow(window.PrefabName, window.Name, transform, data.Config);
         _windows[window.Name] = windowObject.GetComponent <Window>();
     }
 }
Example #3
0
        /// <summary>
        /// Convert ButtonGroup GameData into a GameObject in the store.
        /// Uses the Factory methods to load the button group.
        /// </summary>
        private ButtonGroup CreateButtonGroup(ButtonGroupData buttonGroup, UIConfig config)
        {
            Transform menuTransform = null;
            Color     background    = Color.white;
            Color     selected      = Color.white;
            Color     accent        = Color.white;
            bool      active        = true;

            if (buttonGroup is MainButtonGroupData)
            {
                menuTransform = MainMenu.transform;
                background    = config.MainMenuBackgroundColor;
                selected      = config.MainMenuSelectedColor;
                accent        = config.MainMenuAccentColor;
                active        = true;
            }
            else if (buttonGroup is SubButtonGroupData)
            {
                menuTransform = SubMenu.transform;
                background    = config.SubMenuBackgroundColor;
                selected      = config.SubMenuSelectedColor;
                accent        = config.SubMenuAccentColor;
                active        = false;
            }

            var buttonGroupObject = UIFactory.GenerateButtonGroup(
                menuTransform,
                new ButtonGroupArgs()
            {
                Name                  = buttonGroup.Name,
                ArrowLeft             = config.ArrowLeftSprite,
                ArrowRight            = config.ArrowRightSprite,
                Height                = MainMenu.GetComponent <RectTransform>().rect.height,
                PosY                  = 0,
                Left                  = config.HorizontalMargins,
                Right                 = config.HorizontalMargins,
                ButtonSize            = new Vector2(config.ButtonWidth, config.ButtonHeight),
                ButtonsDefaultColor   = background,
                ButtonsMouseOverColor = accent,
                ButtonsSelectedColor  = selected,
                Buttons               = CreateButtonArgs(buttonGroup.Buttons, config)
            });

            buttonGroupObject.SetActive(active);

            return(buttonGroupObject.GetComponent <ButtonGroup>());
        }
Example #4
0
        public static BaseAttachment CreateGhostDragger(BaseAttachment attach)
        {
            BaseAttachment ghostAttach = null;

            if (attach.GetType() == typeof(SliderAttachment))
            {
                SliderAttachment slider = attach as SliderAttachment;
                ghostAttach = UIFactory.CreateSlider(slider.musicRef, UIFrame.AnchorLocation.BOTTOM_LEFT);
            }
            else if (attach.GetType() == typeof(ClipButtonAttachment))
            {
                ClipButtonAttachment clipButton = attach as ClipButtonAttachment;
                ghostAttach = UIFactory.CreateClipButton(clipButton.musicRef, UIFrame.AnchorLocation.BOTTOM_LEFT);
            }
            else if (attach.GetType() == typeof(ClipCubeAttachment))
            {
                ClipCubeAttachment cubeButton = attach as ClipCubeAttachment;
                ghostAttach = UIFactory.CreateClipCube(cubeButton.musicRef);
            }
            else if (attach.GetType() == typeof(InstrumentAttachment))
            {
                InstrumentAttachment instrument = attach as InstrumentAttachment;
                ghostAttach = UIFactory.CreateInstrument(instrument.musicRef);
            }
            else if (attach.GetType() == typeof(RBFTrainingSpawnerAttachment))
            {
                ghostAttach = UIFactory.CreateRBFSphereTraining();
            }

            ghostAttach.transform.parent     = attach.transform;
            ghostAttach.transform.position   = attach.transform.position;
            ghostAttach.transform.localScale = attach.transform.localScale;
            ghostAttach.transform.parent     = null;
            ghostAttach.SetTransient(true);
            ghostAttach.SetCloneable(false);

            return(ghostAttach);
        }
Example #5
0
 void Awake()
 {
     m_instance = this;
 }
Example #6
0
 /// <summary>
 /// Initialize the tooltip manager
 /// </summary>
 /// <param name="canvas"></param>
 public static void Initialize(Transform canvas)
 {
     Tooltip = UIFactory.LoadTooltip(canvas);
     Tooltip.SetActive(false);
 }