diff --git a/CSharp/Engines/WindowsForms/Plugins/UniversalEditor.Plugins.KnowledgeAdventure.UserInterface.WindowsForms/Editors/KnowledgeAdventure/Actor/ActorEditor.Designer.cs b/CSharp/Engines/WindowsForms/Plugins/UniversalEditor.Plugins.KnowledgeAdventure.UserInterface.WindowsForms/Editors/KnowledgeAdventure/Actor/ActorEditor.Designer.cs
new file mode 100644
index 00000000..0a5174d4
--- /dev/null
+++ b/CSharp/Engines/WindowsForms/Plugins/UniversalEditor.Plugins.KnowledgeAdventure.UserInterface.WindowsForms/Editors/KnowledgeAdventure/Actor/ActorEditor.Designer.cs
@@ -0,0 +1,129 @@
+namespace UniversalEditor.Plugins.KnowledgeAdventure.UserInterface.WindowsForms.Editors.KnowledgeAdventure.Actor
+{
+ partial class ActorEditor
+ {
+ ///
+ /// Required designer variable.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// Clean up any resources being used.
+ ///
+ /// true if managed resources should be disposed; otherwise, false.
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Component Designer generated code
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent()
+ {
+ this.fraGeneralInformation = new System.Windows.Forms.GroupBox();
+ this.lblName = new System.Windows.Forms.Label();
+ this.txtName = new System.Windows.Forms.TextBox();
+ this.lblImageFileName = new System.Windows.Forms.Label();
+ this.txtImageFileName = new System.Windows.Forms.TextBox();
+ this.cmdBrowseImageFileName = new System.Windows.Forms.Button();
+ this.fraGeneralInformation.SuspendLayout();
+ this.SuspendLayout();
+ //
+ // fraGeneralInformation
+ //
+ this.fraGeneralInformation.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.fraGeneralInformation.Controls.Add(this.cmdBrowseImageFileName);
+ this.fraGeneralInformation.Controls.Add(this.txtImageFileName);
+ this.fraGeneralInformation.Controls.Add(this.lblImageFileName);
+ this.fraGeneralInformation.Controls.Add(this.txtName);
+ this.fraGeneralInformation.Controls.Add(this.lblName);
+ this.fraGeneralInformation.FlatStyle = System.Windows.Forms.FlatStyle.System;
+ this.fraGeneralInformation.Location = new System.Drawing.Point(4, 4);
+ this.fraGeneralInformation.Name = "fraGeneralInformation";
+ this.fraGeneralInformation.Size = new System.Drawing.Size(326, 100);
+ this.fraGeneralInformation.TabIndex = 0;
+ this.fraGeneralInformation.TabStop = false;
+ this.fraGeneralInformation.Text = "General information";
+ //
+ // lblName
+ //
+ this.lblName.AutoSize = true;
+ this.lblName.FlatStyle = System.Windows.Forms.FlatStyle.System;
+ this.lblName.Location = new System.Drawing.Point(15, 22);
+ this.lblName.Name = "lblName";
+ this.lblName.Size = new System.Drawing.Size(64, 13);
+ this.lblName.TabIndex = 0;
+ this.lblName.Text = "Actor &name:";
+ //
+ // txtName
+ //
+ this.txtName.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.txtName.Location = new System.Drawing.Point(105, 19);
+ this.txtName.Name = "txtName";
+ this.txtName.Size = new System.Drawing.Size(215, 20);
+ this.txtName.TabIndex = 1;
+ //
+ // lblImageFileName
+ //
+ this.lblImageFileName.AutoSize = true;
+ this.lblImageFileName.FlatStyle = System.Windows.Forms.FlatStyle.System;
+ this.lblImageFileName.Location = new System.Drawing.Point(15, 48);
+ this.lblImageFileName.Name = "lblImageFileName";
+ this.lblImageFileName.Size = new System.Drawing.Size(84, 13);
+ this.lblImageFileName.TabIndex = 0;
+ this.lblImageFileName.Text = "Image &file name:";
+ //
+ // txtImageFileName
+ //
+ this.txtImageFileName.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.txtImageFileName.Location = new System.Drawing.Point(105, 45);
+ this.txtImageFileName.Name = "txtImageFileName";
+ this.txtImageFileName.Size = new System.Drawing.Size(215, 20);
+ this.txtImageFileName.TabIndex = 1;
+ //
+ // cmdBrowseImageFileName
+ //
+ this.cmdBrowseImageFileName.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+ this.cmdBrowseImageFileName.FlatStyle = System.Windows.Forms.FlatStyle.System;
+ this.cmdBrowseImageFileName.Location = new System.Drawing.Point(245, 71);
+ this.cmdBrowseImageFileName.Name = "cmdBrowseImageFileName";
+ this.cmdBrowseImageFileName.Size = new System.Drawing.Size(75, 23);
+ this.cmdBrowseImageFileName.TabIndex = 2;
+ this.cmdBrowseImageFileName.Text = "&Browse...";
+ this.cmdBrowseImageFileName.UseVisualStyleBackColor = true;
+ this.cmdBrowseImageFileName.Click += new System.EventHandler(this.cmdBrowseImageFileName_Click);
+ //
+ // ActorEditor
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.Controls.Add(this.fraGeneralInformation);
+ this.Name = "ActorEditor";
+ this.Size = new System.Drawing.Size(333, 227);
+ this.fraGeneralInformation.ResumeLayout(false);
+ this.fraGeneralInformation.PerformLayout();
+ this.ResumeLayout(false);
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.GroupBox fraGeneralInformation;
+ private System.Windows.Forms.Label lblName;
+ private System.Windows.Forms.Button cmdBrowseImageFileName;
+ private System.Windows.Forms.TextBox txtImageFileName;
+ private System.Windows.Forms.Label lblImageFileName;
+ private System.Windows.Forms.TextBox txtName;
+ }
+}
diff --git a/CSharp/Engines/WindowsForms/Plugins/UniversalEditor.Plugins.KnowledgeAdventure.UserInterface.WindowsForms/Editors/KnowledgeAdventure/Actor/ActorEditor.cs b/CSharp/Engines/WindowsForms/Plugins/UniversalEditor.Plugins.KnowledgeAdventure.UserInterface.WindowsForms/Editors/KnowledgeAdventure/Actor/ActorEditor.cs
new file mode 100644
index 00000000..1bd03c14
--- /dev/null
+++ b/CSharp/Engines/WindowsForms/Plugins/UniversalEditor.Plugins.KnowledgeAdventure.UserInterface.WindowsForms/Editors/KnowledgeAdventure/Actor/ActorEditor.cs
@@ -0,0 +1,51 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Drawing;
+using System.Text;
+using System.Windows.Forms;
+using UniversalEditor.UserInterface;
+using UniversalEditor.UserInterface.WindowsForms;
+
+using UniversalEditor.ObjectModels.KnowledgeAdventure.Actor;
+
+namespace UniversalEditor.Plugins.KnowledgeAdventure.UserInterface.WindowsForms.Editors.KnowledgeAdventure.Actor
+{
+ public partial class ActorEditor : Editor
+ {
+ public ActorEditor()
+ {
+ InitializeComponent();
+ }
+
+ private static EditorReference _er = null;
+ public override EditorReference MakeReference()
+ {
+ if (_er == null)
+ {
+ _er = base.MakeReference();
+ _er.SupportedObjectModels.Add(typeof(ActorObjectModel));
+ }
+ return _er;
+ }
+
+ private void cmdBrowseImageFileName_Click(object sender, EventArgs e)
+ {
+ OpenFileDialog ofd = new OpenFileDialog();
+
+ if (ObjectModel.Accessor != null)
+ {
+ string fileName = ObjectModel.Accessor.GetFileName();
+ if (System.IO.File.Exists(fileName))
+ {
+ ofd.InitialDirectory = System.IO.Path.GetDirectoryName(fileName);
+ }
+ }
+
+ if (ofd.ShowDialog() == DialogResult.OK)
+ {
+ txtImageFileName.Text = System.IO.Path.GetFileName(ofd.FileName);
+ }
+ }
+ }
+}
diff --git a/CSharp/Engines/WindowsForms/Plugins/UniversalEditor.Plugins.KnowledgeAdventure.UserInterface.WindowsForms/Editors/KnowledgeAdventure/Actor/ActorEditor.resx b/CSharp/Engines/WindowsForms/Plugins/UniversalEditor.Plugins.KnowledgeAdventure.UserInterface.WindowsForms/Editors/KnowledgeAdventure/Actor/ActorEditor.resx
new file mode 100644
index 00000000..7080a7d1
--- /dev/null
+++ b/CSharp/Engines/WindowsForms/Plugins/UniversalEditor.Plugins.KnowledgeAdventure.UserInterface.WindowsForms/Editors/KnowledgeAdventure/Actor/ActorEditor.resx
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
diff --git a/CSharp/Engines/WindowsForms/Plugins/UniversalEditor.Plugins.KnowledgeAdventure.UserInterface.WindowsForms/Properties/AssemblyInfo.cs b/CSharp/Engines/WindowsForms/Plugins/UniversalEditor.Plugins.KnowledgeAdventure.UserInterface.WindowsForms/Properties/AssemblyInfo.cs
new file mode 100644
index 00000000..499fb6d8
--- /dev/null
+++ b/CSharp/Engines/WindowsForms/Plugins/UniversalEditor.Plugins.KnowledgeAdventure.UserInterface.WindowsForms/Properties/AssemblyInfo.cs
@@ -0,0 +1,36 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("UniversalEditor.Plugins.KA.UI.WindowsForms")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("Microsoft")]
+[assembly: AssemblyProduct("UniversalEditor.Plugins.KA.UI.WindowsForms")]
+[assembly: AssemblyCopyright("Copyright © Microsoft 2015")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components. If you need to access a type in this assembly from
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("b23117e5-af17-4295-bc0a-eca398120186")]
+
+// Version information for an assembly consists of the following four values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/CSharp/Engines/WindowsForms/Plugins/UniversalEditor.Plugins.KnowledgeAdventure.UserInterface.WindowsForms/UniversalEditor.Plugins.KnowledgeAdventure.UserInterface.WindowsForms.csproj b/CSharp/Engines/WindowsForms/Plugins/UniversalEditor.Plugins.KnowledgeAdventure.UserInterface.WindowsForms/UniversalEditor.Plugins.KnowledgeAdventure.UserInterface.WindowsForms.csproj
new file mode 100644
index 00000000..7920a892
--- /dev/null
+++ b/CSharp/Engines/WindowsForms/Plugins/UniversalEditor.Plugins.KnowledgeAdventure.UserInterface.WindowsForms/UniversalEditor.Plugins.KnowledgeAdventure.UserInterface.WindowsForms.csproj
@@ -0,0 +1,82 @@
+
+
+
+
+ Debug
+ AnyCPU
+ {2006E5F0-E3C2-4F3C-9F55-2171B9334FA4}
+ Library
+ Properties
+ UniversalEditor.Plugins.KnowledgeAdventure.UserInterface.WindowsForms
+ UniversalEditor.Plugins.KnowledgeAdventure.UserInterface.WindowsForms
+ v3.5
+ 512
+
+
+ true
+ full
+ false
+ ..\..\..\..\Output\Debug\Plugins\
+ DEBUG;TRACE
+ prompt
+ 4
+
+
+ pdbonly
+ true
+ ..\..\..\..\Output\Release\Plugins\
+ TRACE
+ prompt
+ 4
+
+
+
+
+
+
+
+
+
+ UserControl
+
+
+ ActorEditor.cs
+
+
+
+
+
+ {2d4737e6-6d95-408a-90db-8dff38147e85}
+ UniversalEditor.Core
+
+
+ {8622ebc4-8e20-476e-b284-33d472081f5c}
+ UniversalEditor.UserInterface
+
+
+ {30467e5c-05bc-4856-aadc-13906ef4cadd}
+ UniversalEditor.Essential
+
+
+ {991f734f-d659-4252-8d2d-e6f828474861}
+ UniversalEditor.Plugins.KnowledgeAdventure
+
+
+ {bcbb72bd-0ecb-4ff2-8d91-e466361fb6f9}
+ UniversalEditor.UserInterface.WindowsForms
+
+
+
+
+ ActorEditor.cs
+
+
+
+
+
\ No newline at end of file
diff --git a/CSharp/UniversalEditor.sln b/CSharp/UniversalEditor.sln
index 3a791451..0914c3a8 100644
--- a/CSharp/UniversalEditor.sln
+++ b/CSharp/UniversalEditor.sln
@@ -1,8 +1,6 @@
Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 2013
-VisualStudioVersion = 12.0.21005.1
-MinimumVisualStudioVersion = 10.0.40219.1
+# Visual Studio 2012
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Libraries", "Libraries", "{15D19291-4200-4C30-A68A-0191B6F83BE1}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniversalEditor.Core", "Libraries\UniversalEditor.Core\UniversalEditor.Core.csproj", "{2D4737E6-6D95-408A-90DB-8DFF38147E85}"
@@ -159,6 +157,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "GTK", "GTK", "{F987D8B5-639
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniversalEditor.Engines.GTK", "Engines\GTK\UniversalEditor.Engines.GTK\UniversalEditor.Engines.GTK.csproj", "{AF5F8ED3-D534-4609-94ED-B2800455B88F}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniversalEditor.Plugins.KnowledgeAdventure.UserInterface.WindowsForms", "Engines\WindowsForms\Plugins\UniversalEditor.Plugins.KnowledgeAdventure.UserInterface.WindowsForms\UniversalEditor.Plugins.KnowledgeAdventure.UserInterface.WindowsForms.csproj", "{2006E5F0-E3C2-4F3C-9F55-2171B9334FA4}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -430,6 +430,10 @@ Global
{AF5F8ED3-D534-4609-94ED-B2800455B88F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{AF5F8ED3-D534-4609-94ED-B2800455B88F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{AF5F8ED3-D534-4609-94ED-B2800455B88F}.Release|Any CPU.Build.0 = Release|Any CPU
+ {2006E5F0-E3C2-4F3C-9F55-2171B9334FA4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {2006E5F0-E3C2-4F3C-9F55-2171B9334FA4}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {2006E5F0-E3C2-4F3C-9F55-2171B9334FA4}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {2006E5F0-E3C2-4F3C-9F55-2171B9334FA4}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -504,6 +508,7 @@ Global
{14341BB8-05E4-4EF8-AD05-3D3073C1EF00} = {D3CE7A47-3989-4B6D-9867-0EA3C8DD7AB1}
{B6F4A892-3701-445D-A7E9-B5D5C07FEF2D} = {D3CE7A47-3989-4B6D-9867-0EA3C8DD7AB1}
{CF83423B-800F-4EF9-8955-E7A8C2C5C057} = {D3CE7A47-3989-4B6D-9867-0EA3C8DD7AB1}
+ {2006E5F0-E3C2-4F3C-9F55-2171B9334FA4} = {D3CE7A47-3989-4B6D-9867-0EA3C8DD7AB1}
{118E40C4-323E-4B4B-8EF4-38EED6CC5E83} = {54990D5E-CE09-459F-916E-AF13101765B4}
{A5A14A71-5DB3-4495-92F6-8D27C98FF0F4} = {BC6859FB-B61C-471D-9F84-613E5C388C52}
{AF5F8ED3-D534-4609-94ED-B2800455B88F} = {F987D8B5-6393-4272-A9F6-62A7744CB070}