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 15.02.2012 09:10

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

Сообщение от Lowlet (Сообщение 219521)
Как сделать всплывающие подсказки в инспекторе,при наведении на переменную?

http://unity3d.com/support/documenta...UIContent.html
Обрати внимание на свойство tooltip

Lowlet 15.02.2012 17:26

Ответ: Фак по Юнити.
 
Плохо выразился.Я имел ввиду подсказки в редакторе,а не рантайм.Нашел EditorGUILayout.HelpBox -это оно?

pax 15.02.2012 17:54

Ответ: Фак по Юнити.
 
Вложений: 1
Хоть бы попробовал:

PHP код:

using UnityEditor;
using UnityEngine;

[
CustomEditor(typeof(Transform))]
public class 
TransformEditor Editor {

    public 
override void OnInspectorGUI()
    {
        
DrawDefaultInspector();

        
GUIContent content = new GUIContent("Кнопка с тултипом","Тултип кнопки");
        
GUILayout.Button(content);
    }



Lowlet 15.02.2012 19:13

Ответ: Фак по Юнити.
 
Спасибо.Я тупой:)

WISHMASTER35 19.02.2012 01:50

Ответ: Фак по Юнити.
 
Как можно EnumPopup красиво нарисовать?
Написал так:
Код:

Rect rect_angles = EditorGUILayout.BeginHorizontal();
GUI.Box(rect_angles, GUIContent.none);
angle = (Angles)EditorGUILayout.EnumPopup("Angle: ", angle);
EditorGUILayout.EndHorizontal();

Но получилось фиговенько http://dl.dropbox.com/u/55489242/Til..._editor_v1.png
Слева отступа нету. Между строкой и enum большой разрыв. Да и вообще в обычно используются не box, а какой-то другой элемент типа кнопки, но который не жмется.

pax 19.02.2012 02:02

Ответ: Фак по Юнити.
 
Тоже самое можно выполнить так:
PHP код:

GUILayout.BeginHorizontal(GUI.skin.box);
angle = (Angles)EditorGUILayout.EnumPopup("Angle: "angle);
GUILayout.EndHorizontal(); 

Попробуй перед выводом выполнить одну из этих функций:
EditorGUIUtility.LookLikeInspector
EditorGUIUtility.LookLikeControls

Так же можно попробовать:
PHP код:

angle = (Angles)EditorGUILayout.EnumPopup("Angle: "angleGUI.skin.button); 

Upd: кстати отступ делается через GUILayout.Space(отступ):

PHP код:

GUILayout.BeginHorizontal(GUI.skin.box);
GUILayout.Space(20):
angle = (Angles)EditorGUILayout.EnumPopup("Angle: "angle);
GUILayout.EndHorizontal(); 


WISHMASTER35 25.02.2012 15:41

Ответ: Фак по Юнити.
 
В документации заметил небольшую ошибку. http://unity3d.com/support/documenta...Hierarchy.html
Лучше это делать так:
createdGO.hideFlags |= HideFlags.HideInHierarchy;
createdGO.hideFlags &= ~HideFlags.HideInHierarchy;
А то потом нельзя будет вручную удалить объект из иерархии.
Не знаю можно ли им об этом как-то написать.

pax 25.02.2012 16:00

Ответ: Фак по Юнити.
 
Что значит вручную удалить?

Сопоставь свой результат с:
PHP код:

[Flags]
public 
enum HideFlags
{
    
HideInHierarchy 1,
    
HideInInspector 2,
    
DontSave 4,
    
NotEditable 8,
    
HideAndDontSave 13


И напиши что получилось.

WISHMASTER35 25.02.2012 16:40

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

Что значит вручную удалить?
Выделить в иерархии GO и нажать Delete.
По началу значение hideFlags = 0.
После hideFlags |= HideFlags.HideInHierarchy; равно как и надо HideInHierarchy
После hideFlags &= ~HideFlags.HideInHierarchy; равно как и надо 0.
А если делать как я раньше делал hideFlags = ~HideFlags.HideInHierarchy; то получается бред: HideInInspector, DontSave, NotEditable.

pax 26.02.2012 05:55

Ответ: Фак по Юнити.
 
Да где ошибка в документации то?

WISHMASTER35 26.02.2012 13:53

Ответ: Фак по Юнити.
 
Я вот не совсем понял. Можно же несколько флагов задавать?
Тогда же их надо не просто через "=" задавать, а через "|=".
Не ошибка, но лучше бы что бы они написали как задавать и снимать несколько флагов.

pax 26.02.2012 14:19

Ответ: Фак по Юнити.
 
Зачем им переписывать справку по C#?
Да можно назначать несколько атрибутов, но это относится к C# а не к Unity.

Несколько атрибутов можно назначить так:
PHP код:

var hideFlags HideFlags.HideInHierarchy|HideFlags.DontSave


pie 28.02.2012 18:44

Ответ: Фак по Юнити.
 
Незнал куда разместить. Вот урок по созданию декалей. На Английском.

Part 1

Part 2

Nuprahtor 24.03.2012 13:40

Ответ: Фак по Юнити.
 
Мне хочется такую приблуду, которая будет считать чистое время, проведенное за разработкой определенного проекта.
Пробежался по классу Editor и нашел лишь EditorApplication.timeSinceStartup, которая, надо полагать, считает время со старта открытия проекта, и позволит сохранять его. Еще нужно автоматическое создание файла, в котором будет хранится значение времени.
Что для этого может понадобиться?

pax 24.03.2012 13:44

Ответ: Фак по Юнити.
 
Честно говоря не могу предложить лучшего варианта, чем при запуске проекта нажимать на кнопку и записывать системное время старта, а перед выходом - записывать время выхода. Мы не смогли найти способ запустить что-то при старте редактора.


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

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