You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
mapbox-sdk/Unity/Editor/PropertyDrawers/SpawnPrefabOptionsDrawer.cs

47 lines
1.6 KiB

namespace Mapbox.Unity.Map
{
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Mapbox.Unity.MeshGeneration.Modifiers;
using UnityEditor;
using Mapbox.Editor;
[CustomPropertyDrawer(typeof(SpawnPrefabOptions))]
public class SpawnPrefabOptionsDrawer : PropertyDrawer
{
static float lineHeight = EditorGUIUtility.singleLineHeight;
private GUIContent prefabContent = new GUIContent
{
text = "Prefab",
tooltip = "The prefab to be spawned"
};
private GUIContent scalePrefabContent = new GUIContent
{
text = "Scale down with world",
tooltip = "The prefab will scale with the map object"
};
public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
{
EditorGUI.BeginProperty(position, label, property);
position.height = 2.5f * lineHeight;
EditorGUI.BeginChangeCheck();
property.FindPropertyRelative("prefab").objectReferenceValue = EditorGUI.ObjectField(new Rect(position.x, position.y, position.width, lineHeight), prefabContent, property.FindPropertyRelative("prefab").objectReferenceValue, typeof(UnityEngine.GameObject), false);
position.y += lineHeight;
EditorGUI.PropertyField(new Rect(position.x, position.y, position.width, lineHeight), property.FindPropertyRelative("scaleDownWithWorld"), scalePrefabContent);
if(EditorGUI.EndChangeCheck())
{
EditorHelper.CheckForModifiedProperty(property);
}
EditorGUI.EndProperty();
}
public override float GetPropertyHeight(SerializedProperty property, GUIContent label)
{
return 2.0f * lineHeight;
}
}
}