Beispiel #1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="master"></param>
        /// <param name="pic"></param>
        /// <param name="main"></param>
        /// <param name="opposite"></param>
        public VarHeightBuildingContribution(IAbstractStructure master, XmlElement pic, XmlElement main, bool opposite)
            : base(main)
        {
            this.Price = master.UnitPrice;
            if (opposite)
            {
                size = new Size(master.Size.Height, master.Size.Width);
            }
            else
            {
                size = master.Size;
            }
            this.PricePerArea = this.Price / Math.Max(1, size.Width * size.Height);
            minHeight         = master.MinHeight;
            maxHeight         = master.MaxHeight;


            tops    = loadSpriteSets(pic.SelectNodes("top"));
            bottoms = loadSpriteSets(pic.SelectNodes("bottom"));

            XmlElement   m = (XmlElement)XmlUtil.SelectSingleNode(pic, "middle");
            XmlAttribute a = m.Attributes["overlay"];

            if (a != null && a.InnerText.Equals("true"))
            {
                overlay = true;
            }
            middle = PluginUtil.getSpriteLoader(m).load2D(m, size, size.Width * 8);
        }
Beispiel #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="master"></param>
        /// <param name="pic"></param>
        /// <param name="main"></param>
        /// <param name="opposite"></param>
        public FixedSizeStructureContribution(IAbstractStructure master, XmlElement pic, XmlElement main, bool opposite)
            : base(main)
        {
            this.Price = master.UnitPrice;
            int height = master.MaxHeight;

            if (opposite)
            {
                size = new Distance(master.Size.Height, master.Size.Width, height);
            }
            else
            {
                this.size = new Distance(master.Size, height);
            }
            this.PricePerArea = this.Price / Math.Max(1, size.x * size.y);
            sprites           = PluginUtil.getSpriteLoader(pic).load3D(pic, size.x, size.y, height);
        }
Beispiel #3
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="master"></param>
 /// <param name="pic"></param>
 /// <param name="main"></param>
 /// <param name="opposite"></param>
 public CommercialStructureContribution(IAbstractStructure master, XmlElement pic, XmlElement main, bool opposite)
     : base(master, pic, main, opposite)
 {
 }