public BasicItemInformation()
        {
            this.name             = "";
            this.description      = "";
            this.categoryName     = "";
            this.categoryColor    = new Color(0, 0, 0);
            this.price            = 0;
            this.edibility        = -300;
            this.canBeSetIndoors  = false;
            this.canBeSetOutdoors = false;

            this.animationManager = new AnimationManager();
            this.drawPosition     = Vector2.Zero;
            this.DrawColor        = Color.White;
            this.inventory        = new InventoryManager();
            this.lightManager     = new LightManager();

            this.facingDirection = Enums.Direction.Down;
            this.id                     = "";
            this.shakeTimer             = 0;
            this.EnergyManager          = new Energy.EnergyManager();
            this._alwaysDrawAbovePlayer = false;
            this.ColorManager           = new ColorManager(Enums.DyeBlendMode.Blend, 0.5f);
            this.fluidManager           = new FluidManagerV2();
        }
        /// <summary>
        /// Searches for output tanks that have the corresponding fluid and tries to drain from them.
        /// </summary>
        /// <param name="L"></param>
        /// <param name="FluidSources"></param>
        public void pullFluidFromNetworkOutputs(List <MultiTiledObject> FluidSources, Fluid L)
        {
            List <MultiTiledObject> energySources = FluidSources;

            int index = 0;

            for (int i = 0; i < energySources.Count; i++)
            {
                FluidManagerV2 other = energySources[i].GetFluidManager();
                other.outputFluidToOtherSources(this.GetFluidManager());
                if (this.GetFluidManager().canRecieveThisFluid(L) == false)
                {
                    break;                                                         //Since we already check for valid tanks this will basically check again to see if the tanks are full.
                }
            }
        }
        public BasicItemInformation(string name, string id, string description, string categoryName, Color categoryColor, int edibility, int fragility, bool isLamp, int price, bool canBeSetOutdoors, bool canBeSetIndoors, Texture2D texture, AnimationManager animationManager, Color drawColor, bool ignoreBoundingBox, InventoryManager Inventory, LightManager Lights, Energy.EnergyManager EnergyManager = null, bool AlwaysDrawAbovePlayer = false, NamedColor DyedColor = null, ColorManager ColorManager = null, FluidManagerV2 FluidManager = null)
        {
            this.name          = name;
            this.id            = id;
            this.description   = description;
            this.categoryName  = categoryName;
            this.categoryColor = categoryColor;
            this.price         = price;
            this.edibility     = edibility;

            this.canBeSetOutdoors = canBeSetOutdoors;
            this.canBeSetIndoors  = canBeSetIndoors;
            this.fragility        = fragility;
            this.isLamp           = isLamp;

            this.animationManager = animationManager;
            if (this.animationManager.IsNull)
            {
                this.animationManager = new AnimationManager(new Texture2DExtended(), new Animation(new Rectangle(0, 0, 16, 16)), false);
                this.animationManager.getExtendedTexture().texture = texture;
            }

            this.drawPosition      = Vector2.Zero;
            this.DrawColor         = drawColor;
            this.ignoreBoundingBox = ignoreBoundingBox;
            this.inventory         = Inventory ?? new InventoryManager();
            this.lightManager      = Lights ?? new LightManager();
            this.facingDirection   = Enums.Direction.Down;
            this.shakeTimer        = 0;

            this.EnergyManager         = EnergyManager ?? new Energy.EnergyManager();
            this.AlwaysDrawAbovePlayer = AlwaysDrawAbovePlayer;

            this.DyedColor    = DyedColor ?? new NamedColor("", new Color(0, 0, 0, 0));
            this.ColorManager = ColorManager ?? new ColorManager(Enums.DyeBlendMode.Blend, 0.5f);
            this.fluidManager = FluidManager ?? new FluidManagerV2();
        }
 public override void SetFluidManager(FluidManagerV2 FluidManager)
 {
     this.info.fluidManager = FluidManager;
 }