---
title: TabletopInteraction.Delegate
framework: tabletopkit
role: symbol
role_heading: Protocol
path: tabletopkit/tabletopinteraction/delegate
---

# TabletopInteraction.Delegate

A protocol for objects that manage the entire flow of players interacting with equipment.

## Declaration

```swift
protocol Delegate
```

## Overview

Overview Implement the update(interaction:) method to take an appropriate action depending on the equipment and the phase of the interaction. For example, turn a card face up if a player flips it over or toss a die when a gesture ends.

## Topics

### Taking actions

- [update(interaction:)](tabletopkit/tabletopinteraction/delegate/update(interaction:).md)

### Starting a toss

- [onTossStart(interaction:outcomes:)](tabletopkit/tabletopinteraction/delegate/ontossstart(interaction:outcomes:).md)

### Accepting interactions

- [shouldAcceptDirectInteraction(initialValue:handoffValue:)](tabletopkit/tabletopinteraction/delegate/shouldacceptdirectinteraction(initialvalue:handoffvalue:).md)
- [shouldAcceptIndirectInteraction(initialValue:handoffValue:)](tabletopkit/tabletopinteraction/delegate/shouldacceptindirectinteraction(initialvalue:handoffvalue:).md)
- [shouldAcceptInteraction(initialValue:handoffValue:)](tabletopkit/tabletopinteraction/delegate/shouldacceptinteraction(initialvalue:handoffvalue:).md)

## See Also

### Performing actions

- [TabletopInteraction.TossOutcome](tabletopkit/tabletopinteraction/tossoutcome.md)
- [addAction(_:)](tabletopkit/tabletopinteraction/addaction(_:)-1cety.md)
- [addAction(_:)](tabletopkit/tabletopinteraction/addaction(_:)-4rx16.md)
- [addActions(_:)](tabletopkit/tabletopinteraction/addactions(_:).md)
- [toss(equipmentID:as:linearVelocity:angularVelocity:)](tabletopkit/tabletopinteraction/toss(equipmentid:as:linearvelocity:angularvelocity:).md)
- [end()](tabletopkit/tabletopinteraction/end().md)
- [cancel()](tabletopkit/tabletopinteraction/cancel().md)
