Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions sdkproject/Assets/Mapbox/Core/Unity/Editor/FactoryEditor.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
using UnityEngine;
using System.Collections;
using UnityEditor;
using Mapbox.Unity.MeshGeneration.Factories;

[CustomEditor(typeof(Factory))]
public class FactoryEditor : Editor
{
public override void OnInspectorGUI()
{
}
}
12 changes: 12 additions & 0 deletions sdkproject/Assets/Mapbox/Core/Unity/Editor/FactoryEditor.cs.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

100 changes: 100 additions & 0 deletions sdkproject/Assets/Mapbox/Core/Unity/Editor/MapImageFactoryEditor.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
using UnityEngine;
using System.Collections;
using UnityEditor;
using Mapbox.Unity.MeshGeneration.Factories;

[CustomEditor(typeof(MapImageFactory))]
public class MapImageFactoryEditor : FactoryEditor
{
private MapImageFactory _factory;
public SerializedProperty
mapIdType_Prop,
material_Prop,
basicMaps_Prop,
customMapId_Prop,
mapId_Prop;
private MonoScript script;

private string[] _basicMapIds = new string[6] {
"mapbox://styles/mapbox/streets-v10",
"mapbox://styles/mapbox/outdoors-v10",
"mapbox://styles/mapbox/dark-v9",
"mapbox://styles/mapbox/light-v9",
"mapbox://styles/mapbox/satellite-v9",
"mapbox://styles/mapbox/satellite-streets-v10"};

private string[] _basicMapNames = new string[6] {
"Streets",
"Outdoors",
"Dark",
"Light",
"Satellite",
"Satellite Street"};

private int _choiceIndex = 0;
void OnEnable()
{
_factory = target as MapImageFactory;
customMapId_Prop = serializedObject.FindProperty("_customMapId");
mapIdType_Prop = serializedObject.FindProperty("_mapIdType");
mapId_Prop = serializedObject.FindProperty("_mapId");
material_Prop = serializedObject.FindProperty("_baseMaterial");
basicMaps_Prop = serializedObject.FindProperty("_basicMapIds");

script = MonoScript.FromScriptableObject((MapImageFactory)target);
for (int i = 0; i < _basicMapIds.Length; i++)
{
if (_basicMapIds[i] == mapId_Prop.stringValue)
{
_choiceIndex = i;
break;
}
}
}

public override void OnInspectorGUI()
{
serializedObject.Update();

GUI.enabled = false;
script = EditorGUILayout.ObjectField("Script", script, typeof(MonoScript), false) as MonoScript;
GUI.enabled = true;
EditorGUILayout.Space();
EditorGUILayout.Space();
EditorGUILayout.PropertyField(mapIdType_Prop, new GUIContent("Map Type"));
EditorGUILayout.Space();
var st = (MapImageType)mapIdType_Prop.enumValueIndex;
EditorGUI.indentLevel++;

switch (st)
{
case MapImageType.BasicMapboxStyle:
{
_choiceIndex = EditorGUILayout.Popup("Style", _choiceIndex, _basicMapNames);
mapId_Prop.stringValue = _basicMapIds[_choiceIndex];
GUI.enabled = false;
EditorGUILayout.PropertyField(mapId_Prop, new GUIContent("Map Id"));
GUI.enabled = true;
EditorGUILayout.PropertyField(material_Prop, new GUIContent("Material"));
break;
}
case MapImageType.Custom:
{
EditorGUILayout.PropertyField(customMapId_Prop, new GUIContent("Map Id"));
mapId_Prop.stringValue = customMapId_Prop.stringValue;
EditorGUILayout.PropertyField(material_Prop, new GUIContent("Material"));
break;
}
case MapImageType.None:
break;

}
EditorGUI.indentLevel--;

if (GUILayout.Button("Update"))
{
_factory.Update();
}
serializedObject.ApplyModifiedProperties();
}
}

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

59 changes: 59 additions & 0 deletions sdkproject/Assets/Mapbox/Core/Unity/Editor/MeshFactoryEditor.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
using UnityEngine;
using System.Collections;
using UnityEditor;
using Mapbox.Unity.MeshGeneration.Factories;
using Mapbox.Unity.MeshGeneration.Interfaces;

[CustomEditor(typeof(MeshFactory))]
public class MeshFactoryEditor : FactoryEditor
{
private MonoScript script;
private MeshFactory _factory;
SerializedProperty _visualizerList;
private int ListSize;
void OnEnable()
{
_factory = target as MeshFactory;
_visualizerList = serializedObject.FindProperty("Visualizers");
script = MonoScript.FromScriptableObject(_factory);
}
public override void OnInspectorGUI()
{
serializedObject.Update();

GUI.enabled = false;
script = EditorGUILayout.ObjectField("Script", script, typeof(MonoScript), false) as MonoScript;
GUI.enabled = true;

EditorGUILayout.Space();
EditorGUILayout.Space();
EditorGUILayout.LabelField("Layer Visualizers");

EditorGUILayout.Space();
EditorGUILayout.BeginHorizontal();
EditorGUILayout.LabelField("Key");
EditorGUILayout.LabelField("Visualizers");
EditorGUILayout.EndHorizontal();
for (int i = 0; i < _factory.Visualizers.Count; i++)
{
EditorGUILayout.BeginHorizontal();
if(_factory.Visualizers[i] != null)
_factory.Visualizers[i].Key = EditorGUILayout.TextField(_factory.Visualizers[i].Key, GUILayout.MaxWidth(100));
_factory.Visualizers[i] = (LayerVisualizerBase)EditorGUILayout.ObjectField(_factory.Visualizers[i], typeof(LayerVisualizerBase));

if (GUILayout.Button("-", GUILayout.MaxWidth(20)))
{
_visualizerList.DeleteArrayElementAtIndex(i);
}

EditorGUILayout.EndHorizontal();
}

if (GUILayout.Button("Add New Visualizer"))
{
_factory.Visualizers.Add(null);
}

serializedObject.ApplyModifiedProperties();
}
}

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

108 changes: 108 additions & 0 deletions sdkproject/Assets/Mapbox/Core/Unity/Editor/TerrainFactoryEditor.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
using UnityEngine;
using System.Collections;
using UnityEditor;
using Mapbox.Unity.MeshGeneration.Factories;

[CustomEditor(typeof(TerrainFactory))]
public class TerrainFactoryEditor : FactoryEditor
{
private string _defaultMapId = "mapbox.terrain-rgb";
private TerrainFactory _factory;
public SerializedProperty
state_Prop,
sampleCount_Prop,
mapIdType_Prop,
heightMod_Prop,
customMapId_Prop,
material_Prop,
mapId_Prop;
private MonoScript script;

void OnEnable()
{
_factory = target as TerrainFactory;
state_Prop = serializedObject.FindProperty("_generationType");
mapIdType_Prop = serializedObject.FindProperty("_mapIdType");
sampleCount_Prop = serializedObject.FindProperty("_sampleCount");
heightMod_Prop = serializedObject.FindProperty("_heightModifier");
mapId_Prop = serializedObject.FindProperty("_mapId");
material_Prop = serializedObject.FindProperty("_baseMaterial");

customMapId_Prop = serializedObject.FindProperty("_customMapId");

script = MonoScript.FromScriptableObject((TerrainFactory)target);
}

public override void OnInspectorGUI()
{
serializedObject.Update();

GUI.enabled = false;
script = EditorGUILayout.ObjectField("Script", script, typeof(MonoScript), false) as MonoScript;
GUI.enabled = true;
EditorGUILayout.Space();
EditorGUILayout.Space();
EditorGUILayout.PropertyField(state_Prop, new GUIContent("Map Type"));
EditorGUILayout.Space();
var st = (TerrainGenerationType)state_Prop.enumValueIndex;
EditorGUI.indentLevel++;
switch (st)
{
case TerrainGenerationType.Flat:

break;

case TerrainGenerationType.Height:
{
EditorGUILayout.PropertyField(mapIdType_Prop);
switch ((MapIdType)mapIdType_Prop.enumValueIndex)
{
case MapIdType.StandardHeight:
GUI.enabled = false;
EditorGUILayout.PropertyField(mapId_Prop, new GUIContent("Map Id"));
mapId_Prop.stringValue = _defaultMapId;
GUI.enabled = true;
break;
case MapIdType.Custom:
EditorGUILayout.PropertyField(customMapId_Prop, new GUIContent("Map Id"));
mapId_Prop.stringValue = customMapId_Prop.stringValue;
break;
}
break;
}
case TerrainGenerationType.ModifiedHeight:
EditorGUILayout.PropertyField(mapIdType_Prop);
switch ((MapIdType)mapIdType_Prop.enumValueIndex)
{
case MapIdType.StandardHeight:
GUI.enabled = false;
EditorGUILayout.PropertyField(mapId_Prop, new GUIContent("Map Id"));
mapId_Prop.stringValue = _defaultMapId;
GUI.enabled = true;
break;
case MapIdType.Custom:
EditorGUILayout.PropertyField(customMapId_Prop, new GUIContent("Map Id"));
mapId_Prop.stringValue = customMapId_Prop.stringValue;
break;
}
EditorGUILayout.PropertyField(heightMod_Prop, new GUIContent("Height Multiplier"));
break;

}
EditorGUI.indentLevel--;

EditorGUILayout.Space();
EditorGUILayout.BeginHorizontal();
EditorGUILayout.PropertyField(sampleCount_Prop, new GUIContent("Resolution"));
EditorGUILayout.LabelField("x " + sampleCount_Prop.intValue);
EditorGUILayout.EndHorizontal();
EditorGUILayout.PropertyField(material_Prop, new GUIContent("Material"));

if (GUILayout.Button("Update"))
{
_factory.Update();
}

serializedObject.ApplyModifiedProperties();
}
}

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,15 @@ public class MeshData
{
public Vector2 MercatorCenter { get; set; }
public RectD TileRect { get; set; }
public List<Vector3> Vertices { get; set; }
public List<Vector3> Vertices { get; set; }
public List<Vector3> Normals { get; set; }
public List<List<int>> Triangles { get; set; }
public List<List<Vector2>> UV { get; set; }

public MeshData()
{
Vertices = new List<Vector3>();
Normals = new List<Vector3>();
Triangles = new List<List<int>>();
UV = new List<List<Vector2>>();
UV.Add(new List<Vector2>());
Expand Down
Loading