Esempio n. 1
0
        public void SaveValue(Component_PaintLayer layer, Vector2I maskIndex, float paintValue)
        {
            var item = GetOrCreateLayerItem(layer);

            if (!item.values.ContainsKey(maskIndex))
            {
                item.values.Add(maskIndex, paintValue);
            }
        }
        //static Image deleteImage;

        //!!!!specific
        public static Image GetImageForPaintLayer(Component_PaintLayer layer)          //public static Image GetImage( Component component )
        {
            if (layer != null)
            {
                Component obj = layer.Material.Value;
                if (obj == null)
                {
                    obj = layer.Surface.Value;
                }

                if (obj != null)
                {
                    if (obj.Parent == null)
                    {
                        var virtualFileName = ComponentUtility.GetOwnedFileNameOfComponent(obj);
                        if (!string.IsNullOrEmpty(virtualFileName))
                        {
                            var realFileName = VirtualPathUtility.GetRealPathByVirtual(virtualFileName);
                            return(GetImageForResource(realFileName, false));
                        }
                    }
                }
            }

            //!!!!

            if (defaultImage32 == null)
            {
                defaultImage32 = Properties.Resources.Default_32;
            }
            return(defaultImage32);

            //if( Time.Current % 2.0 < 1 )
            //{
            //	if( newImage == null )
            //		newImage = Properties.Resources.Add_32;
            //	return newImage;
            //}
            //else
            //{
            //	if( deleteImage == null )
            //		deleteImage = Properties.Resources.Delete_32;
            //	return deleteImage;
            //}

            //if( Time.Current % 2.0 < 1 )
            //{
            //	return Properties.Resources.New_32;
            //}
            //else
            //{
            //	return Properties.Resources.Delete_32;
            //}
        }
Esempio n. 3
0
        LayerItem GetOrCreateLayerItem(Component_PaintLayer layer)
        {
            for (int n = 0; n < data.Count; n++)
            {
                if (data[n].layer == layer)
                {
                    return(data[n]);
                }
            }

            {
                var item = new LayerItem();
                item.layer = layer;
                data.Add(item);
                return(item);
            }
        }
        private void ButtonResizeMasks_Click(ProcedureUI.Button sender)
        {
            var terrain = GetTerrain();

            if (terrain == null)
            {
                return;
            }

            var layers = GetLayersToResizeMask(terrain);

            if (layers.Count == 0)
            {
                return;
            }

            var text = string.Format(EditorLocalization.Translate("Terrain", "Resize masks of selected layers to {0}x{0}?"), terrain.GetPaintMaskSizeInteger());

            if (EditorMessageBox.ShowQuestion(text, EMessageBoxButtons.OKCancel) == EDialogResult.OK)
            {
                var undoMultiAction = new UndoMultiAction();

                foreach (var layer in layers)
                {
                    var oldValue = layer.Mask;

                    layer.Mask = Component_PaintLayer.ResizeMask(layer.Mask, terrain.GetPaintMaskSizeInteger());

                    var property = (Metadata.Property)layer.MetadataGetMemberBySignature("property:Mask");
                    var undoItem = new UndoActionPropertiesChange.Item(layer, property, oldValue);
                    undoMultiAction.AddAction(new UndoActionPropertiesChange(undoItem));
                }

                if (undoMultiAction.Actions.Count != 0)
                {
                    Provider.DocumentWindow.Document.CommitUndoAction(undoMultiAction);
                }
            }
        }