Beispiel #1
0
    /// <summary>
    /// Acutaliza la malla del collider del game object de este chunk
    /// </summary>
    private void UpdateColliderOfGameObject()
    {
        if (_meshForCollider.ThereIsDataOfMeshStored) //Si ya tiene la malla almacenada se usa esta malla como colisionador
        {
            _meshCollider.sharedMesh = _meshForCollider.DataOfMesh;

            //Si es la primera vez que se ha usado como colisionador (es decir que es la primera vez que esta a mayor resolución el chunk) ---> se añaden recursos aletatorios
            if (!_chunkHasResource)
            {
                _chunkHasResource = true;
                _generator.AñadirRecursos(_gameObject.transform.position, _heightMapAndColorArray);
            }
        }
        else if (!_meshForCollider.DataOfMeshHasBeenSolicit) //Si no tiene la malla almacenada se solitita la malla (Y tampoco se ha solicitado anteriormente)
        {
            _meshForCollider.SolicitDataOfMeshInExternalThread(_heightMapAndColorArray);
        }
    }