public override void Initialize() { if (shapeSettings == null || colorSettings == null) { shapeSettings = SettingSpawner.CopyShapeSettings(); colorSettings = SettingSpawner.CopyColorSettings(); } shapeSettings = SettingSpawner.CopyShapeSettings(); colorSettings = SettingSpawner.CopyColorSettings(); if (craterSettings == null) { craterSettings = SettingSpawner.CopyCraterSettings(); } interaction = (Interactor)GameObject.Find("Interactor").GetComponent <Interactor>(); if (this.GetComponent <SphereCollider>() == null) { this.gameObject.AddComponent <SphereCollider>(); } if (this.transform.Find("mesh") == null) // no meshObj initialized yet { GameObject meshObj = new GameObject("mesh"); meshObj.transform.parent = transform; meshObj.AddComponent <MeshRenderer>(); //.material = (Material) Resources.Load("defaultMat"); meshFilter = meshObj.AddComponent <MeshFilter>(); meshFilter.sharedMesh = new Mesh(); meshObj.GetComponent <MeshRenderer>().sharedMaterial = colorSettings.planetMaterial; } else { GameObject meshObj = this.transform.Find("mesh").gameObject; meshFilter = meshObj.GetComponent <MeshFilter>(); meshObj.GetComponent <MeshRenderer>(); //.material = (Material) Resources.Load("defaultMat"); meshFilter.sharedMesh = new Mesh(); meshObj.GetComponent <MeshRenderer>().sharedMaterial = colorSettings.planetMaterial; } craterGenerator = new CraterGenerator(craterSettings); shapeGenerator = new ShapeGenerator(shapeSettings, interaction, craterGenerator); colorGenerator = new ColorGenerator(); colorGenerator.UpdateSettings(colorSettings); icoSphere = new IcoSphere(shapeGenerator, shapeSettings.radius, LOD, meshFilter.sharedMesh); icoSphere.SetUVs(colorGenerator); }
public override void GenerateColors() { colorGenerator.UpdateColors(); icoSphere.SetUVs(colorGenerator); }