AI/Guests/IdentitySystem.cs
using System.Text.Json;
namespace HC3;
public sealed class IdentitySystem : GameObjectSystem<IdentitySystem>
{
public IdentitySystem( Scene scene ) : base( scene )
{
var delinquentNames = FileSystem.Mounted.ReadAllText( "resources/guests/delinquent_names.json" );
if ( !string.IsNullOrEmpty( delinquentNames ) )
{
var data = JsonSerializer.Deserialize<Dictionary<string, List<string>>>( delinquentNames );
DelinquentMaleNames = data["male"];
DelinquentFemaleNames = data["female"];
}
var names = FileSystem.Mounted.ReadAllText( "resources/guests/guest_names.json" );
// Don't do anything if the resource doesn't exist
if ( string.IsNullOrEmpty( names ) )
return;
var nameData = JsonSerializer.Deserialize<Dictionary<string, List<string>>>( names );
MaleNames = nameData["male"];
FemaleNames = nameData["female"];
}
public List<string> MaleNames { get; set; }
public List<string> FemaleNames { get; set; }
public List<string> DelinquentMaleNames { get; set; }
public List<string> DelinquentFemaleNames { get; set; }
public static string FetchName( bool male = true, float delinquency = 0f )
{
if ( delinquency > 0.7f )
return Game.Random.FromList( male ? Current.DelinquentMaleNames : Current.DelinquentFemaleNames );
else
return Game.Random.FromList( male ? Current.MaleNames : Current.FemaleNames );
}
}