public override bool Interact(Level level, int x, int y, Player player, Item item) { if (item is PlantableResource) { PlantableResource plantableResource = (PlantableResource)item; if (plantableResource.ID == ItemDatabase.WATER_BUCKET_ID) { level.SetTileOnLayer(x, y, TileDatabase.FARM, 0, 0); return(true); } } return(base.Interact(level, x, y, player, item)); }
//TODO: Add scene entity of desired item in this method for each tile class public virtual bool Interact(Level level, int x, int y, Player player, Item item) { if (item is PlantableResource) { PlantableResource plantableResource = (PlantableResource)item; if (plantableResource.TargetTiles.Contains(level.GetTile(x, y)) || plantableResource.TargetTiles.Count == 0) { if (!plantableResource.ResultTile.Passable && Utils.IsSamePosition((Vector2)player.Position, new Vector2(x, y)) || level.GetEntitiesInArea(x, y, y, x).Count > 0) { return(false); } // Debug.Log ("Plantable Data = " + plantableResource.Data); level.SetTile(x, y, plantableResource.ResultTile, plantableResource.Data); //Add delay timer for plantable resource for time it takes plant to grow if any return(true); } } return(false); }