forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Unity (http://forum.boolean.name/forumdisplay.php?f=144)
-   -   Фак по Юнити. (http://forum.boolean.name/showthread.php?t=12966)

pax 22.11.2011 16:07

Ответ: Фак по Юнити.
 
Конкретнее http://unity3d.com/support/documenta...ctionGrid.html

Amatsu 22.11.2011 16:27

Ответ: Фак по Юнити.
 
Хм. Наткнулся на Unity Forms http://code.google.com/p/unityforms/...rms/ListBox.cs
Но не понял, как заставить ее работать (файл поместил в папку Editor).

А про Грид, не знаю, уместно ли это в моем случае. Поясню - мне нужно прочитать папку с огромным числом файлов и на основе просмотра сделать список всех найденных элементов в своем собственном модуле для юнити. Как-то грид с кнопками на овер 200 позиций...

pax 22.11.2011 20:15

Ответ: Фак по Юнити.
 
200 это не много, у нас в меню блоков визуального редактора несколько тысяч итемов. Это не обязательно кнопки, можно рисовать кнопку, но стиль для нее выбрать Label. Тогда будет просто кликабельный текст.

Amatsu 23.11.2011 18:41

Ответ: Фак по Юнити.
 
Использую EditorUtility.OpenFilePanel, вопрос - как в третьем параметре расширения типа string указать несколько расширений? Заранее спасибо

pax 23.11.2011 20:02

Ответ: Фак по Юнити.
 
А через запятую нельзя? Вообще там название переменной в единственном числе... Может быть еще разделитель |

Amatsu 23.11.2011 20:11

Ответ: Фак по Юнити.
 
Пробовал, не помогло

Amatsu 24.11.2011 12:52

Ответ: Фак по Юнити.
 
Создал папку Assets\Plugins, закинул туда файл System.Windows.Forms.dll, но не могу разобраться, как правильно импортировать ее в проект, а точнее - получить ее функцию OpenFileDialog

UPDATE
Мне нужно вызвать системный диалог выбора файла в редакторе, а не игре. В какой-то заднице нашел, что достаточно кинуть библиотеку в папку Editor. Кинул - ВС начала видеть функции из этой библиотеки. Вот только при попытке вызвать OpenFileDialog - ничего не просходит.

UPDATE 2
Разобрался, нужно было писать:
Код:

            OpenFileDialog open = new OpenFileDialog();
            open.ShowDialog();


Amatsu 24.11.2011 13:23

Ответ: Фак по Юнити.
 
Теперь другая проблема: через раз вылезает ошибка при вызове диалога "oops! Could not register window class : win32 error 0"

pax 24.11.2011 13:24

Ответ: Фак по Юнити.
 
System.Windows.Forms.dll официально не поддерживается. Сделай диалог с помощью GUI.

Amatsu 24.11.2011 13:48

Ответ: Фак по Юнити.
 
А всего то авторам надо было добавить возможность указывать несколько фильтров для OpenFilePanel...
Да, Юнити все еще сыроват

pax 24.11.2011 14:12

Ответ: Фак по Юнити.
 
Юнити - игровой двиг, зачем в игре открывать файл? В редакторе все что нужно - можно сделать с помощью EditorGUI.

Amatsu 24.11.2011 14:13

Ответ: Фак по Юнити.
 
Цитата:

Сообщение от pax (Сообщение 210990)
Юнити - игровой двиг, зачем в игре открывать файл? В редакторе все что нужно - можно сделать с помощью EditorGUI.

Я пишу надстройку для редактора, которая бы открывала браузер графических (в дальнейшем - не только) файлов по всему компьютеру и добавляла бы указанные через вызванное файловое окно текстуры в паки

А можно ли как-то узнать размер созданного мной EditorWindow? Я просто использую в нем SelectionGrid, в параметрах можно указать число столбцов - если я буду растягивать окно - число столбцов не увеличится, просто они станут шире. А вот хотелось бы реализовать, чтобы число столбцов было динамическим от ширины окна

pax 24.11.2011 14:16

Ответ: Фак по Юнити.
 
http://unity3d.com/support/documenta...-position.html

Amatsu 24.11.2011 19:06

Ответ: Фак по Юнити.
 
Скачал последний MySQL Connector .Net версии 6.3.7, поставил, взял из нужной папки файл MySql.Data.dll и перенес его в папку Editor. Увы, компилятор юнити его не увидел, не смог распознать using MySql.Data.MySqlClient;

Тогда кинул библиотеку прям в папку Assets проекта. Вижуалстудио ругаться перестал, но теперь в юнити пишет вот такую ошибку:

Internal compiler error. See the console log for more information. output was:
Unhandled Exception: System.TypeLoadException: Could not load type 'System.Security.SecurityRulesAttribute' from assembly 'MySql.Data'.

at (wrapper managed-to-native) System.Reflection.Assembly:InternalGetType (System.Reflection.Module,string,bool,bool)

at System.Reflection.Assembly.GetType (System.String name, Boolean throwOnError, Boolean ignoreCase) [0x00000] in <filename unknown>:0




UPDATE

Кажется решил проблему. Скачал по совету Неодропа более старую версию 6.1. Перестал ругаться

pax 24.11.2011 21:08

Ответ: Фак по Юнити.
 
Попробуй с актуальной версией библиотеки положить в проект mscorlib.dll из папки моно в папке Unity. Куда-нибудь в папку Assets/Plugins/
И еще наверное надо System.Data.dll и System.Xml.dll


Часовой пояс GMT +4, время: 21:16.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot