Mud Designer HUB: * frmMain.cs - HUB now scans entire solution directory to find the correct app to launch rather than just checking the Project Manager directory. * frmMain.cs - HUB now has the app launch precess wrapped within a try/catch/finally. No exception handling added as of yet within the catch. MUDEngine: * Engine.cs - ValidateProjectPath method now creates the Currency directory. * Objects namespace added. * Moved the Environment namespace and folder within the new Objects namespace. * BaseObject.cs created. All Game objects will inherit from this, or a child of this class. * Currency.cs created. * ProjectInformation.cs - Added using statements. Project Manager: * Added Using statements for MUDEngine
93 lines
3.1 KiB
C#
93 lines
3.1 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Data;
|
|
using System.Drawing;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Windows.Forms;
|
|
|
|
namespace MudDesigner
|
|
{
|
|
public partial class frmMain : Form
|
|
{
|
|
public const int VersionMajor = 1;
|
|
public const int VersionMinor = 0;
|
|
public const int VersionRevision = 0;
|
|
public string version = VersionMajor.ToString() + "." + VersionMinor.ToString() + "." + VersionRevision.ToString();
|
|
|
|
public frmMain()
|
|
{
|
|
InitializeComponent();
|
|
this.Text = "Mud Designer Beta " + version;
|
|
}
|
|
|
|
private void btnProjectManager_Click(object sender, EventArgs e)
|
|
{
|
|
ExecuteApp("Project Manager.exe");
|
|
}
|
|
|
|
private void ExecuteApp(string appName)
|
|
{
|
|
System.Diagnostics.Process process = new System.Diagnostics.Process();
|
|
System.Diagnostics.ProcessStartInfo info = new System.Diagnostics.ProcessStartInfo();
|
|
|
|
//If running in debug mode we need to hard-code the paths as during normal running of the apps
|
|
//all of the apps are running within the Apps directory.
|
|
#if DEBUG
|
|
string[] apps = System.IO.Directory.GetFiles(@"C:\CodePlex\MudDesigner\", "*.exe", System.IO.SearchOption.AllDirectories);
|
|
List<string> legalApps = new List<string>();
|
|
|
|
foreach(string app in apps)
|
|
{
|
|
if ((!app.EndsWith(".vshost.exe"))
|
|
&& (!app.EndsWith(".vshost.exe.manifest"))
|
|
&& System.IO.Directory.GetParent(app).Name == "Debug"
|
|
&& System.IO.Directory.GetParent(app).Parent.Name == "bin")
|
|
{
|
|
legalApps.Add(app);
|
|
}
|
|
}
|
|
string filename = "" ;
|
|
foreach(string app in legalApps)
|
|
{
|
|
if (System.IO.Path.GetFileName(app).ToLower() == appName.ToLower())
|
|
{
|
|
filename = app;
|
|
break;
|
|
}
|
|
}
|
|
info.FileName = filename;
|
|
#else
|
|
info.FileName = appName;
|
|
#endif
|
|
info.WindowStyle = System.Diagnostics.ProcessWindowStyle.Normal;
|
|
info.WorkingDirectory = Application.StartupPath;
|
|
|
|
//If running in debug mode we dont want the apps saving stuff outside of its debug folder
|
|
#if DEBUG
|
|
info.Arguments = "";
|
|
#else
|
|
info.Arguments = Application.StartupPath + "\Data\";
|
|
#endif
|
|
process.StartInfo = info;
|
|
try
|
|
{
|
|
process.Start();
|
|
this.Hide();
|
|
process.WaitForExit();
|
|
}
|
|
catch { }
|
|
finally
|
|
{
|
|
process = null;
|
|
this.Show();
|
|
}
|
|
}
|
|
|
|
private void btnCurrencyEditor_Click(object sender, EventArgs e)
|
|
{
|
|
ExecuteApp("Currency Editor.exe");
|
|
}
|
|
}
|
|
}
|