void OnEnable() { map_parent_sprop = serializedObject.FindProperty("mapParent"); tile_selector_sprop = serializedObject.FindProperty("tileSelector"); width_sprop = serializedObject.FindProperty("width"); height_sprop = serializedObject.FindProperty("height"); step_x_sprop = serializedObject.FindProperty("stepX"); step_y_sprop = serializedObject.FindProperty("stepY"); z_step_sprop = serializedObject.FindProperty("zStep"); preview_color_sprop = serializedObject.FindProperty("previewColor"); preview_size_sprop = serializedObject.FindProperty("previewSize"); languages_available = AzulejistaLabels.GetAvailableLanguages(); }
public override void OnInspectorGUI() { serializedObject.Update(); var component = target as AzulejistaTileMaker; GUILayout.Label(labels.editor_only, EditorStyles.boldLabel); GUILayout.BeginHorizontal(); GUILayout.Label(labels.language); lang_selected_index = EditorGUILayout.Popup(lang_selected_index, languages_available); GUILayout.EndHorizontal(); if (component.editor_lang != languages_available[lang_selected_index]) { component.editor_lang = languages_available[lang_selected_index]; } if (labels.lang != component.editor_lang) { labels = AzulejistaLabels.GetTileMakerEditorLabels(component.editor_lang); } EditorGUILayout.PropertyField(preview_color_sprop, new GUIContent(labels.preview_color)); EditorGUILayout.PropertyField(preview_size_sprop, new GUIContent(labels.preview_size)); GUILayout.Space(10); GUILayout.Label(labels.references, EditorStyles.boldLabel); EditorGUILayout.PropertyField(map_parent_sprop, new GUIContent(labels.map_parent)); EditorGUILayout.PropertyField(tile_selector_sprop, new GUIContent(labels.tile_selector)); GUILayout.Space(10); GUILayout.Label(labels.map_dimensions, EditorStyles.boldLabel); EditorGUILayout.PropertyField(width_sprop, new GUIContent(labels.width)); EditorGUILayout.PropertyField(height_sprop, new GUIContent(labels.height)); GUILayout.Space(10); GUILayout.Label(labels.step_by_tile, EditorStyles.boldLabel); EditorGUILayout.PropertyField(step_x_sprop, new GUIContent(labels.step_x)); EditorGUILayout.PropertyField(step_y_sprop, new GUIContent(labels.step_y)); EditorGUILayout.PropertyField(z_step_sprop, new GUIContent(labels.z_step)); GUILayout.Space(15); GUILayout.BeginHorizontal(); if (GUILayout.Button(labels.regenerate_map_data)) { UpdateMapData(); } // botão de pré visualização if (GUILayout.Button(labels.generate_map)) { component.DestroyMap(); component.GenerateMap(); } GUILayout.EndHorizontal(); GUIStyle style = new GUIStyle(); style.fixedWidth = 15; style.fixedHeight = 15; var i_map_line = 0; while (i_map_line < component.map.Length) { var i_map_column = 0; GUILayout.BeginHorizontal(style); if (i_map_line == 0) { GUILayout.Label("#"); for (int i_column = 0; i_column < component.map[i_map_line].line.Length; i_column++) { GUILayout.Label(i_column.ToString(), GUILayout.Width(18)); } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(style); } GUILayout.Label(i_map_line.ToString()); while (i_map_column < component.map[i_map_line].line.Length) { component.map[i_map_line].line[i_map_column] = GUILayout.Toggle(component.map[i_map_line].line[i_map_column], ""); i_map_column += 1; } GUILayout.EndHorizontal(); i_map_line += 1; } serializedObject.ApplyModifiedProperties(); }