173 lines
4.2 KiB
C#
173 lines
4.2 KiB
C#
namespace IdleSpectator;
|
|
|
|
public enum ActivityAssetKind
|
|
{
|
|
Creature,
|
|
Vehicle,
|
|
Special
|
|
}
|
|
|
|
public enum ActivityModifier
|
|
{
|
|
None,
|
|
Undead,
|
|
Elemental,
|
|
Mush,
|
|
Tumor,
|
|
Alien,
|
|
Construct
|
|
}
|
|
|
|
public enum ActivityBodyTag
|
|
{
|
|
Default,
|
|
Humanoid,
|
|
Canine,
|
|
Feline,
|
|
Bird,
|
|
Insect,
|
|
Arachnid,
|
|
Amphibian,
|
|
Aquatic,
|
|
Reptile,
|
|
Livestock,
|
|
Plant,
|
|
Fungi,
|
|
Protist,
|
|
Machina,
|
|
Mythic,
|
|
Gregalia,
|
|
Dragon,
|
|
Primate,
|
|
Rodent,
|
|
Ursid,
|
|
Seal,
|
|
Procyonid,
|
|
Hyaenid,
|
|
Armadillo,
|
|
Crawler,
|
|
Crystal,
|
|
Cold,
|
|
Crab,
|
|
Vehicle,
|
|
Undead,
|
|
Elemental,
|
|
Mush,
|
|
Tumor,
|
|
Alien,
|
|
Construct
|
|
}
|
|
|
|
public enum ActivityEcologyTag
|
|
{
|
|
Default,
|
|
Civilized,
|
|
Land,
|
|
Air,
|
|
Water,
|
|
Plant,
|
|
Fungal,
|
|
Mythic,
|
|
Machine,
|
|
Cold,
|
|
Alien,
|
|
Undead
|
|
}
|
|
|
|
/// <summary>One immutable interpretation of a live ActorAsset for activity prose.</summary>
|
|
public sealed class ProseVoice
|
|
{
|
|
public string LiveSpeciesId { get; }
|
|
public string BaseSpeciesId { get; }
|
|
public string BaseFamily { get; }
|
|
public ActivityBodyTag BaseBodyTag { get; }
|
|
public ActivityEcologyTag EcologyTag { get; }
|
|
public ActivityModifier Modifier { get; }
|
|
public ActivityBodyTag EffectiveActionTag { get; }
|
|
public ActivityAssetKind AssetKind { get; }
|
|
public bool BaseIsCiv { get; }
|
|
public bool BaseIsHumanoid { get; }
|
|
public bool BaseIsAnimal { get; }
|
|
public string VoiceKey { get; }
|
|
public ActivityVoiceSource Source { get; }
|
|
public bool BaseRecoveryExpected { get; }
|
|
public bool BaseRecoverySucceeded { get; }
|
|
|
|
public ProseVoice(
|
|
string liveSpeciesId,
|
|
string baseSpeciesId,
|
|
string baseFamily,
|
|
ActivityBodyTag baseBodyTag,
|
|
ActivityEcologyTag ecologyTag,
|
|
ActivityModifier modifier,
|
|
ActivityBodyTag effectiveActionTag,
|
|
ActivityAssetKind assetKind,
|
|
bool baseIsCiv,
|
|
bool baseIsHumanoid,
|
|
bool baseIsAnimal,
|
|
string voiceKey,
|
|
ActivityVoiceSource source,
|
|
bool baseRecoveryExpected,
|
|
bool baseRecoverySucceeded)
|
|
{
|
|
LiveSpeciesId = liveSpeciesId ?? "";
|
|
BaseSpeciesId = baseSpeciesId ?? LiveSpeciesId;
|
|
BaseFamily = string.IsNullOrEmpty(baseFamily) ? ActivityVoiceFamilies.Default : baseFamily;
|
|
BaseBodyTag = baseBodyTag;
|
|
EcologyTag = ecologyTag;
|
|
Modifier = modifier;
|
|
EffectiveActionTag = effectiveActionTag;
|
|
AssetKind = assetKind;
|
|
BaseIsCiv = baseIsCiv;
|
|
BaseIsHumanoid = baseIsHumanoid;
|
|
BaseIsAnimal = baseIsAnimal;
|
|
VoiceKey = voiceKey ?? "";
|
|
Source = source;
|
|
BaseRecoveryExpected = baseRecoveryExpected;
|
|
BaseRecoverySucceeded = baseRecoverySucceeded;
|
|
}
|
|
|
|
public static ProseVoice Unknown(string speciesId = "")
|
|
{
|
|
return new ProseVoice(
|
|
speciesId,
|
|
speciesId,
|
|
ActivityVoiceFamilies.Default,
|
|
ActivityBodyTag.Default,
|
|
ActivityEcologyTag.Default,
|
|
ActivityModifier.None,
|
|
ActivityBodyTag.Default,
|
|
ActivityAssetKind.Creature,
|
|
false,
|
|
false,
|
|
false,
|
|
"",
|
|
ActivityVoiceSource.Unknown,
|
|
false,
|
|
false);
|
|
}
|
|
}
|
|
|
|
public static class ActivityVoiceFamilies
|
|
{
|
|
public const string Default = "default";
|
|
public const string Humanoid = "humanoidCiv";
|
|
public const string Canine = "canine";
|
|
public const string Feline = "feline";
|
|
public const string Bird = "bird";
|
|
public const string Insect = "insect";
|
|
public const string Arachnid = "arachnid";
|
|
public const string Amphibian = "amphibian";
|
|
public const string Aquatic = "aquatic";
|
|
public const string Crustacean = "crustacean";
|
|
public const string Reptile = "reptile";
|
|
public const string Livestock = "livestock";
|
|
public const string Plant = "plant";
|
|
public const string Fungi = "fungi";
|
|
public const string Protist = "protist";
|
|
public const string Machina = "machina";
|
|
public const string Mythic = "mythic";
|
|
public const string Gregalia = "gregalia";
|
|
public const string Mammal = "mammal";
|
|
public const string Special = "special";
|
|
}
|