예제 #1
0
    private void EditorExportParameters()
    {
        var folder = UnityEditor.EditorPrefs.GetString("Time of Day Folder", Application.dataPath);
        var file   = UnityEditor.EditorPrefs.GetString("Time of Day File", "Time of Day.xml");
        var path   = UnityEditor.EditorUtility.SaveFilePanel("Export", folder, file, "xml");

        if (string.IsNullOrEmpty(path))
        {
            return;
        }

        var serializer = new System.Xml.Serialization.XmlSerializer(typeof(TOD_Parameters));

        using (var filestream = new System.IO.FileStream(path, System.IO.FileMode.Create))
        {
            var parameters = new TOD_Parameters(this);
            var writer     = new System.Xml.XmlTextWriter(filestream, System.Text.Encoding.UTF8);
            writer.Formatting = System.Xml.Formatting.Indented;
            serializer.Serialize(writer, parameters);
            UnityEditor.AssetDatabase.Refresh();
        }

        UnityEditor.EditorPrefs.SetString("Time of Day Folder", System.IO.Path.GetDirectoryName(path));
        UnityEditor.EditorPrefs.SetString("Time of Day File", System.IO.Path.GetFileName(path));
    }
예제 #2
0
    public override void OnInspectorGUI()
    {
        GUILayout.BeginHorizontal();
        if (GUILayout.Button("Import"))
        {
            var folder = EditorPrefs.GetString("Time of Day Folder", Application.dataPath);

            var sky  = Selection.activeGameObject.GetComponent <TOD_Sky>();
            var path = EditorUtility.OpenFilePanel("Import", folder, "xml");

            if (string.IsNullOrEmpty(path))
            {
                return;
            }

            var serializer = new XmlSerializer(typeof(TOD_Parameters));

            using (var filestream = new FileStream(path, FileMode.Open))
            {
                var reader     = new XmlTextReader(filestream);
                var parameters = serializer.Deserialize(reader) as TOD_Parameters;
                parameters.ToSky(sky);
                EditorUtility.SetDirty(sky);
            }

            EditorPrefs.SetString("Time of Day Folder", Path.GetDirectoryName(path));
            EditorPrefs.SetString("Time of Day File", Path.GetFileName(path));
        }
        if (GUILayout.Button("Export"))
        {
            var folder = EditorPrefs.GetString("Time of Day Folder", Application.dataPath);
            var file   = EditorPrefs.GetString("Time of Day File", "Time of Day.xml");

            var sky  = Selection.activeGameObject.GetComponent <TOD_Sky>();
            var path = EditorUtility.SaveFilePanel("Export", folder, file, "xml");

            if (string.IsNullOrEmpty(path))
            {
                return;
            }

            var serializer = new XmlSerializer(typeof(TOD_Parameters));

            using (var filestream = new FileStream(path, FileMode.Create))
            {
                var parameters = new TOD_Parameters(sky);
                var writer     = new XmlTextWriter(filestream, Encoding.UTF8);
                writer.Formatting = Formatting.Indented;
                serializer.Serialize(writer, parameters);
                AssetDatabase.Refresh();
            }

            EditorPrefs.SetString("Time of Day Folder", Path.GetDirectoryName(path));
            EditorPrefs.SetString("Time of Day File", Path.GetFileName(path));
        }
        GUILayout.EndHorizontal();

        DrawDefaultInspector();
    }
예제 #3
0
    public override void OnInspectorGUI()
    {
        GUILayout.BeginHorizontal();
        if (GUILayout.Button("Import"))
        {
            var folder = EditorPrefs.GetString("Time of Day Folder", Application.dataPath);

            var sky  = Selection.activeGameObject.GetComponent<TOD_Sky>();
            var path = EditorUtility.OpenFilePanel("Import", folder, "xml");

            if (string.IsNullOrEmpty(path)) return;

            var serializer = new XmlSerializer(typeof(TOD_Parameters));

            using (var filestream = new FileStream(path, FileMode.Open))
            {
                var reader = new XmlTextReader(filestream);
                var parameters = serializer.Deserialize(reader) as TOD_Parameters;
                parameters.ToSky(sky);
                EditorUtility.SetDirty(sky);
            }

            EditorPrefs.SetString("Time of Day Folder", Path.GetDirectoryName(path));
            EditorPrefs.SetString("Time of Day File", Path.GetFileName(path));
        }
        if (GUILayout.Button("Export"))
        {
            var folder = EditorPrefs.GetString("Time of Day Folder", Application.dataPath);
            var file   = EditorPrefs.GetString("Time of Day File", "Time of Day.xml");

            var sky  = Selection.activeGameObject.GetComponent<TOD_Sky>();
            var path = EditorUtility.SaveFilePanel("Export", folder, file, "xml");

            if (string.IsNullOrEmpty(path)) return;

            var serializer = new XmlSerializer(typeof(TOD_Parameters));

            using (var filestream = new FileStream(path, FileMode.Create))
            {
                var parameters = new TOD_Parameters(sky);
                var writer = new XmlTextWriter(filestream, Encoding.UTF8);
                writer.Formatting = Formatting.Indented;
                serializer.Serialize(writer, parameters);
                AssetDatabase.Refresh();
            }

            EditorPrefs.SetString("Time of Day Folder", Path.GetDirectoryName(path));
            EditorPrefs.SetString("Time of Day File", Path.GetFileName(path));
        }
        GUILayout.EndHorizontal();

        DrawDefaultInspector();
    }
예제 #4
0
    public override void OnInspectorGUI()
    {
                #if UNITY_3
        EditorGUIUtility.LookLikeInspector();
                #endif

        GUILayout.BeginHorizontal();
        if (GUILayout.Button("Import"))
        {
            var sky  = Selection.activeGameObject.GetComponent <TOD_Sky>();
            var path = EditorUtility.OpenFilePanel("Import", Application.dataPath, "xml");

            if (string.IsNullOrEmpty(path))
            {
                return;
            }

            var serializer = new XmlSerializer(typeof(TOD_Parameters));

            using (var filestream = new FileStream(path, FileMode.Open))
            {
                var reader     = new XmlTextReader(filestream);
                var parameters = serializer.Deserialize(reader) as TOD_Parameters;
                parameters.ToSky(sky);
                EditorUtility.SetDirty(sky);
            }
        }
        if (GUILayout.Button("Export"))
        {
            var sky  = Selection.activeGameObject.GetComponent <TOD_Sky>();
            var path = EditorUtility.SaveFilePanelInProject("Export", "Time of Day.xml", "xml", "");

            if (string.IsNullOrEmpty(path))
            {
                return;
            }

            var serializer = new XmlSerializer(typeof(TOD_Parameters));

            using (var filestream = new FileStream(path, FileMode.Create))
            {
                var parameters = new TOD_Parameters(sky);
                var writer     = new XmlTextWriter(filestream, Encoding.Unicode);
                serializer.Serialize(writer, parameters);
                AssetDatabase.Refresh();
            }
        }
        GUILayout.EndHorizontal();

        DrawDefaultInspector();
    }
예제 #5
0
	private void EditorExportParameters()
	{
		var folder = UnityEditor.EditorPrefs.GetString("Time of Day Folder", Application.dataPath);
		var file   = UnityEditor.EditorPrefs.GetString("Time of Day File", "Time of Day.xml");
		var path = UnityEditor.EditorUtility.SaveFilePanel("Export", folder, file, "xml");

		if (string.IsNullOrEmpty(path)) return;

		var serializer = new System.Xml.Serialization.XmlSerializer(typeof(TOD_Parameters));

		using (var filestream = new System.IO.FileStream(path, System.IO.FileMode.Create))
		{
			var parameters = new TOD_Parameters(this);
			var writer = new System.Xml.XmlTextWriter(filestream, System.Text.Encoding.UTF8);
			writer.Formatting = System.Xml.Formatting.Indented;
			serializer.Serialize(writer, parameters);
			UnityEditor.AssetDatabase.Refresh();
		}

		UnityEditor.EditorPrefs.SetString("Time of Day Folder", System.IO.Path.GetDirectoryName(path));
		UnityEditor.EditorPrefs.SetString("Time of Day File", System.IO.Path.GetFileName(path));
	}