示例#1
0
        public Size?GetCharSize(char c)
        {
            if (blocks.ContainsKey(c))
            {
                return(blocks[c].GetSize());
            }
            string key  = baseseed + " (" + c + ")";
            string key2 = baseseed + "(" + c + ")";
            Seed   seed = null;

            if (sprite.seeds.ContainsKey(key))
            {
                seed = sprite.seeds[key];
            }
            else if (sprite.seeds.ContainsKey(key2))
            {
                seed = sprite.seeds[key2];
            }
            if (seed == null)
            {
                return(null);
            }
            blocks[c] = new tpos(seed, tmgr.GetTexture(System.IO.Path.Combine(texpath, seed.texname)));
            return(null);
        }
示例#2
0
        public void Fill(clgf.Anim.Anim anim, clgf.Anim.Element elem, TextureMgr tmgr, string texpath)
        {
            //if (string.IsNullOrEmpty(elem.seednow))
            //{
            //    return;
            //}
            if (anim.parent.seeds.ContainsKey(elem.seednow) == false)
            {
                return;
            }

            var seed = anim.parent.seeds[elem.seednow];

            //string filename = System.IO.Path.GetFileNameWithoutExtension(elem.seed.texname);
            block      = tmgr.GetTexture(System.IO.Path.Combine(texpath, seed.texname));
            seedorient = seed.orient;
            seedsize   = seed.size;
            color      = elem.color;
            pos        = elem.pos;
            scale      = elem.scale;

            rotate = elem.rotate;
            bounds = Seed.CalcRotate(seed.size * scale, seed.orient * scale, rotate);
            bounds.Offset(pos.X, pos.Y);
            tag = elem.tag;
            if (tag == null)
            {
                tag = "";
            }
            if (tag.IndexOf("dummy:") == 0)
            {
                isdummy = true;
                tag     = tag.Substring(6);
            }
        }