Ships/ShipData.cs
[GameResource( "Ship", "ship", "Ship Resource", Icon = "rocket", IconBgColor = "#f7aa25", IconFgColor = "#262522" )]
public partial class ShipData : GameResource
{
[Category( "General" )]
public string ShipName { get; set; }
[Category( "General" )]
public string Description { get; set; }
[Category( "General" ), ResourceType( "prefab" )]
public string ExplosionPrefab { get; set; }
[Category( "General" ), ResourceType( "prefab" )]
public string ShipPrefab { get; set; }
[Category( "General" ), ResourceType( "png" )]
public string ShipLogo { get; set; }
[Category( "General" )]
public float Health { get; set; } = 100;
[Category( "General" )]
public float Shield { get; set; } = 100;
[Category( "General" )]
public float ShieldRegenRate { get; set; } = 0.25f;
[Category( "General" )]
public float ShieldRegenDelay { get; set; } = 2f;
[Category( "General" )]
public ShipType shipType { get; set; } = ShipType.Assault;
[Category( "Speed Stats" )]
public float Acceleration { get; set; } = 15f;
[Category( "Speed Stats" )]
public float Deceleration { get; set; } = 5f;
[Category( "Speed Stats" )]
public float MinSpeed { get; set; } = 10;
[Category( "Speed Stats" )]
public float IdleSpeed { get; set; } = 10;
[Category( "Speed Stats" )]
public float MaxSpeed { get; set; } = 20;
[Category( "Speed Stats" )]
public float BoostSpeed { get; set; } = 40;
[Category( "Speed Stats" )]
public float BoostAmount { get; set; } = 100;
[Category( "Speed Stats" )]
public float BoostRegenRate { get; set; } = 15f;
[Category( "Sounds" ), ResourceType( "soundcom" )]
public string EngineSound { get; set; }
[Category( "Sounds" ), ResourceType( "sound" )]
public string BoostSound { get; set; }
[Category( "Sounds" ), ResourceType( "sound" )]
public string BoostSoundLoop { get; set; }
[Category( "Weapons" ), ResourceType( "prefab" )]
public string Primary { get; set; }
[Category( "Weapons" )]
public string PrimaryWeaponName { get; set; }
[Category( "Weapons" ), ResourceType( "prefab" )]
public string Secondary { get; set; }
[Category( "Weapons" )]
public string SecondaryWeaponName { get; set; }
[Category( "Skins" )]
public List<ShipSkinEntry> skinList { get; set; } = new();
public enum ShipType
{
Assault,
Tank,
Scout
}
public struct ShipSkinEntry
{
[ResourceType( "vmat" )]
public string Skin { get; set; }
public string SkinName { get; set; }
public int skinIdent { get; set; }
public int XPNeeded { get; set; }
}
}