示例#1
0
 public ProtoTileDecal(
     string localTextureFilePath,
     Vector2Ushort size,
     INoiseSelector noiseSelector,
     Vector2Ushort?interval           = null,
     DecalHidingSetting hidingSetting = DecalHidingSetting.StructureOrFloorObject,
     DrawOrder drawOrder  = DrawOrder.GroundDecals,
     Vector2Ushort offset = default,
     bool requiresCompleteNoiseSelectorCoverage = false,
     bool canFlipHorizontally = true,
     bool requiresCompleteProtoTileCoverage = false,
     IReadOnlyList <ProtoTileGroundTexture> requiredGroundTextures = null)
     : this(CollectTextures(localTextureFilePath),
            size,
            noiseSelector,
            interval,
            hidingSetting,
            drawOrder,
            offset,
            requiresCompleteNoiseSelectorCoverage,
            canFlipHorizontally,
            requiresCompleteProtoTileCoverage,
            requiredGroundTextures)
 {
 }
示例#2
0
        public ProtoTileDecal(
            IReadOnlyList <ITextureResource> textureResources,
            Vector2Ushort size,
            INoiseSelector noiseSelector,
            Vector2Ushort?interval           = null,
            DecalHidingSetting hidingSetting = DecalHidingSetting.StructureOrFloorObject,
            DrawOrder drawOrder  = DrawOrder.GroundDecals,
            Vector2Ushort offset = default,
            bool requiresCompleteNoiseSelectorCoverage = false,
            bool canFlipHorizontally = true,
            bool requiresCompleteProtoTileCoverage = false,
            IReadOnlyList <ProtoTileGroundTexture> requiredGroundTextures = null)
        {
            this.Size   = size;
            this.Offset = offset;
            this.RequiresCompleteNoiseSelectorCoverage = requiresCompleteNoiseSelectorCoverage;
            this.NoiseSelector          = noiseSelector;
            this.TextureResources       = textureResources;
            this.DrawOrder              = drawOrder;
            this.HidingSetting          = hidingSetting;
            this.RequiredGroundTextures = requiredGroundTextures?.Count > 0
                                              ? requiredGroundTextures
                                              : null;

            this.Interval = new Vector2Ushort((ushort)(this.Size.X + (interval?.X ?? 0)),
                                              (ushort)(this.Size.Y + (interval?.Y ?? 0)));

            this.CanFlipHorizontally = canFlipHorizontally;
            this.RequiresCompleteProtoTileCoverage = requiresCompleteProtoTileCoverage;
        }