package tins2020

import "opslag.de/schobers/geom"

type Tool interface {
	Type() string
	ClickedTile(*Game, geom.Point)
}

type PlantFlowerTool struct {
	FlowerID string
}

func (t *PlantFlowerTool) Type() string { return "plant-flower" }

func (t *PlantFlowerTool) ClickedTile(game *Game, tile geom.Point) {
	game.PlantFlower(t.FlowerID, tile)
}

type NoTool struct{}

func (t *NoTool) Type() string { return "none" }

func (t *NoTool) ClickedTile(*Game, geom.Point) {}

type ShovelTool struct{}

func (t *ShovelTool) Type() string { return "shovel" }

func (t *ShovelTool) ClickedTile(game *Game, tile geom.Point) {
	game.Dig(tile)
}