mikymod 11 лет назад
Родитель
Сommit
6fb384b507

+ 6 - 3
tools/gui/UnitEditor/UnitEditor/MainMenu.cs → tools/gui/UnitEditor/MainMenu.cs

@@ -102,7 +102,7 @@ namespace UnitEditor
 				new Gtk.ActionEntry ("SaveAll", null, "Save All", (keys.ContainsKey ("SaveAll")) ? keys ["SaveAll"] : null, null, null),
 				new Gtk.ActionEntry ("Close", null, "Close", (keys.ContainsKey ("Close")) ? keys ["Close"] : null, null, null),
 				new Gtk.ActionEntry ("CloseAll", null, "Close All", (keys.ContainsKey ("CloseAll")) ? keys ["CloseAll"] : null, null, null),
-				new Gtk.ActionEntry ("Quit", null, "Quit", (keys.ContainsKey ("Quit")) ? keys ["Quit"] : null, null, null),
+				new Gtk.ActionEntry ("Quit", null, "Quit", (keys.ContainsKey ("Quit")) ? keys ["Quit"] : null, null, exit_cb),
 
 				new Gtk.ActionEntry ("EditMenu", null, "_Edit", null, null, null),
 				new Gtk.ActionEntry ("Undo", null, "Undo", (keys.ContainsKey ("Undo")) ? keys ["Undo"] : null, null, null),
@@ -144,8 +144,6 @@ namespace UnitEditor
 			instance = (Gtk.MenuBar)uim.GetWidget ("/menubar");
 			// Mark everything on the menubar to be shown.
 			instance.ShowAll ();
-
-			Console.Write (instance.Name);
 		}
 
 		static void exit_cb (object o, EventArgs args)
@@ -172,6 +170,11 @@ namespace UnitEditor
 			//Don't forget to call Destroy() or the FileChooserDialog window won't get closed.
 			fc.Destroy();
 		}
+
+		static void save_cb(object sender, DeleteEventArgs args)
+		{
+
+		}
 	}
 }
 

+ 2 - 1
tools/gui/UnitEditor/UnitEditor/MainWindow.cs → tools/gui/UnitEditor/MainWindow.cs

@@ -20,7 +20,8 @@ public partial class MainWindow: Gtk.Window
 		this.AddAccelGroup (mb.uim.AccelGroup);
 		box.PackStart(mb.instance, false, false, 0);
 
-
+		MaterialFile mf = new MaterialFile ("/home/mikymod/samples/doodles/opensans.material");
+		mf.serialize ();
 		ShowAll ();
 	}
 

+ 57 - 0
tools/gui/UnitEditor/MaterialFile.cs

@@ -0,0 +1,57 @@
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+
+using Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
+
+namespace UnitEditor
+{
+	public class MaterialFile
+	{
+		private JObject m_root;
+		private List<string> m_materials;
+
+		public MaterialFile (string mat_file_name)
+		{
+			string json_string = string.Empty;
+
+			using (StreamReader streamReader = new StreamReader(mat_file_name))
+			{            
+				json_string = streamReader.ReadToEnd();
+				m_root = JObject.Parse (json_string);
+			}
+
+			deserialize ();
+		}
+
+		public string[] materials()
+		{
+			return m_materials.ToArray ();
+		}
+
+		public void deserialize()
+		{
+			JToken renderables_token = m_root ["texture_layers"];
+			m_materials = JsonConvert.DeserializeObject<List<string>>(renderables_token.ToString());
+		}
+
+		public void serialize()
+		{
+			string json_string = "{\n";
+			json_string += "\"texture_layers\": [\n";
+			string last = m_materials.Last();
+			foreach (string m in m_materials)
+			{
+				json_string += "\"" + m + "\"\n";
+				if (m != last) json_string += ",";
+			}
+			json_string += "]\n";
+			json_string += "}";
+
+			Console.Write (json_string);
+		}
+	}
+}
+

+ 12 - 0
tools/gui/UnitEditor/PhysicsFile.cs

@@ -0,0 +1,12 @@
+using System;
+
+namespace UnitEditor
+{
+	public class PhysicsFile
+	{
+		public PhysicsFile ()
+		{
+		}
+	}
+}
+

+ 0 - 0
tools/gui/UnitEditor/UnitEditor/Program.cs → tools/gui/UnitEditor/Program.cs


+ 0 - 0
tools/gui/UnitEditor/UnitEditor/Properties/AssemblyInfo.cs → tools/gui/UnitEditor/Properties/AssemblyInfo.cs


+ 0 - 0
tools/gui/UnitEditor/UnitEditor/RenderablesList.cs → tools/gui/UnitEditor/RenderablesList.cs


+ 0 - 0
tools/gui/UnitEditor/UnitEditor/Types.cs → tools/gui/UnitEditor/Types.cs


+ 2 - 0
tools/gui/UnitEditor/UnitEditor/UnitEditor.csproj → tools/gui/UnitEditor/UnitEditor.csproj

@@ -81,6 +81,8 @@
     <Compile Include="UnitFile.cs" />
     <Compile Include="UnitForm.cs" />
     <Compile Include="gtk-gui\UnitEditor.UnitForm.cs" />
+    <Compile Include="MaterialFile.cs" />
+    <Compile Include="PhysicsFile.cs" />
   </ItemGroup>
   <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
 </Project>

+ 2 - 2
tools/gui/UnitEditor/UnitEditor.sln

@@ -1,7 +1,7 @@
 
 Microsoft Visual Studio Solution File, Format Version 11.00
 # Visual Studio 2010
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitEditor", "UnitEditor\UnitEditor.csproj", "{5F034BDB-0B44-4ED5-A95A-72BF1701F05C}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitEditor", "UnitEditor.csproj", "{5F034BDB-0B44-4ED5-A95A-72BF1701F05C}"
 EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -15,6 +15,6 @@ Global
 		{5F034BDB-0B44-4ED5-A95A-72BF1701F05C}.Release|x86.Build.0 = Release|x86
 	EndGlobalSection
 	GlobalSection(MonoDevelopProperties) = preSolution
-		StartupItem = UnitEditor\UnitEditor.csproj
+		StartupItem = UnitEditor.csproj
 	EndGlobalSection
 EndGlobal

+ 1 - 0
tools/gui/UnitEditor/UnitEditor/UnitFile.cs → tools/gui/UnitEditor/UnitFile.cs

@@ -52,6 +52,7 @@ namespace UnitEditor
 		{
 			string json_string = "{";
 			json_string += "\"renderables\": {";
+
 			string last = m_renderables.Keys.Last ();
 			foreach (var r in m_renderables)
 			{

+ 0 - 0
tools/gui/UnitEditor/UnitEditor/UnitForm.cs → tools/gui/UnitEditor/UnitForm.cs


+ 0 - 0
tools/gui/UnitEditor/UnitEditor/gtk-gui/MainWindow.cs → tools/gui/UnitEditor/gtk-gui/MainWindow.cs


+ 0 - 0
tools/gui/UnitEditor/UnitEditor/gtk-gui/UnitEditor.MainMenu.cs → tools/gui/UnitEditor/gtk-gui/UnitEditor.MainMenu.cs


+ 0 - 0
tools/gui/UnitEditor/UnitEditor/gtk-gui/UnitEditor.RenderablesList.cs → tools/gui/UnitEditor/gtk-gui/UnitEditor.RenderablesList.cs


+ 0 - 0
tools/gui/UnitEditor/UnitEditor/gtk-gui/UnitEditor.UnitForm.cs → tools/gui/UnitEditor/gtk-gui/UnitEditor.UnitForm.cs


+ 0 - 0
tools/gui/UnitEditor/UnitEditor/gtk-gui/generated.cs → tools/gui/UnitEditor/gtk-gui/generated.cs


+ 0 - 0
tools/gui/UnitEditor/UnitEditor/gtk-gui/gui.stetic → tools/gui/UnitEditor/gtk-gui/gui.stetic