예제 #1
0
        /// <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;
            }
        }
예제 #2
0
 void Awake()
 {
     Instance = this;
 }
예제 #3
0
 void Awake()
 {
     Instance = this;
 }