using System;
using System.Collections.Generic;
using System.Text;
using ECOT.Engine;
using ECOT.Game.Buildings;
using Microsoft.Xna.Framework;

namespace ECOT.Game
{
    public class BuildingInfo
    {
        public string Name;
        public double Production;
        public double Pollution;
        public int ConstructionCost;
        public double ConstructionTime;
        public int Cost;
        public int CityLimit;
        public int GlobalCount = 0, GlobalLimit;
        public double Reliability;
        public bool IsAnimation;
        public double Taxes;
        public int Level;
        public int Retention;
        public Rectangle TextureRect;
        public bool BackTexture;

        public BuildingInfo(string name, double production, double pollution, int constructionCost, double constructionTime,
            int cost, int cityLimit, int globalLimit, int retention, Rectangle textureRect, bool backTexture)
        {
            this.Name = name;
            this.Production = production;
            this.Pollution = pollution;
            this.ConstructionCost = constructionCost;
            this.ConstructionTime = constructionTime;
            this.Cost = cost;
            this.CityLimit = cityLimit;
            this.GlobalLimit = globalLimit;
            this.Retention = retention;

            this.Reliability = 1;
            this.IsAnimation = false;
            this.Taxes = 0;
            this.Level = 0;

            this.TextureRect = textureRect;
            this.BackTexture = backTexture;
        }

        public BuildingInfo(string name, double production, double pollution, int constructionCost, double constructionTime,
            int cost, int cityLimit, int globalLimit, int retention, double levies, int level, Rectangle textureRect, bool backTexture)
        {
            this.Name = name;
            this.Production = production;
            this.Pollution = pollution;
            this.ConstructionCost = constructionCost;
            this.ConstructionTime = constructionTime;
            this.Cost = cost;
            this.CityLimit = cityLimit;
            this.GlobalLimit = globalLimit;
            this.Retention = retention;
            
            this.Reliability = 1;
            this.IsAnimation = false;
            this.Taxes = levies;
            this.Level = level;

            this.TextureRect = textureRect;
            this.BackTexture = backTexture;
        }

        // prend en compte la fiabilité
        public BuildingInfo(string name, double production, double pollution, int constructionCost, double constructionTime,
            int cost, int cityLimit, int globalLimit, int retention, double reliability, bool isAnimated, Rectangle textureRect, bool backTexture)
        {
            this.Name = name;
            this.Production = production;
            this.Pollution = pollution;
            this.ConstructionCost = constructionCost;
            this.ConstructionTime = constructionTime;
            this.Cost = cost;
            this.CityLimit = cityLimit;
            this.GlobalLimit = globalLimit;
            this.Retention = retention;

            this.Reliability = reliability;
            this.IsAnimation = isAnimated;
            this.Taxes = 0;
            this.Level = 0;

            this.TextureRect = textureRect;
            this.BackTexture = backTexture;
        }
    }

}
