/// <summary> /// Called when a mesh is added to the scene. /// </summary> private void OnMeshesAdded(IEnumerable <MeshInfo> meshes) { // add the meshes to the scene foreach (MeshInfo mesh in meshes) { mesh.SelectionChanged += OnSelectionChanged; mesh.VisibilityChanged += OnVisibilityChanged; Entity entity = new Entity(m_meshesRoot, mesh.Mesh.Name); m_meshToEntity[mesh] = entity; m_entityToMesh[entity] = mesh; // have one renderer for front and back faces separately MeshRenderer frontRenderer = new MeshRenderer(entity, mesh.Mesh); frontRenderer.CullMode = Rendering.CullMode.Back; frontRenderer.Color = mesh.Color; SetRenderMode(frontRenderer, m_frontFaceMode); MeshRenderer backRenderer = new MeshRenderer(entity, mesh.Mesh); backRenderer.CullMode = Rendering.CullMode.Front; backRenderer.Color = mesh.Color; SetRenderMode(backRenderer, m_backFaceMode); BoundsRenderer boundsRenderer = new BoundsRenderer(entity, mesh.Mesh); boundsRenderer.Enabled = mesh.IsSelected; boundsRenderer.Color = mesh.Color; } }
void Awake() { Instance = this; }