示例#1
0
        public void UpdateDrag()
        {
            var selectAllSurfaces = UnityEngine.Event.current.shift;

            s_TempChiselBrushMaterials.Clear();
            s_TempNodes.Clear();
            ChiselClickSelectionManager.FindBrushMaterials(Event.current.mousePosition, s_TempChiselBrushMaterials, s_TempNodes, selectAllSurfaces);
            var surfaces = s_TempChiselBrushMaterials.ToArray();

            s_TempChiselBrushMaterials.Clear();
            if (!Equals(prevBrushMaterials, surfaces))
            {
                UndoPrevSurface();

                // Handle situation where we're hovering over a selected surface, then apply to all selected surfaces
                if (!selectAllSurfaces)
                {
                    surfaces = AddSelectedSurfaces(surfaces);
                }

                ApplyMaterialToSurface(s_TempNodes.ToArray(), surfaces);
            }
            s_TempChiselBrushMaterials.Clear();
            s_TempNodes.Clear();
        }
        public void UpdateDrag()
        {
            var selectAllSurfaces = UnityEngine.Event.current.shift;

            ChiselBrushContainerAsset[] brushContainerAssets;
            ChiselBrushMaterial[]       surfaces;
            ChiselClickSelectionManager.FindBrushMaterials(Event.current.mousePosition, out surfaces, out brushContainerAssets, selectAllSurfaces);
            if (!Equals(prevBrushMaterials, surfaces))
            {
                UndoPrevSurface();

                // Handle situation where we're hovering over a selected surface, then apply to all selected surfaces
                if (!selectAllSurfaces)
                {
                    surfaces = AddSelectedSurfaces(surfaces);
                }

                ApplyMaterialToSurface(brushContainerAssets, surfaces);
            }
        }