protected virtual void UpdateGeometry()
{
if (((this.rectTransform != null) && (this.rectTransform.rect.width >= 0f)) && (this.rectTransform.rect.height >= 0f))
{
this.OnPopulateMesh(workerMesh);
}
List<Component> results = ListPool<Component>.Get();
base.GetComponents(typeof(IMeshModifier), results);
for (int i = 0; i < results.Count; i++)
{
((IMeshModifier) results[i]).ModifyMesh(workerMesh);
}
ListPool<Component>.Release(results);
this.canvasRenderer.SetMesh(workerMesh);
}