Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
        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);
        }
Exemplo n.º 6
0
 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;
 }