private void DoApply()
{
if (base.terrainData != null)
{
TreePrototype[] treePrototypes = base.m_Terrain.terrainData.treePrototypes;
if (this.m_PrototypeIndex == -1)
{
TreePrototype[] prototypeArray2 = new TreePrototype[treePrototypes.Length + 1];
for (int i = 0; i < treePrototypes.Length; i++)
{
prototypeArray2[i] = treePrototypes[i];
}
prototypeArray2[treePrototypes.Length] = new TreePrototype();
prototypeArray2[treePrototypes.Length].prefab = this.m_Tree;
prototypeArray2[treePrototypes.Length].bendFactor = this.m_BendFactor;
this.m_PrototypeIndex = treePrototypes.Length;
base.m_Terrain.terrainData.treePrototypes = prototypeArray2;
TreePainter.selectedTree = this.m_PrototypeIndex;
}
else
{
treePrototypes[this.m_PrototypeIndex].prefab = this.m_Tree;
treePrototypes[this.m_PrototypeIndex].bendFactor = this.m_BendFactor;
base.m_Terrain.terrainData.treePrototypes = treePrototypes;
}
base.m_Terrain.Flush();
EditorUtility.SetDirty(base.m_Terrain);
}
}