public override void SetRendererCompornent() { { var meshFilter = voxelBase.GetComponent <MeshFilter>(); if (meshFilter != null) { Undo.RecordObject(meshFilter, "Inspector"); meshFilter.sharedMesh = mesh; } } if (voxelBase.updateMaterialTexture) { if (materials != null) { for (int i = 0; i < materials.Count; i++) { if (materials[i] == null) { continue; } Undo.RecordObject(materials[i], "Inspector"); EditorCommon.SetMainTexture(materials[i], atlasTexture); } } } if (voxelBase.updateMeshRendererMaterials) { var renderer = voxelBase.GetComponent <Renderer>(); Undo.RecordObject(renderer, "Inspector"); if (materials != null) { Material[] tmps = new Material[voxelBase.materialIndexes.Count]; for (int i = 0; i < voxelBase.materialIndexes.Count; i++) { tmps[i] = materials[voxelBase.materialIndexes[i]]; } renderer.sharedMaterials = tmps; } else { renderer.sharedMaterial = null; } } if (voxelBase.loadFromVoxelFile && voxelBase.materialData != null) { if (materials != null && materials.Count == voxelBase.materialData.Count) { for (int i = 0; i < materials.Count; i++) { if (materials[i] == null) { continue; } Undo.RecordObject(materials[i], "Inspector"); SetMaterialData(materials[i], voxelBase.materialData[i]); } } } }
public override void SetRendererCompornent() { if (voxelBase.updateMaterialTexture) { if (voxelObject.materials != null) { for (int i = 0; i < voxelObject.materials.Count; i++) { if (voxelObject.materials[i] == null) { continue; } Undo.RecordObject(voxelObject.materials[i], "Inspector"); EditorCommon.SetMainTexture(voxelObject.materials[i], voxelObject.atlasTexture); } } } SetCurrentMesh(); }
public override void SetRendererCompornent() { var chunkObjects = voxelObject.chunks; if (voxelObject.materialMode == VoxelChunksObject.MaterialMode.Combine) { if (voxelBase.updateMaterialTexture) { if (voxelObject.materials != null) { for (int i = 0; i < voxelObject.materials.Count; i++) { if (voxelObject.materials[i] == null) { continue; } Undo.RecordObject(voxelObject.materials[i], "Inspector"); EditorCommon.SetMainTexture(voxelObject.materials[i], voxelObject.atlasTexture); } } } for (int i = 0; i < chunkObjects.Length; i++) { if (chunkObjects[i] == null) { continue; } { var meshFilter = chunkObjects[i].GetComponent <MeshFilter>(); if (meshFilter != null) { Undo.RecordObject(meshFilter, "Inspector"); meshFilter.sharedMesh = chunkObjects[i].mesh; } } if (voxelBase.updateMeshRendererMaterials) { var renderer = chunkObjects[i].GetComponent <Renderer>(); Undo.RecordObject(renderer, "Inspector"); if (voxelObject.materials != null) { Material[] tmps = new Material[chunkObjects[i].materialIndexes.Count]; for (int j = 0; j < chunkObjects[i].materialIndexes.Count; j++) { tmps[j] = voxelObject.materials[chunkObjects[i].materialIndexes[j]]; } renderer.sharedMaterials = tmps; } else { renderer.sharedMaterial = null; } } if (voxelBase.loadFromVoxelFile && voxelBase.materialData != null) { if (voxelObject.materials != null && voxelObject.materials.Count == voxelBase.materialData.Count) { for (int j = 0; j < voxelObject.materials.Count; j++) { if (voxelObject.materials[j] == null) { continue; } Undo.RecordObject(voxelObject.materials[j], "Inspector"); SetMaterialData(voxelObject.materials[j], voxelBase.materialData[j]); } } } } } else if (voxelObject.materialMode == VoxelChunksObject.MaterialMode.Individual) { if (voxelBase.updateMaterialTexture) { for (int i = 0; i < chunkObjects.Length; i++) { if (chunkObjects[i].materials != null) { for (int j = 0; j < chunkObjects[i].materials.Count; j++) { if (chunkObjects[i].materials[j] == null) { continue; } Undo.RecordObject(chunkObjects[i].materials[j], "Inspector"); EditorCommon.SetMainTexture(chunkObjects[i].materials[j], chunkObjects[i].atlasTexture); } } } } for (int i = 0; i < chunkObjects.Length; i++) { { var meshFilter = chunkObjects[i].GetComponent <MeshFilter>(); if (meshFilter != null) { Undo.RecordObject(meshFilter, "Inspector"); meshFilter.sharedMesh = chunkObjects[i].mesh; } } if (voxelBase.updateMeshRendererMaterials) { var renderer = chunkObjects[i].GetComponent <Renderer>(); Undo.RecordObject(renderer, "Inspector"); if (chunkObjects[i].materials != null) { Material[] tmps = new Material[chunkObjects[i].materialIndexes.Count]; for (int j = 0; j < chunkObjects[i].materialIndexes.Count; j++) { tmps[j] = chunkObjects[i].materials[chunkObjects[i].materialIndexes[j]]; } renderer.sharedMaterials = tmps; } else { renderer.sharedMaterial = null; } } if (voxelBase.loadFromVoxelFile && voxelBase.materialData != null) { if (chunkObjects[i].materials != null && chunkObjects[i].materials.Count == voxelBase.materialData.Count) { for (int j = 0; j < chunkObjects[i].materials.Count; j++) { if (chunkObjects[i].materials[j] == null) { continue; } Undo.RecordObject(chunkObjects[i].materials[j], "Inspector"); SetMaterialData(chunkObjects[i].materials[j], voxelBase.materialData[j]); } } } } } else { Assert.IsTrue(false); } }