コード例 #1
0
        public MaterialType GetMaterialType(string name, MaterialTypeCode defaultMaterialType = DefaultMaterialType)
        {
            var code = defaultMaterialType;

            if (MaterialsList.TryGetValue(name, out var material))
            {
                code = material.Code;
            }

            return(MaterialTypes[code]);
        }
コード例 #2
0
ファイル: MaterialType.cs プロジェクト: UAVXP/SharpLife-Game
        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;
        }
コード例 #3
0
 public Material(string name, MaterialTypeCode code)
 {
     Name = name ?? throw new ArgumentNullException(nameof(name));
     Code = code;
 }