private Vector2 GetPointFillUV(e2dTerrain terrain, Vector2 curvePoint) { float x = (curvePoint.x - terrain.FillTextureTileOffsetX) / terrain.FillTextureTileWidth; float y = (curvePoint.y - terrain.FillTextureTileOffsetY) / terrain.FillTextureTileHeight; return(new Vector2(x, y)); }
private void Start() { e2dTerrain component = base.GetComponent <e2dTerrain>(); List <Vector2> shapePolygon = component.FillMesh.GetShapePolygon(); TerrainColliderGenerator.CreateCollider(base.gameObject, shapePolygon); }
// NOTE: any data here are not serizalised by Unity. /// Default constructor. public e2dTerrainFillMesh(e2dTerrain terrain) : base(terrain) { }
public e2dTerrainColliderMesh(e2dTerrain terrain) : base(terrain) { }
// NOTE: any data here are not serialized by Unity. /// Default constructor. public e2dTerrainColliderMesh(e2dTerrain terrain) : base(terrain) { }
/// Default constructor. public e2dTerrainCurveMesh(e2dTerrain terrain) : base(terrain) { ControlTextures = new List<Texture2D>(); StripeVertices = new List<Vector3>(); }
/// Default constructor. public e2dTerrainMesh(e2dTerrain terrain) { mTerrain = terrain; }
// NOTE: the following variables are not serialized by Unity. /// Default constructor. public e2dTerrainGrassMesh(e2dTerrain terrain) : base(terrain) { }
/// Default constructor. public e2dTerrainBoundary(e2dTerrain terrain) : base(terrain) { }
/// Default constructor. public e2dTerrainCurveMesh(e2dTerrain terrain) : base(terrain) { ControlTextures = new List <Texture2D>(); StripeVertices = new List <Vector3>(); }
private Mesh ReadMesh(bool readUV, bool fillMesh, bool readColor, BinaryReader reader, e2dTerrain terrain) { Mesh mesh = new Mesh(); int num = reader.ReadInt32(); Vector3[] array = new Vector3[num]; if (fillMesh) { for (int i = 0; i < array.Length; i++) { array[i] = this.ReadVector2(reader); } Vector2[] array2 = new Vector2[array.Length]; float num2 = 1f / terrain.FillTextureTileWidth; float num3 = 1f / terrain.FillTextureTileHeight; for (int j = 0; j < array2.Length; j++) { array2[j].x = (array[j].x - terrain.FillTextureTileOffsetX) * num2; array2[j].y = (array[j].y - terrain.FillTextureTileOffsetY) * num3; } mesh.vertices = array; mesh.uv = array2; } else { Color[] array3 = new Color[array.Length]; for (int k = 0; k < array.Length; k++) { array[k] = this.ReadVector2(reader); array[k].z = -0.01f; array3[k].r = (float)((k + 1) % 2); } Vector2[] array4 = new Vector2[array.Length]; int num4 = num / 2; float num5 = 0f; for (int l = 1; l < num4; l++) { int num6 = l; int num7 = 2 * num6; float magnitude = (array[num7] - array[num7 - 2]).magnitude; num5 += magnitude; array4[num7] = (array4[num7 + 1] = new Vector2(num5, (float)num6)); } mesh.vertices = array; mesh.colors = array3; mesh.uv = array4; } if (readUV) { int num8 = reader.ReadInt32(); Vector2[] array5 = new Vector2[num8]; for (int m = 0; m < array5.Length; m++) { array5[m] = this.ReadVector2(reader); } mesh.uv = array5; } int num9 = reader.ReadInt32(); int[] array6 = new int[num9]; for (int n = 0; n < num9; n++) { array6[n] = (int)reader.ReadInt16(); } mesh.triangles = array6; return(mesh); }
private void ReadTerrain(GameObject obj, BinaryReader reader) { e2dTerrain component = obj.GetComponent <e2dTerrain>(); component.FillTextureTileOffsetX = reader.ReadSingle(); component.FillTextureTileOffsetY = reader.ReadSingle(); GameObject gameObject = obj.transform.Find("_fill").gameObject; MeshFilter component2 = gameObject.GetComponent <MeshFilter>(); Mesh sharedMesh = this.ReadMesh(false, true, false, reader, component); Color color = this.ReadColor(reader); int index = reader.ReadInt32(); component2.sharedMesh = sharedMesh; gameObject.GetComponent <Renderer>().sharedMaterial.color = color; gameObject.GetComponent <Renderer>().sharedMaterial.mainTexture = (this.m_references[index] as Texture2D); GameObject gameObject2 = obj.transform.Find("_curve").gameObject; component2 = gameObject2.GetComponent <MeshFilter>(); sharedMesh = this.ReadMesh(false, false, true, reader, component); component2.sharedMesh = sharedMesh; int num = reader.ReadInt32(); for (int i = 0; i < num; i++) { if (i >= component.CurveTextures.Count) { component.CurveTextures.Add(new e2dCurveTexture(null)); } int index2 = reader.ReadInt32(); component.CurveTextures[i].texture = (this.m_references[index2] as Texture); component.CurveTextures[i].size = this.ReadVector2(reader); component.CurveTextures[i].fixedAngle = reader.ReadBoolean(); component.CurveTextures[i].fadeThreshold = reader.ReadSingle(); } int num2 = reader.ReadInt32(); if (num2 > 0) { int count = reader.ReadInt32(); byte[] data = reader.ReadBytes(count); Texture2D texture2D = new Texture2D(1, 1, TextureFormat.ARGB32, false); texture2D.filterMode = FilterMode.Bilinear; texture2D.wrapMode = TextureWrapMode.Clamp; texture2D.anisoLevel = 1; if (!texture2D.LoadImage(data)) { throw new InvalidOperationException("Can't load control texture"); } component.CurveMesh.ControlTextures.Clear(); component.CurveMesh.ControlTextures.Add(texture2D); component.CurveMesh.RebuildMaterial(); } bool flag = reader.ReadBoolean(); if (flag) { component2 = gameObject.GetComponent <MeshFilter>(); Mesh sharedMesh2 = component2.sharedMesh; this.CreateCollider(obj, sharedMesh2.vertices); } else if (obj.transform.Find(e2dConstants.COLLIDER_MESH_NAME)) { UnityEngine.Object.Destroy(obj.transform.Find(e2dConstants.COLLIDER_MESH_NAME).gameObject); } }
public e2dTerrainMesh(e2dTerrain terrain) { this.mTerrain = terrain; }
public e2dTerrainBoundary(e2dTerrain terrain) : base(terrain) { }