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]; } } }
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); }