first commit

This commit is contained in:
2025-07-06 00:23:46 +02:00
commit 38f50c8819
1788 changed files with 112878 additions and 0 deletions

View File

@@ -0,0 +1,31 @@
using System.Threading.Tasks;
using NitroxModel.Discovery.Models;
using NitroxModel.Platforms.OS.Shared;
namespace NitroxModel.Platforms.Store.Interfaces;
public interface IGamePlatform
{
string Name { get; }
Platform Platform { get; }
/// <summary>
/// Tries to start the platform and waits for it to be ready to launch games. If it has already been started it will return true.
/// </summary>
/// <returns>Returns true if platform is running or has started successfully.</returns>
public Task<ProcessEx> StartPlatformAsync();
/// <summary>
/// Tries to find the executable of the platform
/// </summary>
/// <returns>Returns path to the executable or null if not found</returns>
public string GetExeFile();
/// <summary>
/// True if game directory originates from the game platform.
/// </summary>
/// <param name="gameDirectory">Directory to a game, usually where the exe file is.</param>
/// <returns>Returns true if the game platform owns this game.</returns>
bool OwnsGame(string gameDirectory);
}