﻿using System;
using UnityEditor;
using UnityEngine;

[CustomEditor (typeof(BingMapDownloader))]
public class BingMapDownloaderEditor : Editor 
{
	BingMapDownloader m_BingMapSplatAsset;

	SerializedProperty eastLongitude;
	SerializedProperty westLongitude;
	SerializedProperty northLatitude;
	SerializedProperty southLatitude;
	SerializedProperty imageWidth;
	SerializedProperty imageHeight;
	SerializedProperty zoomLevel;
	SerializedProperty bingMapKey;

	void OnEnable () 
	{
		eastLongitude = serializedObject.FindProperty ("eastLongitudeRequired");
		westLongitude = serializedObject.FindProperty ("westLongitudeRequired");
		northLatitude = serializedObject.FindProperty ("northLatitudeRequired");
		southLatitude = serializedObject.FindProperty ("southLatitudeRequired");
		imageWidth = serializedObject.FindProperty ("bingImageWidth");
		imageHeight = serializedObject.FindProperty ("bingImageHeight");
		zoomLevel = serializedObject.FindProperty ("zoomLevel");
		bingMapKey = serializedObject.FindProperty ("bingMapKey");

		m_BingMapSplatAsset = target as BingMapDownloader;
	}

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

		EditorGUILayout.BeginVertical ();
		EditorGUILayout.PropertyField (eastLongitude);
		EditorGUILayout.PropertyField (westLongitude);
		EditorGUILayout.PropertyField (northLatitude);
		EditorGUILayout.PropertyField (southLatitude);
		EditorGUILayout.PropertyField (imageWidth);
		EditorGUILayout.PropertyField (imageHeight);
		EditorGUILayout.PropertyField (zoomLevel);
		EditorGUILayout.PropertyField (bingMapKey);

		if (GUILayout.Button ("Get From Bing"))
		{
			m_BingMapSplatAsset.GetBingMap ();
		}
		EditorGUILayout.EndVertical ();

		serializedObject.ApplyModifiedProperties ();
	}
}
