static void Main(string[] args) { SEMod.BeginPrototype(); Console.Write("Enter a test player name: "); SEMod.playerName = Console.ReadLine(); Console.WriteLine(); Console.WriteLine(); Player JoinedPlayer = new Player(); JoinedPlayer.playerName = SEMod.playerName; JoinedPlayer.UID = 13836692456; JoinedPlayer.IP = System.Net.IPAddress.Loopback.ToString(); Vector3 Location = new Vector3(); Location.x = 0; Location.y = 100; Location.z = 432; JoinedPlayer.Location.Add(Location); JoinedPlayer.Balance = 500; JoinedPlayer.Ping = 41; SEMod.addBots(18); SpaceEngineers.onServerJoinHandler(JoinedPlayer); SpaceEngineers.CommandHandler(true); SEMod.EndPrototype(); }
/// <summary> /// Creates an instance of <see cref="MDKOptions" /> /// </summary> public MDKOptions() { _spaceEngineers = new SpaceEngineers(); ((MDKOptionsControl)Child).Options = this; _gameBinPath = _spaceEngineers.GetInstallPath("Bin64"); _outputPath = _spaceEngineers.GetDataPath("IngameScripts", "local"); }
public static async Task Update(string whitelistCacheFileName, string output) { var api = await LoadAsync(whitelistCacheFileName); var spaceEngineers = new SpaceEngineers(); var typeDefinitions = await TypeDefinitions.LoadAsync(spaceEngineers.GetInstallPath("Content\\Data")); await api.SaveAsync(typeDefinitions, output); }
public SpaceEngineersText() { var spaceEngineers = new SpaceEngineers(); var document = XDocument.Load(spaceEngineers.GetInstallPath(@"Content\Data\Localization\MyTexts.resx")); var stringElements = document.XPathSelectElements(@"root/data"); foreach (var element in stringElements) { _texts[(string)element.Attribute("name")] = (string)element.Element("value"); } }
public static void addBots(int Amount) { for (int BotPlayer = 0; BotPlayer < Amount; BotPlayer++) { Player Bot = new Player(); Bot.playerName = "Bot #" + (BotPlayer + 1); Bot.UID = 13836692457 + BotPlayer; Bot.Ping = 1; Bot.IP = System.Net.IPAddress.Loopback.ToString(); SpaceEngineers.onServerJoinHandler(Bot); } }
public async Task Scan(string whitelistCacheFileName) { await Task.Run(() => { var whitelist = Whitelist.Load(whitelistCacheFileName); var spaceEngineers = new SpaceEngineers(); var installPath = Path.Combine(spaceEngineers.GetInstallPath(), "bin64"); MDKUtilityFramework.Load(installPath); var dllFiles = Directory.EnumerateFiles(installPath, "*.dll", SearchOption.TopDirectoryOnly) .ToList(); foreach (var dllFile in dllFiles) { Visit(whitelist, dllFile); } foreach (var assemblyGroup in _members.GroupBy(m => m.DeclaringType.Assembly)) { var assemblyPath = new Uri(assemblyGroup.Key.CodeBase).LocalPath; var xmlFileName = Path.ChangeExtension(assemblyPath, "xml"); XDocument documentation; if (File.Exists(xmlFileName)) { documentation = XDocument.Load(xmlFileName); } else { documentation = null; } foreach (var typeGroup in assemblyGroup.GroupBy(m => m.DeclaringType)) { var typeEntry = ApiEntry.Create(typeGroup.Key, documentation); _entries.Add(typeEntry); foreach (var member in typeGroup) { var entry = ApiEntry.Create(member, documentation); _entries.Add(entry); } } } foreach (var entry in _entries) { entry.ResolveLinks(_entries); } }); }
public static async Task <ProgrammableBlockApi> LoadAsync(string whitelistCacheFileName) { var api = new ProgrammableBlockApi(); await Task.Run(() => { var members = new List <MemberInfo>(); var spaceEngineers = new SpaceEngineers(); var installPath = Path.Combine(spaceEngineers.GetInstallPath(), "bin64"); MDKUtilityFramework.Load(installPath); var dllFiles = Directory.EnumerateFiles(installPath, "*.dll", SearchOption.TopDirectoryOnly) .ToList(); foreach (var file in dllFiles) { LoadAssembly(file); } //var assemblies = dllFiles.Select(LoadAssembly).Where(a => a != null).ToList(); var assemblies = AppDomain.CurrentDomain.GetAssemblies().ToList(); var whitelist = Whitelist.Load(whitelistCacheFileName); api._whitelist = whitelist; foreach (var assembly in assemblies) { Visit(whitelist, assembly, members); } // Hack. I'm getting duplicated entries and atm I cannot be bothered to do a proper check // for why... var visitedMembers = new HashSet <MemberInfo>(); foreach (var assemblyGroup in members.GroupBy(m => m.GetAssembly())) { foreach (var typeGroup in assemblyGroup.GroupBy(m => m.DeclaringType)) { if (typeGroup.Key == null) { foreach (var type in typeGroup) { var entry = api.GetEntry(type); if (!api._entries.Contains(entry)) { api._entries.Add(entry); } } continue; } var typeEntry = api.GetEntry(typeGroup.Key); if (typeEntry != null) { if (!visitedMembers.Add(typeEntry.Member)) { continue; } if (!api._entries.Contains(typeEntry)) { api._entries.Add(typeEntry); } foreach (var member in typeGroup) { var entry = api.GetEntry(member); if (entry != null) { if (!visitedMembers.Add(member)) { continue; } api._entries.Add(entry); } } } } } foreach (var entry in api.Entries) { entry.ResolveLinks(); } }); return(api); }
/// <summary> /// Creates an instance of <see cref="IngameScriptWizard"/> /// </summary> public IngameScriptWizard() { _spaceEngineers = new SpaceEngineers(); }
// getItems() /// <summary> /// This function gets the list of Space Engineers game items. /// </summary> /// <returns>Space Engineers Items Array.</returns> public static string[] getItems() { return(SpaceEngineers.getItems()); }