Exemplo n.º 1
0
    private void startTileThreadDistant()
    {

        //Create a new thread to calculate the first tile in tileQueue
        if (tileCreationThreadDistant == null)
        {

            //If list is not empty
            if (tileQueueDistant.Count > 0)
            {

                //Ensure the tile is still relevent and hasn't been created in past
                if (tileQueueTouchedDistant.Contains(tileQueueDistant[0]))
                {
                    
                    string tileID = tileQueueDistant[0].x.ToString() + ":" + tileQueueDistant[0].y.ToString();

                    tileCreationThreadDistant = new TileCreationThread();
                    tileCreationThreadDistant.InData = tileQueueDistant[0];
                    tileCreationThreadDistant.InHeightMapSize = m_heightMapSizeLowRes;
                    tileCreationThreadDistant.InTerrainSize = terrainSize;
                    tileCreationThreadDistant.Start();

                }

                else tileQueueDistant.RemoveAt(0);

            }

        }

    }