/// <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); } }
/// <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>(); } }
/// <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>()); }
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); }
void Awake() { m_instance = this; }
/// <summary> /// Initialize the tooltip manager /// </summary> /// <param name="canvas"></param> public static void Initialize(Transform canvas) { Tooltip = UIFactory.LoadTooltip(canvas); Tooltip.SetActive(false); }