Как сохранять значения в Editor Window - Форум Игроделов
Пн, 06 Май 2024, 06:56 
 
Приветствую Вас Гость Главная | Регистрация | Вход
Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум Игроделов » UNITY3D » DECAL, GUI, HUD » Как сохранять значения в Editor Window (Помогите кто знает!)
Как сохранять значения в Editor Window
AltairДата: Сб, 27 Окт 2012, 12:01 | Сообщение # 1
Unity 3D PRO Developer
 
Сообщений: 758
Награды: 6
Репутация: 195
Статус: Offline
Привет всем,я вот щас пишу смену дня и ночи,и решил одновременно писать Editor Window GUI под неё.ВРоде начала нормально написал .. но,когда ввожу те или иные значения ,А потом закрываю это окно они не сохраняються,тоесть если снова открыть это окно то все значения буду по умолчанию.А теперь вопрос.Кто-то знает как можно ети значения сохранять ?Если кто знает ,помогите пожалуйста.
 
СообщениеПривет всем,я вот щас пишу смену дня и ночи,и решил одновременно писать Editor Window GUI под неё.ВРоде начала нормально написал .. но,когда ввожу те или иные значения ,А потом закрываю это окно они не сохраняються,тоесть если снова открыть это окно то все значения буду по умолчанию.А теперь вопрос.Кто-то знает как можно ети значения сохранять ?Если кто знает ,помогите пожалуйста.

Автор - Altair
Дата добавления - 27 Окт 2012 в 12:01
HunjethДата: Сб, 27 Окт 2012, 15:04 | Сообщение # 2
 
Сообщений: 354
Награды: 1
Репутация: 112
Статус: Offline
в юнити не пробовал такое но в визуал басик когда новое окно все настройки старые надо когда окно окрываеться прочитать какое значине щас стоят и установить в новом окне

Сообщение отредактировал Hunjeth - Сб, 27 Окт 2012, 15:11
 
Сообщениев юнити не пробовал такое но в визуал басик когда новое окно все настройки старые надо когда окно окрываеться прочитать какое значине щас стоят и установить в новом окне

Автор - Hunjeth
Дата добавления - 27 Окт 2012 в 15:04
seamanДата: Сб, 27 Окт 2012, 17:27 | Сообщение # 3
Гуру
 
Сообщений: 1748
Награды: 10
Репутация: 660
Статус: Offline
А кто мешает использовать PlayerPrefs?
 
СообщениеА кто мешает использовать PlayerPrefs?

Автор - seaman
Дата добавления - 27 Окт 2012 в 17:27
HunjethДата: Сб, 27 Окт 2012, 17:31 | Сообщение # 4
 
Сообщений: 354
Награды: 1
Репутация: 112
Статус: Offline
seaman, а что используют например чтобы сохронять графику (модели текстуры) ? я хочу сделать что то типа рунтайм редактора
простых линий даже нету в рунтайме angry


Сообщение отредактировал Hunjeth - Сб, 27 Окт 2012, 17:34
 
Сообщениеseaman, а что используют например чтобы сохронять графику (модели текстуры) ? я хочу сделать что то типа рунтайм редактора
простых линий даже нету в рунтайме angry

Автор - Hunjeth
Дата добавления - 27 Окт 2012 в 17:31
seamanДата: Сб, 27 Окт 2012, 17:43 | Сообщение # 5
Гуру
 
Сообщений: 1748
Награды: 10
Репутация: 660
Статус: Offline
Меш элементарно сохранить в таком формате,какой нравится. Хоть в obj, хоть в 3ds, хоть в своем формате.
Текстуры проще в png, т.к. есть Texture2D.EncodeToPNG
Материалы самому сохранить не так просто, но тоже можно. А вот шейдеры только в бандлы похоже.
 
СообщениеМеш элементарно сохранить в таком формате,какой нравится. Хоть в obj, хоть в 3ds, хоть в своем формате.
Текстуры проще в png, т.к. есть Texture2D.EncodeToPNG
Материалы самому сохранить не так просто, но тоже можно. А вот шейдеры только в бандлы похоже.

Автор - seaman
Дата добавления - 27 Окт 2012 в 17:43
HunjethДата: Сб, 27 Окт 2012, 17:53 | Сообщение # 6
 
Сообщений: 354
Награды: 1
Репутация: 112
Статус: Offline
а как ты думаешь если unityeditor.dll или unityengine.dll разобрать и выдрать ту самую схему по каторой работают линии Debug.DrawRay немного изменить систему это будет работать в рунтайме?
так как в редакторе в игре работает все


Сообщение отредактировал Hunjeth - Сб, 27 Окт 2012, 18:12
 
Сообщениеа как ты думаешь если unityeditor.dll или unityengine.dll разобрать и выдрать ту самую схему по каторой работают линии Debug.DrawRay немного изменить систему это будет работать в рунтайме?
так как в редакторе в игре работает все

Автор - Hunjeth
Дата добавления - 27 Окт 2012 в 17:53
seamanДата: Сб, 27 Окт 2012, 18:13 | Сообщение # 7
Гуру
 
Сообщений: 1748
Награды: 10
Репутация: 660
Статус: Offline
1. Разобрать Debug.DrawRay легко, но это ничего не даст. Сама отрисовка идет не с менедж коде, а в натив:
Code
        public static void DrawLine(Vector3 start, Vector3 end)
         {
             float duration = 0f;
             Color white = Color.white;
             INTERNAL_CALL_DrawLine(ref start, ref end, ref white, duration);
         }
         public static void DrawLine(Vector3 start, Vector3 end, Color color)
         {
             float duration = 0f;
             INTERNAL_CALL_DrawLine(ref start, ref end, ref color, duration);
         }
         public static void DrawLine(Vector3 start, Vector3 end, Color color, float duration)
         {
             INTERNAL_CALL_DrawLine(ref start, ref end, ref color, duration);
         }
         public static void DrawRay(Vector3 start, Vector3 dir)
         {
             float duration = 0f;
             Color white = Color.white;
             DrawRay(start, dir, white, duration);
         }
         public static void DrawRay(Vector3 start, Vector3 dir, Color color)
         {
             float duration = 0f;
             DrawRay(start, dir, color, duration);
         }
         public static void DrawRay(Vector3 start, Vector3 dir, Color color, float duration)
         {
             DrawLine(start, start + dir, color, duration);
         }

2. Может подойдет это: GL.LINES (В ПРО только) или Vectrosity (точно не помню как плагин называется для отрисовки линий)
 
Сообщение1. Разобрать Debug.DrawRay легко, но это ничего не даст. Сама отрисовка идет не с менедж коде, а в натив:
Code
        public static void DrawLine(Vector3 start, Vector3 end)
         {
             float duration = 0f;
             Color white = Color.white;
             INTERNAL_CALL_DrawLine(ref start, ref end, ref white, duration);
         }
         public static void DrawLine(Vector3 start, Vector3 end, Color color)
         {
             float duration = 0f;
             INTERNAL_CALL_DrawLine(ref start, ref end, ref color, duration);
         }
         public static void DrawLine(Vector3 start, Vector3 end, Color color, float duration)
         {
             INTERNAL_CALL_DrawLine(ref start, ref end, ref color, duration);
         }
         public static void DrawRay(Vector3 start, Vector3 dir)
         {
             float duration = 0f;
             Color white = Color.white;
             DrawRay(start, dir, white, duration);
         }
         public static void DrawRay(Vector3 start, Vector3 dir, Color color)
         {
             float duration = 0f;
             DrawRay(start, dir, color, duration);
         }
         public static void DrawRay(Vector3 start, Vector3 dir, Color color, float duration)
         {
             DrawLine(start, start + dir, color, duration);
         }

2. Может подойдет это: GL.LINES (В ПРО только) или Vectrosity (точно не помню как плагин называется для отрисовки линий)

Автор - seaman
Дата добавления - 27 Окт 2012 в 18:13
AltairДата: Сб, 27 Окт 2012, 18:20 | Сообщение # 8
Unity 3D PRO Developer
 
Сообщений: 758
Награды: 6
Репутация: 195
Статус: Offline
Пацаны ,вы что тут обсуждаете ?!Как мне помочь dry ?!
 
СообщениеПацаны ,вы что тут обсуждаете ?!Как мне помочь dry ?!

Автор - Altair
Дата добавления - 27 Окт 2012 в 18:20
HunjethДата: Сб, 27 Окт 2012, 18:20 | Сообщение # 9
 
Сообщений: 354
Награды: 1
Репутация: 112
Статус: Offline
про GL.LINES и Vectrosity я знаю
это все херня
так как в Vectrosity линия это меш из 4 точек
а GL.LINES глючит с цветами и вообще
 
Сообщениепро GL.LINES и Vectrosity я знаю
это все херня
так как в Vectrosity линия это меш из 4 точек
а GL.LINES глючит с цветами и вообще

Автор - Hunjeth
Дата добавления - 27 Окт 2012 в 18:20
AltairДата: Сб, 27 Окт 2012, 18:23 | Сообщение # 10
Unity 3D PRO Developer
 
Сообщений: 758
Награды: 6
Репутация: 195
Статус: Offline
как сохранить значения переменных перед закрытием окна ?
// JavaScript example:
class MyWindow extends EditorWindow {
var myString = "Hello World";
var groupEnabled = false;
var myBool = true;
var myFloat = 1.23;

// Add menu named "My Window" to the Window menu
@MenuItem ("Window/My Window")
static function Init () {
// Get existing open window or if none, make a new one:
var window = ScriptableObject.CreateInstance.<MyWindow>();
}

function OnGUI () {
GUILayout.Label ("Base Settings", EditorStyles.boldLabel);
myString = EditorGUILayout.TextField ("Text Field", myString);

groupEnabled = EditorGUILayout.BeginToggleGroup ("Optional Settings", groupEnabled);
myBool = EditorGUILayout.Toggle ("Toggle", myBool);
myFloat = EditorGUILayout.Slider ("Slider", myFloat, -3, 3);
EditorGUILayout.EndToggleGroup ();
}
}

Добавлено (27.10.2012, 18:23)
---------------------------------------------
Я знаю два способа.1- это то,что сделать это окно как отображение каких-то переменных другого скрипта.2-это просто поместить это окно в ряд с Scene и Game,

 
Сообщениекак сохранить значения переменных перед закрытием окна ?
// JavaScript example:
class MyWindow extends EditorWindow {
var myString = "Hello World";
var groupEnabled = false;
var myBool = true;
var myFloat = 1.23;

// Add menu named "My Window" to the Window menu
@MenuItem ("Window/My Window")
static function Init () {
// Get existing open window or if none, make a new one:
var window = ScriptableObject.CreateInstance.<MyWindow>();
}

function OnGUI () {
GUILayout.Label ("Base Settings", EditorStyles.boldLabel);
myString = EditorGUILayout.TextField ("Text Field", myString);

groupEnabled = EditorGUILayout.BeginToggleGroup ("Optional Settings", groupEnabled);
myBool = EditorGUILayout.Toggle ("Toggle", myBool);
myFloat = EditorGUILayout.Slider ("Slider", myFloat, -3, 3);
EditorGUILayout.EndToggleGroup ();
}
}

Добавлено (27.10.2012, 18:23)
---------------------------------------------
Я знаю два способа.1- это то,что сделать это окно как отображение каких-то переменных другого скрипта.2-это просто поместить это окно в ряд с Scene и Game,


Автор - Altair
Дата добавления - 27 Окт 2012 в 18:23
seamanДата: Сб, 27 Окт 2012, 18:29 | Сообщение # 11
Гуру
 
Сообщений: 1748
Награды: 10
Репутация: 660
Статус: Offline
Повторяю:
Quote
А кто мешает использовать PlayerPrefs?
 
СообщениеПовторяю:
Quote
А кто мешает использовать PlayerPrefs?

Автор - seaman
Дата добавления - 27 Окт 2012 в 18:29
AltairДата: Сб, 27 Окт 2012, 18:33 | Сообщение # 12
Unity 3D PRO Developer
 
Сообщений: 758
Награды: 6
Репутация: 195
Статус: Offline
seaman, блин,повторяю...Ты лучше покажи пример,ато я не знаю как можно взаемодействовать префс с гуи окном... .
 
Сообщениеseaman, блин,повторяю...Ты лучше покажи пример,ато я не знаю как можно взаемодействовать префс с гуи окном... .

Автор - Altair
Дата добавления - 27 Окт 2012 в 18:33
seamanДата: Сб, 27 Окт 2012, 18:40 | Сообщение # 13
Гуру
 
Сообщений: 1748
Награды: 10
Репутация: 660
Статус: Offline
Quote
как можно взаемодействовать префс с гуи окном

Точно так же как со всем остальным
 
Сообщение
Quote
как можно взаемодействовать префс с гуи окном

Точно так же как со всем остальным

Автор - seaman
Дата добавления - 27 Окт 2012 в 18:40
AltairДата: Сб, 27 Окт 2012, 22:22 | Сообщение # 14
Unity 3D PRO Developer
 
Сообщений: 758
Награды: 6
Репутация: 195
Статус: Offline
seaman, понятно...!
 
Сообщениеseaman, понятно...!

Автор - Altair
Дата добавления - 27 Окт 2012 в 22:22
Форум Игроделов » UNITY3D » DECAL, GUI, HUD » Как сохранять значения в Editor Window (Помогите кто знает!)
  • Страница 1 из 1
  • 1
Поиск:
Загрузка...

Game Creating CommUnity © 2009 - 2024