Hello everyones !
I am currently trying to write a script that instantiate biomes wich are nested class. Each biome have some GameObject[ ] that represent the differents assets who will be instantiated on my terrain.
So far my class look like this :
[SerializeField]
public class Forest
{
public GameObject[] Trees;
public GameObject[] Bushes;
public GameObject[] Rocks;
public float TreeAmount = 2.0F;
public float TreeRange = 10.0F;
public float TreeSize = 2.0F;
public float BushesAmount = 2.0F;
public float BushesRange = 10.0F;
public float BushesSize = 1.0F;
public float RockAmount = 2.0F;
public float RockRange = 10.0F;
public float RockSize = 1.0F;
public float BiggestRock = 50.0F;
public float SmallestRock = 5.0F;
public float RockSizeSteps = 10.0F;
private GameObject[] TreeCollector;
private Vector3 TreeData;
private Vector3 RockData;
private Vector3 AllRocksData;
private Vector3 BushesData;
public Forest()
{
TreeCollector = new GameObject[1000];
TreeData = new Vector3(TreeAmount, TreeRange, TreeSize);
RockData = new Vector3(RockAmount, RockRange, RockSize);
AllRocksData = new Vector3(BiggestRock, SmallestRock, RockSizeSteps);
BushesData = new Vector3(BushesAmount, BushesRange, BushesSize);
}
public void InstatiateForest()
{
InstantiateTrees(Trees, TreeData, TreeCollector);
InstantiateRocks(Rocks, RockData, AllRocksData);
FinishTreeInstantiation(TreeCollector);
}
}
I want to know how to fill the differents public variable of my class Forest from the inspector.
Is that possible ? Should i create another GameObject[ ] inside my script and pass it to my constructor for each GameObject[ ] in my class Forest ?
Thanks !