public static void ScaleTemplates(TemplateDoc tmpd, Size sizTile) { // Scale templates Template[] atmpl = tmpd.GetTemplates(); Template tmplBackground = tmpd.GetBackgroundTemplate(); tmpd.RemoveTemplates(atmpl); foreach (Template tmpl in atmpl) { ScaleTemplate(tmpl, tmpd.TileSize, sizTile); } tmpd.TileSize = sizTile; tmpd.AddTemplates(atmpl); tmpd.SetBackgroundTemplate(tmplBackground); }
public static int ImportTemplates(MixTemplate[] amixt, TemplateDoc tmpd) { Size sizTile = tmpd.TileSize; ArrayList alsTmpl = new ArrayList(); int cImages = 0; foreach (MixTemplate mixt in amixt) { if (mixt == null) { continue; } cImages += mixt.ImageCount; alsTmpl.Add(ConstructTemplate(tmpd, mixt, sizTile)); } tmpd.AddTemplates((Template[])alsTmpl.ToArray(typeof(Template))); return(cImages); }
public static TemplateDoc CloneTemplateDoc(TemplateDoc tmpdSrc) { // This should probably be on ICloneable::Clone() on TemplateDoc TemplateDoc tmpdDst = (TemplateDoc)DocManager.NewDocument(typeof(TemplateDoc), new Object[] { tmpdSrc.TileSize }); DocManager.SetActiveDocument(typeof(TemplateDoc), tmpdSrc); Template[] atmplSrc = tmpdSrc.GetTemplates(); Template tmplSrcBackground = tmpdSrc.GetBackgroundTemplate(); Template tmplDstBackground = null; ArrayList alsTmplDst = new ArrayList(); foreach (Template tmplSrc in atmplSrc) { Template tmplDst = new Template(tmpdDst, tmplSrc.Name); tmplDst.OccupancyMap = tmplSrc.OccupancyMap; tmplDst.TerrainMap = tmplSrc.TerrainMap; tmplDst.Bitmap = (Bitmap)tmplSrc.Bitmap.Clone(); alsTmplDst.Add(tmplDst); if (tmplSrc == tmplSrcBackground) { tmplDstBackground = tmplDst; } } if (tmplDstBackground != null) { tmpdDst.SetBackgroundTemplate(tmplDstBackground); } tmpdDst.AddTemplates((Template[])alsTmplDst.ToArray(typeof(Template))); Palette palSrc = tmpdSrc.GetPalette(); if (palSrc != null) { tmpdDst.SetPalette(palSrc, false); } return(tmpdDst); }
private void AddTemplates() { // Get tile filename(s) OpenFileDialog frmOpen = new OpenFileDialog(); frmOpen.Multiselect = true; frmOpen.Filter = "Image Files (*.*)|*.*"; frmOpen.Title = "Add Templates"; if (frmOpen.ShowDialog() == DialogResult.Cancel) { return; } // Load them up. If there is no template doc yet, make a new one if (m_tmpdActive == null) { DocManager.NewDocument(typeof(TemplateDoc), null); } m_tmpdActive.AddTemplates(frmOpen.FileNames); }
public static void ScaleTemplates(TemplateDoc tmpd, Size sizTile) { // Scale templates Template[] atmpl = tmpd.GetTemplates(); Template tmplBackground = tmpd.GetBackgroundTemplate(); tmpd.RemoveTemplates(atmpl); foreach (Template tmpl in atmpl) ScaleTemplate(tmpl, tmpd.TileSize, sizTile); tmpd.TileSize = sizTile; tmpd.AddTemplates(atmpl); tmpd.SetBackgroundTemplate(tmplBackground); }
public static int ImportTemplates(MixTemplate[] amixt, TemplateDoc tmpd) { Size sizTile = tmpd.TileSize; ArrayList alsTmpl = new ArrayList(); int cImages = 0; foreach (MixTemplate mixt in amixt) { if (mixt == null) continue; cImages += mixt.ImageCount; alsTmpl.Add(ConstructTemplate(tmpd, mixt, sizTile)); } tmpd.AddTemplates((Template[])alsTmpl.ToArray(typeof(Template))); return cImages; }