[TASK] Initial commit with basic product setup

This commit is contained in:
2019-08-18 13:50:14 +02:00
commit 01a66a8e1f
2548 changed files with 167528 additions and 0 deletions

View File

@@ -0,0 +1,89 @@
namespace Mapbox.Unity.MeshGeneration.Components
{
using UnityEngine;
using Random = UnityEngine.Random;
using Mapbox.Unity.MeshGeneration.Data;
[RequireComponent(typeof(MeshRenderer))]
public class TextureSelector : MonoBehaviour
{
private bool _useSatelliteRoof;
private bool _textureTop;
private bool _textureSides;
private UnityTile _tile;
private MeshRenderer _meshRenderer;
private Material[] _topTextures;
private Material[] _sideTextures;
public void Initialize(VectorEntity ve, bool doTextureTop, bool useSatelliteRoof, Material[] topTextures, bool doTextureSides, Material[] sideTextures)
{
_useSatelliteRoof = useSatelliteRoof;
_textureTop = doTextureTop;
_textureSides = doTextureSides;
_tile = GetComponent<UnityTile>();
var t = transform;
while (_tile == null && t.parent != null)
{
t = t.parent;
_tile = t.GetComponent<UnityTile>();
}
_topTextures = topTextures;
_sideTextures = sideTextures;
_meshRenderer = GetComponent<MeshRenderer>();
if (_textureSides && _sideTextures.Length > 0)
{
_meshRenderer.materials = new Material[2]
{
_topTextures[Random.Range(0, _topTextures.Length)],
_sideTextures[Random.Range(0, _sideTextures.Length)]
};
}
else if (_textureTop)
{
_meshRenderer.materials = new Material[1]
{
_topTextures[Random.Range(0, _topTextures.Length)]
};
}
if (_useSatelliteRoof)
{
_meshRenderer.materials[0].mainTexture = _tile.GetRasterData();
_meshRenderer.materials[0].mainTextureScale = new Vector2(1f, 1f);
}
}
//private void TextureTop(Material topmat)
//{
// if (_useSatelliteRoof)
// {
// topmat.mainTexture = _tile.ImageData;
// topmat.mainTextureScale = new Vector2(1f, 1f);
// }
// else
// {
// topmat.mainTextureScale = new Vector2(0.07f, 0.07f);
// if (_topTextures.Any())
// _meshRenderer.materials[0].SetTexture("_MainTex", );
// }
// var c = 1 - (Random.Range(0, 10) / 40f);
// _meshRenderer.materials[0].color = new Color(c, c, c);
//}
//private void TextureSides(Material sidemat)
//{
// var c = 1 - (Random.Range(0, 10) / 40f);
// _meshRenderer.materials[1].color = new Color(c, c, c);
// if (_sideTextures.Any())
// _meshRenderer.materials[1].SetTexture("_MainTex", _sideTextures[Random.Range(0, _sideTextures.Length)]);
//}
}
}