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; //} }
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); } } }