Started UI Rework for target game setup, started adding a Game master record and a CSV Loader service
This commit is contained in:
		
							
								
								
									
										34
									
								
								Stars Assistant/Model/Game.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								Stars Assistant/Model/Game.cs
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,34 @@
 | 
			
		||||
using System.ComponentModel.DataAnnotations;
 | 
			
		||||
using System.Globalization;
 | 
			
		||||
 | 
			
		||||
namespace StarsAssistant.Model;
 | 
			
		||||
 | 
			
		||||
public class Game (string gamePath, string baseName)
 | 
			
		||||
{
 | 
			
		||||
    /// <summary>
 | 
			
		||||
    /// The base path in which all game files reside.
 | 
			
		||||
    /// </summary>
 | 
			
		||||
    public string GamePath { get; private set; } = gamePath;
 | 
			
		||||
 | 
			
		||||
    /// <summary>
 | 
			
		||||
    /// The base name without extensions of your game, inside the GamePath folder.
 | 
			
		||||
    /// All dependant files are resolved using this name.
 | 
			
		||||
    /// </summary>
 | 
			
		||||
    public string BaseName { get; private set; } = baseName;
 | 
			
		||||
 | 
			
		||||
    /// <summary>
 | 
			
		||||
    /// The number of the player, for example identifying the pxx planet file.
 | 
			
		||||
    /// </summary>
 | 
			
		||||
    public int PlayerId { get; private set; }
 | 
			
		||||
 | 
			
		||||
    /// <summary>
 | 
			
		||||
    /// Combine into the DatabaseName
 | 
			
		||||
    /// </summary>
 | 
			
		||||
    public string DatabaseName => Path.Combine(GamePath, $"{BaseName}.sqlite");
 | 
			
		||||
 | 
			
		||||
    /// <summary>
 | 
			
		||||
    /// Search for Planet files using this pattern, will give you all pxx files.
 | 
			
		||||
    /// </summary>
 | 
			
		||||
    public string PlanetFileSearchPattern => Path.Combine(GamePath, $"{BaseName}.p*");
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
@@ -34,5 +34,10 @@ public class StarsDatabase(string DbPath) : DbContext
 | 
			
		||||
    /// </summary>
 | 
			
		||||
    public DbSet<Race> Race { get; set; }
 | 
			
		||||
 | 
			
		||||
    /// <summary>
 | 
			
		||||
    /// The record with all game metadata, will only contain a single line at all times.
 | 
			
		||||
    /// </summary>
 | 
			
		||||
    public DbSet<Game> Game { get; set; }
 | 
			
		||||
 | 
			
		||||
    #endregion
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user