// ==== maintenance =========================================================================================== public void Awake() { // chunk initialization (load/generate data, set position, etc.) // Set variables ChunkIndex = new Index (transform.position); SideLength = Engine.ChunkSideLength; SquaredSideLength = SideLength * SideLength; NeighborChunks = new Chunk [6]; // 0 = up, 1 = down, 2 = right, 3 = left, 4 = forward, 5 = back MeshCreator = GetComponent<ChunkMeshCreator>(); Fresh = true; // Register chunk ChunkManager.RegisterChunk (this); // Clear the voxel data VoxelData = new ushort[SideLength*SideLength*SideLength]; // Set actual position transform.position = ChunkIndex.ToVector3() * SideLength; // multiply by scale transform.position = new Vector3 (transform.position.x * transform.localScale.x, transform.position.y * transform.localScale.y, transform.position.z * transform.localScale.z); // Grab voxel data if (Engine.EnableMultiplayer && !Network.isServer) { StartCoroutine (RequestVoxelData()); // if multiplayer, get data from server } else if (Engine.SaveVoxelData && TryLoadVoxelData() == true ) { // data is loaded through TryLoadVoxelData() } else { GenerateVoxelData(); } }
// ==== maintenance =========================================================================================== public void Awake() { // chunk initialization (load/generate data, set position, etc.) // Set variables ChunkIndex = new Index(transform.position); SideLength = Engine.ChunkSideLength; SquaredSideLength = SideLength * SideLength; NeighborChunks = new Chunk[6]; // 0 = up, 1 = down, 2 = right, 3 = left, 4 = forward, 5 = back MeshCreator = GetComponent <ChunkMeshCreator>(); Fresh = true; // Register chunk ChunkManager.RegisterChunk(this); LogicBlocks = new Dictionary <Index, GameObject>(); // Logic blocks array // Clear the voxel data VoxelData = new ushort[SideLength * SideLength * SideLength]; // Set actual position transform.position = ChunkIndex.ToVector3() * SideLength; // multiply by scale transform.position = new Vector3(transform.position.x * transform.localScale.x, transform.position.y * transform.localScale.y, transform.position.z * transform.localScale.z); // Grab voxel data if (Engine.EnableMultiplayer && !Network.isServer) { StartCoroutine(RequestVoxelData()); // if multiplayer, get data from server } else if (Engine.EnableInternetplayer) { } else if (Engine.SaveVoxelData && TryLoadVoxelData() == true) { // data is loaded through TryLoadVoxelData() } else { GenerateVoxelData(); } }
// ==== maintenance =========================================================================================== public void Awake() { chunkIndex = new Index(transform.position); Size = Engine.ChunkSize; neighborChunks = new Chunk[6]; // 0 = up, 1 = down, 2 = right, 3 = left, 4 = forward, 5 = back MeshCreator = GetComponent <ChunkMeshCreator>(); fresh = true; // Register chunk ChunkManager.RegisterChunk(this); // Clear the voxel data voxelData = new ushort[sizeX * sizeY * sizeZ]; // Set actual position Vector3 idx = chunkIndex.ToVector3(); Vector3 s = transform.localScale; transform.position = new Vector3( idx.x * sizeX * s.x, idx.y * sizeY * s.y, idx.z * sizeZ * s.z); // Grab voxel data if (Engine.EnableMultiplayer && !Network.isServer) { StartCoroutine(RequestVoxelData()); // if multiplayer, get data from server } else if (Engine.SaveVoxelData && TryLoadVoxelData()) { // data is loaded through TryLoadVoxelData() } else { GenerateVoxelData(); } }