public FunctionTile(int x, int y, Material type, World world) : base(x, y, type, world) { _Type = type; _BaseType = FunctionTile.FunctionTileBases[_Type]; _HarvestTime = WorldHelper.HarvestTimeFromType(_Type); _HarvestTimer = _HarvestTime; _RegenerateTime = WorldHelper.RegenerateTimeFromType(_Type); _RegenerateTimer = _RegenerateTime; _Image = WorldHelper.TileImageFromType(_Type); TextX = X; TextY = Y; // +1 because array is 0-index, and rdm max = parm -1 _Drop = new ItemStack(TileDrops[_Type][C.RDM.Next(TileDrops.Count + 1)], 1); world.FunctionTiles.Add(this); }
// Must have this init sepearte as instance is added to world tiles array in differnent place public FunctionTile(BinFuncTile bint) : base(bint) { _Type = (Material)Enum.Parse(typeof(Material), bint.mat); _HarvestTime = WorldHelper.HarvestTimeFromType(_Type); _HarvestTimer = _HarvestTime; _RegenerateTime = WorldHelper.RegenerateTimeFromType(_Type); _RegenerateTimer = bint.RegenerateTimer; _Harvested = bint.Harvested; if (_Harvested) { _Image = WorldHelper.TileImageFromType(_BaseType); } else { _Image = WorldHelper.TileImageFromType(_Type); } TextX = X; TextY = Y; // +1 because array is 0-index, and rdm max = parm -1 _Drop = new ItemStack(TileDrops[_Type][C.RDM.Next(TileDrops.Count + 1)], 1); }