public MaterialType GetMaterialType(string name, MaterialTypeCode defaultMaterialType = DefaultMaterialType) { var code = defaultMaterialType; if (MaterialsList.TryGetValue(name, out var material)) { code = material.Code; } return(MaterialTypes[code]); }
public MaterialType(MaterialTypeCode code, float impactVolume, float crowbarVolume, float walkVolume, float runVolume, int walkTimeDelay, int runTimeDelay, IReadOnlyList <string> impactSounds, IReadOnlyList <MovementSound> movementSounds, FilterDelegate filter = null) { Code = code; ImpactVolume = impactVolume; CrowbarVolume = crowbarVolume; WalkVolume = walkVolume; RunVolume = runVolume; WalkTimeDelay = walkTimeDelay; RunTimeDelay = runTimeDelay; ImpactSounds = impactSounds ?? throw new ArgumentNullException(nameof(impactSounds)); MovementSounds = movementSounds ?? throw new ArgumentNullException(nameof(movementSounds)); //Cache these off so we don't have to keep checking HasLeftMovementSounds = MovementSounds.Any(s => s.IsLeft); HasRightMovementSounds = MovementSounds.Any(s => !s.IsLeft); Filter = filter; }
public Material(string name, MaterialTypeCode code) { Name = name ?? throw new ArgumentNullException(nameof(name)); Code = code; }