예제 #1
0
        void OnEnable()
        {
            var template = Resources.GetTemplate(nameof(ExportCharacterSetWindow));

            rootVisualElement.Add(template);

            var exportButton = rootVisualElement.Q <Button>("export-button");

            exportButton.clicked += Export;

            SelectedTables = rootVisualElement.Q <ProjectCollectionsTableSelector>();
        }
예제 #2
0
        public override VisualElement CreatePropertyGUI(SerializedProperty property)
        {
            var root = Resources.GetTemplate(nameof(LocalesProvider));

            var list = new ReorderableList(new List <Locale>());

            list.HeaderTitle         = "Available Locales";
            list.ReorderCallback     = ChangeLocaleOrder;
            list.CreateItemCallback  = CreateItem;
            list.RefreshListCallback = UpdateList;
            list.RemoveCallback      = RemoveSelectedLocale;
            list.DisplayAddButton    = false; // There is no UI Toolkit ObjectPicker in 2019.4
            root.Q("locales-list").Add(list);

            var openGenerator = root.Q <Button>("open-generator-button");

            openGenerator.clicked += LocaleGeneratorWindow.ShowWindow;

            var addCustomLocale = root.Q <Button>("add-custom-locale");

            addCustomLocale.clicked += CustomLocaleUIWindow.ShowWindow;

            var addAll = root.Q <Button>("add-all-button");

            addAll.clicked += () =>
            {
                var assets = AssetDatabase.FindAssets("t:Locale");
                for (int i = 0; i < assets.Length; ++i)
                {
                    LocalizationEditorSettings.AddLocale(AssetDatabase.LoadAssetAtPath <Locale>(AssetDatabase.GUIDToAssetPath(assets[i])), true);
                }
                list.RefreshList();
            };

            Action <Locale>       projectLocaleAddedRemoved = l => list.RefreshList();
            EventHandler <Locale> projectLocaleSortChanged  = (a, b) => list.RefreshList();

            root.RegisterCallback <AttachToPanelEvent>(evt =>
            {
                LocalizationEditorSettings.EditorEvents.LocaleSortOrderChanged += projectLocaleSortChanged;
                LocalizationEditorSettings.EditorEvents.LocaleAdded            += projectLocaleAddedRemoved;
                LocalizationEditorSettings.EditorEvents.LocaleRemoved          += projectLocaleAddedRemoved;
            });

            root.RegisterCallback <DetachFromPanelEvent>(evt =>
            {
                LocalizationEditorSettings.EditorEvents.LocaleSortOrderChanged -= projectLocaleSortChanged;
                LocalizationEditorSettings.EditorEvents.LocaleAdded            -= projectLocaleAddedRemoved;
                LocalizationEditorSettings.EditorEvents.LocaleRemoved          -= projectLocaleAddedRemoved;
            });

            return(root);
        }
        void OnEnable()
        {
            #if UNITY_2019_1_OR_NEWER
            m_Root = rootVisualElement;
            m_Root.styleSheets.Add(AssetDatabase.LoadAssetAtPath <StyleSheet>(Resources.GetStyleSheetPath("AssetTablesWindow")));
            #else
            m_Root = this.GetRootVisualContainer();
            m_Root.AddStyleSheetPath(Resources.GetStyleSheetPath("AssetTablesWindow"));
            #endif

            var template = Resources.GetTemplate("AssetTablesWindow");
            m_Root.Add(template);
            template.StretchToParentSize();
            SetupPanels();
        }
예제 #4
0
        public override VisualElement CreatePropertyGUI(SerializedProperty property)
        {
            var root = Resources.GetTemplate(nameof(SmartFormatter));

            root.Q("root-foldout");
            root.Bind(property.serializedObject);

            var sources = new ManagedReferenceReorderableList(property.FindPropertyRelative("m_Sources"), typeof(ISource));

            sources.HeaderTitle   = "Sources";
            sources.HeaderTooltip = "Used to evaluate a selector. Checked in order of the list, top first.";
            sources.AddCallback   = (l, i) => ShowAddMenu(l, i, property);
            root.Add(sources);

            var formatters = new ManagedReferenceReorderableList(property.FindPropertyRelative("m_Formatters"), typeof(IFormatter));

            formatters.HeaderTitle   = "Formatters";
            formatters.HeaderTooltip = "Used to convert an object to a string. Checked in order of the list, top first.";
            root.Add(formatters);

            return(root);
        }
        public AssetTablesWindowToolbar()
        {
            var root = Resources.GetTemplate("AssetTablesWindowToolbar");

            Add(root);
            root.StretchToParentSize();

            NewButton  = root.Q <ToolbarToggle>("toolbarButtonNew");
            EditButton = root.Q <ToolbarToggle>("toolbarButtonEdit");

            NewButton.RegisterCallback <ChangeEvent <bool> >(evt =>
            {
                if (evt.newValue)
                {
                    ShowNewCallback();
                }
            });
            EditButton.RegisterCallback <ChangeEvent <bool> >(evt =>
            {
                if (evt.newValue)
                {
                    ShowEditCallback();
                }
            });

            selectedPanel = (SelectedPanel)EditorPrefs.GetInt(k_SelectedTabPref, 0);

            if (selectedPanel == SelectedPanel.NewTables)
            {
                NewButton.value = true;
                ShowNewCallback();
            }
            else
            {
                EditButton.value = true;
                ShowEditCallback();
            }
        }
예제 #6
0
        public AssetTablesGenerator()
        {
            var root = Resources.GetTemplate("AssetTablesGenerator");

            Add(root);
            root.StretchToParentSize();

            var locales = LocalizationAddressableSettings.GetLocales();

            m_LocalesList = root.Q <ScrollView>("localesList");
            foreach (var locale in locales)
            {
                m_LocalesList.Add(new Toggle()
                {
                    text = locale.name, value = true
                });
            }

            root.Q <Button>("createTableButton").clickable.clicked += CreateTables;
            root.Q <Button>("selectAllLocales").clickable.clicked  += () => SelectAllLocales(true);
            root.Q <Button>("selectNoLocales").clickable.clicked   += () => SelectAllLocales(false);
            m_TableType = root.Q <AssetTableTypeField>();
            m_TableName = root.Q <TextField>("newTableName");
        }