Example #1
0
 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));
 }
Example #2
0
    //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);
    }