Exemplo n.º 1
0
    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);
    }
Exemplo n.º 2
0
 public override void GenerateColors()
 {
     colorGenerator.UpdateColors();
     icoSphere.SetUVs(colorGenerator);
 }