Ejemplo n.º 1
0
    private void CreateBlocks()
    {
        if (noiseSettingsEditor == null)
        {
            noiseSettingsEditor = new NoiseSettingsEditor();
        }

        if (blockObjects == null && this.worldSettings.circumferenceInBlocks > 0)
        {
            blockObjects = new GameObject[this.worldSettings.circumferenceInBlocks * this.worldSettings.widthInBlocks];
        }

        if (blockObjects.Length != worldSettings.circumferenceInBlocks * this.worldSettings.widthInBlocks)
        {
            foreach (var obj in blockObjects)
            {
                if (obj == null)
                {
                    continue;
                }

                DestroyImmediate(obj);
            }

            if (this.worldSettings.circumferenceInBlocks > 0)
            {
                blockObjects = new GameObject[this.worldSettings.circumferenceInBlocks * this.worldSettings.widthInBlocks];
            }
        }
    }
Ejemplo n.º 2
0
    public Block(Mesh mesh, int blockCircumferenceIndex, int blockWidthIndex, double r, WorldSettings worldSettings, NoiseSettingsEditor noiseSettingsEditor, int playerDistance)
    {
        this.mesh = mesh;
        this.blockCircumferenceIndex = blockCircumferenceIndex;
        this.blockWidthIndex         = blockWidthIndex;
        this.r                   = r;
        this.worldSettings       = worldSettings;
        this.noiseSettingsEditor = noiseSettingsEditor;
        this.resolution          = playerDistance;

        axisA = new Vector3(localUp.y, localUp.z, localUp.x);
        axisB = Vector3.Cross(localUp, axisA);
    }