Co-locate the two cockpit-pod projects into a single repository:
- Console/ : TeslaConsole, the net48 WinForms operator console (decompiled
reconstruction) plus its differential + catalog test suite.
- Launcher/ : TeslaLauncher, the net6 pod-side Service + Agent rewrite.
Adds a combined TeslaSuite.sln, root README documenting the shared wire
contract (and its current duplication, the main follow-up), and a root
.gitignore. Histories were not preserved per request; this is a fresh start
from the current working state of both projects.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
45 lines
800 B
C#
45 lines
800 B
C#
using System.Drawing;
|
|
using System.IO;
|
|
using System.Windows.Forms;
|
|
using System.Xml;
|
|
|
|
namespace TeslaConsole.RedPlanet;
|
|
|
|
public class RPMap
|
|
{
|
|
private readonly string mKey;
|
|
|
|
private readonly string mName;
|
|
|
|
private readonly string mImagePath;
|
|
|
|
public string Key => mKey;
|
|
|
|
public string Name => mName;
|
|
|
|
public Image Image
|
|
{
|
|
get
|
|
{
|
|
if (mImagePath == null)
|
|
{
|
|
return null;
|
|
}
|
|
return ImageCache.GetImage(Path.Combine(Path.GetDirectoryName(Application.ExecutablePath), mImagePath));
|
|
}
|
|
}
|
|
|
|
internal RPMap(XmlNode mapNode)
|
|
{
|
|
XmlAttribute xmlAttribute = mapNode.Attributes["image"];
|
|
mKey = mapNode.Attributes["key"].InnerText;
|
|
mName = mapNode.Attributes["name"].InnerText;
|
|
mImagePath = xmlAttribute?.InnerText;
|
|
}
|
|
|
|
public override string ToString()
|
|
{
|
|
return mName;
|
|
}
|
|
}
|