コード例 #1
0
    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));
    }
コード例 #2
0
    private void Start()
    {
        e2dTerrain     component    = base.GetComponent <e2dTerrain>();
        List <Vector2> shapePolygon = component.FillMesh.GetShapePolygon();

        TerrainColliderGenerator.CreateCollider(base.gameObject, shapePolygon);
    }
コード例 #3
0
 // NOTE: any data here are not serizalised by Unity.
 /// Default constructor.
 public e2dTerrainFillMesh(e2dTerrain terrain)
     : base(terrain)
 {
 }
コード例 #4
0
 public e2dTerrainColliderMesh(e2dTerrain terrain) : base(terrain)
 {
 }
コード例 #5
0
 // NOTE: any data here are not serialized by Unity.
 /// Default constructor.
 public e2dTerrainColliderMesh(e2dTerrain terrain)
     : base(terrain)
 {
 }
コード例 #6
0
 /// Default constructor.
 public e2dTerrainCurveMesh(e2dTerrain terrain)
     : base(terrain)
 {
     ControlTextures = new List<Texture2D>();
     StripeVertices = new List<Vector3>();
 }
コード例 #7
0
ファイル: e2dTerrainMesh.cs プロジェクト: CMDann/year-2000
 /// Default constructor.
 public e2dTerrainMesh(e2dTerrain terrain)
 {
     mTerrain = terrain;
 }
コード例 #8
0
 // NOTE: the following variables are not serialized by Unity.
 /// Default constructor.
 public e2dTerrainGrassMesh(e2dTerrain terrain)
     : base(terrain)
 {
 }
コード例 #9
0
 /// Default constructor.
 public e2dTerrainBoundary(e2dTerrain terrain)
     : base(terrain)
 {
 }
コード例 #10
0
 /// Default constructor.
 public e2dTerrainMesh(e2dTerrain terrain)
 {
     mTerrain = terrain;
 }
コード例 #11
0
 /// Default constructor.
 public e2dTerrainCurveMesh(e2dTerrain terrain)
     : base(terrain)
 {
     ControlTextures = new List <Texture2D>();
     StripeVertices  = new List <Vector3>();
 }
コード例 #12
0
    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);
    }
コード例 #13
0
    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);
        }
    }
コード例 #14
0
ファイル: e2dTerrainMesh.cs プロジェクト: mrdivdiz/bpvita
 public e2dTerrainMesh(e2dTerrain terrain)
 {
     this.mTerrain = terrain;
 }
コード例 #15
0
 public e2dTerrainBoundary(e2dTerrain terrain) : base(terrain)
 {
 }
コード例 #16
0
    // NOTE: any data here are not serizalised by Unity.

    /// Default constructor.
    public e2dTerrainFillMesh(e2dTerrain terrain) : base(terrain)
    {
    }
コード例 #17
0
    // NOTE: the following variables are not serialized by Unity.


    /// Default constructor.
    public e2dTerrainGrassMesh(e2dTerrain terrain)
        : base(terrain)
    {
    }