예제 #1
0
 void UpdateColliders()
 {
     for (int x = 0; x < map.width; x++)
     {
         for (int y = 0; y < map.height; y++)
         {
             if (colliders[x][y].enabled != map.IsActive(x, y))
             {
                 colliders[x][y].enabled = map.IsActive(x, y);
             }
         }
     }
 }
예제 #2
0
 void UpdateColliders()
 {
     for (int i = 0; i < map.width; i++)
     {
         for (int j = 0; j < map.height; j++)
         {
             if (map.IsActive(i, j))
             {
             }
         }
     }
 }
예제 #3
0
        void UpdateColliders()
        {
            meshCollider.sharedMesh = null;
            int instanceCount = 0;

            for (int x = 0; x < map.width; x++)
            {
                for (int y = 0; y < map.height; y++)
                {
                    if (map.IsActive(x, y))
                    {
                        instanceCount++;
                    }
                }
            }
            var instances = new CombineInstance[instanceCount];
            int i         = 0;

            for (int x = 0; x < map.width; x++)
            {
                for (int y = 0; y < map.height; y++)
                {
                    if (map.IsActive(x, y))
                    {
                        instances[i].mesh      = cube;
                        instances[i].transform = Matrix4x4.TRS(
                            new Vector3(x, y, 0),
                            Quaternion.identity,
                            Vector3.one
                            );
                        i++;
                    }
                }
            }
            mesh.indexFormat = instanceCount >= (ushort.MaxValue / cube.vertexCount)
                ? UnityEngine.Rendering.IndexFormat.UInt32
                : UnityEngine.Rendering.IndexFormat.UInt16;
            mesh.CombineMeshes(instances, true, true);
            meshCollider.sharedMesh = mesh;
        }
예제 #4
0
 void UpdateColliders()
 {
     for (int i = 0; i < map.width; i++)
     {
         for (int j = 0; j < map.height; j++)
         {
             var center = colliders[i][j].center;
             center.z = map.IsActive(i, j)
                 ? 0
                 : 10;
             colliders[i][j].center = center;
         }
     }
 }