Пример #1
0
        private void CreatePoint(int x, int y, Sprite sprite, BlockSetProfile.BlockInfo blockInfo,
                                 BlockSetProfile.BlockType isColliding, bool noLightEffect)
        {
            var textureSize = new Vector2(sprite.texture.width, sprite.texture.height);
            var uvRect      = sprite.textureRect;

            var         startVert = _vertices.Count;
            const float add       = 0.01f;
            float       z         = isColliding == BlockSetProfile.BlockType.CollidingWall ? 0 : 5;

            _vertices.Add(new Vector3(x - add, y - add, z));
            _vertices.Add(new Vector3(x + 1 + add, y - add, z));
            _vertices.Add(new Vector3(x - add, y + 1 + add, z));
            _vertices.Add(new Vector3(x + 1 + add, y + 1 + add, z));

            _uvs.Add(new Vector2(uvRect.xMin / textureSize.x, uvRect.yMin / textureSize.y)); // 0, 0
            _uvs.Add(new Vector2(uvRect.xMax / textureSize.x, uvRect.yMin / textureSize.y)); // 1, 0
            _uvs.Add(new Vector2(uvRect.xMin / textureSize.x, uvRect.yMax / textureSize.y)); // 0, 1
            _uvs.Add(new Vector2(uvRect.xMax / textureSize.x, uvRect.yMax / textureSize.y)); // 1, 1

            _triangles.Add(startVert + 2);
            _triangles.Add(startVert + 1);
            _triangles.Add(startVert);
            _triangles.Add(startVert + 1);
            _triangles.Add(startVert + 2);
            _triangles.Add(startVert + 3);

            //for (int i = 0; i < 4; i++)
            //{
            _lightAbsorptionColors.Add(noLightEffect ? new Color() : blockInfo.LightAbsorption);
            _lightEmissionColors.Add(noLightEffect ? new Color() : blockInfo.LightEmission);
            //}
        }
Пример #2
0
 public CollMapPoint(float noise)
 {
     Noise     = noise;
     BlockInfo = null;
     BlockType = BlockSetProfile.BlockType.Empty;
 }