public override void OnInspectorGUI()
        {
            DrawDefaultInspector();

            GUILayout.Label("Tour Sources", EditorStyles.boldLabel);

            loadFromWebsite = EditorGUILayout.BeginToggleGroup("Load from Online ID?", loadFromWebsite);
            tourId          = EditorGUILayout.TextField("Tour ID", tourId);
            EditorGUILayout.EndToggleGroup();
            loadFromWebsite = !EditorGUILayout.BeginToggleGroup("Load from static file?", !loadFromWebsite);
            jsonFile        = EditorGUILayout.ObjectField("File to use", jsonFile, typeof(TextAsset), false);
            EditorGUILayout.EndToggleGroup();


            tb = (TourBuilderScriptable)target;
            if (GUILayout.Button("Reset"))
            {
                tb.ResetTour();
                loadStatus = "Status";
                EditorApplication.update -= EditorUpdate;
            }
            if (GUILayout.Button("Load Tour"))
            {
                Tour t;
                if (loadFromWebsite)
                {
                    www = Receiver.GetFromId(tourId);
                    www.SendWebRequest();
                    loadStatus = "Loading from website...";
                    EditorApplication.update += EditorUpdate;
                }
                else
                {
                    loadStatus = "Loaded from file";
                    TextAsset json = (TextAsset)jsonFile;
                    t = Serialize.Utility.CreateFromJSON(json.text);
                    tb.LoadTour(t);
                }
            }
            if (GUILayout.Button("Build Tour"))
            {
                tb.BuildTour();
                loadStatus = "Built!";
            }
            EditorGUILayout.HelpBox(loadStatus, MessageType.Info);
        }
        static void EditorUpdate()
        {
            if (!www.isDone)
            {
                return;
            }

            if (www.isNetworkError)
            {
                EditorUtility.DisplayDialog("Tour Builder", www.error, "Ok");
            }
            else
            {
                EditorUtility.DisplayDialog("Tour Builder", "Tour loaded OK!", "Ok");
                JObject config = JObject.Parse(www.downloadHandler.text);
                //Parse result for Tour specification. drop things like name and ID
                Tour t = Serialize.Utility.CreateFromJSON(config.SelectToken("config").ToString());
                tb.LoadTour(t);
            }
            EditorApplication.update -= EditorUpdate;
        }