func (m *moveRollDice) ReadSetConfigurer() boardgame.PropertyReadSetConfigurer {
	return &ȧutoGeneratedMoveRollDiceReader{m}
}
ReadSetConfigurer returns an autp-generated boardgame.PropertyReadSetConfigurer for moveRollDice
package pig
import (
	"errors"
	"github.com/jkomoros/boardgame"
	"github.com/jkomoros/boardgame/enum"
)
var ȧutoGeneratedMoveRollDiceReaderProps = map[string]boardgame.PropertyType{
	"TargetPlayerIndex": boardgame.TypePlayerIndex,
}
type ȧutoGeneratedMoveRollDiceReader struct {
	data *moveRollDice
}
func (m *ȧutoGeneratedMoveRollDiceReader) Props() map[string]boardgame.PropertyType {
	return ȧutoGeneratedMoveRollDiceReaderProps
}
func (m *ȧutoGeneratedMoveRollDiceReader) Prop(name string) (interface{}, error) {
	props := m.Props()
	propType, ok := props[name]
	if !ok {
		return nil, errors.New("No such property with that name: " + name)
	}
	switch propType {
	case boardgame.TypeInt:
		return m.IntProp(name)
	case boardgame.TypeBool:
		return m.BoolProp(name)
	case boardgame.TypeString:
		return m.StringProp(name)
	case boardgame.TypePlayerIndex:
		return m.PlayerIndexProp(name)
	case boardgame.TypeEnum:
		return m.ImmutableEnumProp(name)
	case boardgame.TypeIntSlice:
		return m.IntSliceProp(name)
	case boardgame.TypeBoolSlice:
		return m.BoolSliceProp(name)
	case boardgame.TypeStringSlice:
		return m.StringSliceProp(name)
	case boardgame.TypePlayerIndexSlice:
		return m.PlayerIndexSliceProp(name)
	case boardgame.TypeStack:
		return m.ImmutableStackProp(name)
	case boardgame.TypeBoard:
		return m.ImmutableBoardProp(name)
	case boardgame.TypeTimer:
		return m.ImmutableTimerProp(name)
	}
	return nil, errors.New("Unexpected property type: " + propType.String())
}
func (m *ȧutoGeneratedMoveRollDiceReader) PropMutable(name string) bool {
	switch name {
	case "TargetPlayerIndex":
		return true
	}
	return false
}
func (m *ȧutoGeneratedMoveRollDiceReader) SetProp(name string, value interface{}) error {
	props := m.Props()
	propType, ok := props[name]
	if !ok {
		return errors.New("No such property with that name: " + name)
	}
	switch propType {
	case boardgame.TypeInt:
		val, ok := value.(int)
		if !ok {
			return errors.New("Provided value was not of type int")
		}
		return m.SetIntProp(name, val)
	case boardgame.TypeBool:
		val, ok := value.(bool)
		if !ok {
			return errors.New("Provided value was not of type bool")
		}
		return m.SetBoolProp(name, val)
	case boardgame.TypeString:
		val, ok := value.(string)
		if !ok {
			return errors.New("Provided value was not of type string")
		}
		return m.SetStringProp(name, val)
	case boardgame.TypePlayerIndex:
		val, ok := value.(boardgame.PlayerIndex)
		if !ok {
			return errors.New("Provided value was not of type boardgame.PlayerIndex")
		}
		return m.SetPlayerIndexProp(name, val)
	case boardgame.TypeEnum:
		return errors.New("SetProp does not allow setting mutable types; use ConfigureProp instead")
	case boardgame.TypeIntSlice:
		val, ok := value.([]int)
		if !ok {
			return errors.New("Provided value was not of type []int")
		}
		return m.SetIntSliceProp(name, val)
	case boardgame.TypeBoolSlice:
		val, ok := value.([]bool)
		if !ok {
			return errors.New("Provided value was not of type []bool")
		}
		return m.SetBoolSliceProp(name, val)
	case boardgame.TypeStringSlice:
		val, ok := value.([]string)
		if !ok {
			return errors.New("Provided value was not of type []string")
		}
		return m.SetStringSliceProp(name, val)
	case boardgame.TypePlayerIndexSlice:
		val, ok := value.([]boardgame.PlayerIndex)
		if !ok {
			return errors.New("Provided value was not of type []boardgame.PlayerIndex")
		}
		return m.SetPlayerIndexSliceProp(name, val)
	case boardgame.TypeStack:
		return errors.New("SetProp does not allow setting mutable types; use ConfigureProp instead")
	case boardgame.TypeBoard:
		return errors.New("SetProp does not allow setting mutable types; use ConfigureProp instead")
	case boardgame.TypeTimer:
		return errors.New("SetProp does not allow setting mutable types; use ConfigureProp instead")
	}
	return errors.New("Unexpected property type: " + propType.String())
}
func (m *ȧutoGeneratedMoveRollDiceReader) ConfigureProp(name string, value interface{}) error {
	props := m.Props()
	propType, ok := props[name]
	if !ok {
		return errors.New("No such property with that name: " + name)
	}
	switch propType {
	case boardgame.TypeInt:
		val, ok := value.(int)
		if !ok {
			return errors.New("Provided value was not of type int")
		}
		return m.SetIntProp(name, val)
	case boardgame.TypeBool:
		val, ok := value.(bool)
		if !ok {
			return errors.New("Provided value was not of type bool")
		}
		return m.SetBoolProp(name, val)
	case boardgame.TypeString:
		val, ok := value.(string)
		if !ok {
			return errors.New("Provided value was not of type string")
		}
		return m.SetStringProp(name, val)
	case boardgame.TypePlayerIndex:
		val, ok := value.(boardgame.PlayerIndex)
		if !ok {
			return errors.New("Provided value was not of type boardgame.PlayerIndex")
		}
		return m.SetPlayerIndexProp(name, val)
	case boardgame.TypeEnum:
		if m.PropMutable(name) {
			val, ok := value.(enum.Val)
			if !ok {
				return errors.New("Provided value was not of type enum.Val")
			}
			return m.ConfigureEnumProp(name, val)
		}
		val, ok := value.(enum.ImmutableVal)
		if !ok {
			return errors.New("Provided value was not of type enum.ImmutableVal")
		}
		return m.ConfigureImmutableEnumProp(name, val)
	case boardgame.TypeIntSlice:
		val, ok := value.([]int)
		if !ok {
			return errors.New("Provided value was not of type []int")
		}
		return m.SetIntSliceProp(name, val)
	case boardgame.TypeBoolSlice:
		val, ok := value.([]bool)
		if !ok {
			return errors.New("Provided value was not of type []bool")
		}
		return m.SetBoolSliceProp(name, val)
	case boardgame.TypeStringSlice:
		val, ok := value.([]string)
		if !ok {
			return errors.New("Provided value was not of type []string")
		}
		return m.SetStringSliceProp(name, val)
	case boardgame.TypePlayerIndexSlice:
		val, ok := value.([]boardgame.PlayerIndex)
		if !ok {
			return errors.New("Provided value was not of type []boardgame.PlayerIndex")
		}
		return m.SetPlayerIndexSliceProp(name, val)
	case boardgame.TypeStack:
		if m.PropMutable(name) {
			val, ok := value.(boardgame.Stack)
			if !ok {
				return errors.New("Provided value was not of type boardgame.Stack")
			}
			return m.ConfigureStackProp(name, val)
		}
		val, ok := value.(boardgame.ImmutableStack)
		if !ok {
			return errors.New("Provided value was not of type boardgame.ImmutableStack")
		}
		return m.ConfigureImmutableStackProp(name, val)
	case boardgame.TypeBoard:
		if m.PropMutable(name) {
			val, ok := value.(boardgame.Board)
			if !ok {
				return errors.New("Provided value was not of type boardgame.Board")
			}
			return m.ConfigureBoardProp(name, val)
		}
		val, ok := value.(boardgame.ImmutableBoard)
		if !ok {
			return errors.New("Provided value was not of type boardgame.ImmutableBoard")
		}
		return m.ConfigureImmutableBoardProp(name, val)
	case boardgame.TypeTimer:
		if m.PropMutable(name) {
			val, ok := value.(boardgame.Timer)
			if !ok {
				return errors.New("Provided value was not of type boardgame.Timer")
			}
			return m.ConfigureTimerProp(name, val)
		}
		val, ok := value.(boardgame.ImmutableTimer)
		if !ok {
			return errors.New("Provided value was not of type boardgame.ImmutableTimer")
		}
		return m.ConfigureImmutableTimerProp(name, val)
	}
	return errors.New("Unexpected property type: " + propType.String())
}
func (m *ȧutoGeneratedMoveRollDiceReader) IntProp(name string) (int, error) {
	return 0, errors.New("No such Int prop: " + name)
}
func (m *ȧutoGeneratedMoveRollDiceReader) SetIntProp(name string, value int) error {
	return errors.New("No such Int prop: " + name)
}
func (m *ȧutoGeneratedMoveRollDiceReader) BoolProp(name string) (bool, error) {
	return false, errors.New("No such Bool prop: " + name)
}
func (m *ȧutoGeneratedMoveRollDiceReader) SetBoolProp(name string, value bool) error {
	return errors.New("No such Bool prop: " + name)
}
func (m *ȧutoGeneratedMoveRollDiceReader) StringProp(name string) (string, error) {
	return "", errors.New("No such String prop: " + name)
}
func (m *ȧutoGeneratedMoveRollDiceReader) SetStringProp(name string, value string) error {
	return errors.New("No such String prop: " + name)
}
func (m *ȧutoGeneratedMoveRollDiceReader) PlayerIndexProp(name string) (boardgame.PlayerIndex, error) {
	switch name {
	case "TargetPlayerIndex":
		return m.data.TargetPlayerIndex, nil
	}
	return 0, errors.New("No such PlayerIndex prop: " + name)
}
func (m *ȧutoGeneratedMoveRollDiceReader) SetPlayerIndexProp(name string, value boardgame.PlayerIndex) error {
	switch name {
	case "TargetPlayerIndex":
		m.data.TargetPlayerIndex = value
		return nil
	}
	return errors.New("No such PlayerIndex prop: " + name)
}
func (m *ȧutoGeneratedMoveRollDiceReader) ImmutableEnumProp(name string) (enum.ImmutableVal, error) {
	return nil, errors.New("No such Enum prop: " + name)
}
func (m *ȧutoGeneratedMoveRollDiceReader) ConfigureEnumProp(name string, value enum.Val) error {
	return errors.New("No such Enum prop: " + name)
}
func (m *ȧutoGeneratedMoveRollDiceReader) ConfigureImmutableEnumProp(name string, value enum.ImmutableVal) error {
	return errors.New("No such ImmutableEnum prop: " + name)
}
func (m *ȧutoGeneratedMoveRollDiceReader) EnumProp(name string) (enum.Val, error) {
	return nil, errors.New("No such Enum prop: " + name)
}
func (m *ȧutoGeneratedMoveRollDiceReader) IntSliceProp(name string) ([]int, error) {
	return []int{}, errors.New("No such IntSlice prop: " + name)
}
func (m *ȧutoGeneratedMoveRollDiceReader) SetIntSliceProp(name string, value []int) error {
	return errors.New("No such IntSlice prop: " + name)
}
func (m *ȧutoGeneratedMoveRollDiceReader) BoolSliceProp(name string) ([]bool, error) {
	return []bool{}, errors.New("No such BoolSlice prop: " + name)
}
func (m *ȧutoGeneratedMoveRollDiceReader) SetBoolSliceProp(name string, value []bool) error {
	return errors.New("No such BoolSlice prop: " + name)
}
func (m *ȧutoGeneratedMoveRollDiceReader) StringSliceProp(name string) ([]string, error) {
	return []string{}, errors.New("No such StringSlice prop: " + name)
}
func (m *ȧutoGeneratedMoveRollDiceReader) SetStringSliceProp(name string, value []string) error {
	return errors.New("No such StringSlice prop: " + name)
}
func (m *ȧutoGeneratedMoveRollDiceReader) PlayerIndexSliceProp(name string) ([]boardgame.PlayerIndex, error) {
	return []boardgame.PlayerIndex{}, errors.New("No such PlayerIndexSlice prop: " + name)
}
func (m *ȧutoGeneratedMoveRollDiceReader) SetPlayerIndexSliceProp(name string, value []boardgame.PlayerIndex) error {
	return errors.New("No such PlayerIndexSlice prop: " + name)
}
func (m *ȧutoGeneratedMoveRollDiceReader) ImmutableStackProp(name string) (boardgame.ImmutableStack, error) {
	return nil, errors.New("No such Stack prop: " + name)
}
func (m *ȧutoGeneratedMoveRollDiceReader) ConfigureStackProp(name string, value boardgame.Stack) error {
	return errors.New("No such Stack prop: " + name)
}
func (m *ȧutoGeneratedMoveRollDiceReader) ConfigureImmutableStackProp(name string, value boardgame.ImmutableStack) error {
	return errors.New("No such ImmutableStack prop: " + name)
}
func (m *ȧutoGeneratedMoveRollDiceReader) StackProp(name string) (boardgame.Stack, error) {
	return nil, errors.New("No such Stack prop: " + name)
}
func (m *ȧutoGeneratedMoveRollDiceReader) ImmutableBoardProp(name string) (boardgame.ImmutableBoard, error) {
	return nil, errors.New("No such Board prop: " + name)
}
func (m *ȧutoGeneratedMoveRollDiceReader) ConfigureBoardProp(name string, value boardgame.Board) error {
	return errors.New("No such Board prop: " + name)
}
func (m *ȧutoGeneratedMoveRollDiceReader) ConfigureImmutableBoardProp(name string, value boardgame.ImmutableBoard) error {
	return errors.New("No such ImmutableBoard prop: " + name)
}
func (m *ȧutoGeneratedMoveRollDiceReader) BoardProp(name string) (boardgame.Board, error) {
	return nil, errors.New("No such Board prop: " + name)
}
func (m *ȧutoGeneratedMoveRollDiceReader) ImmutableTimerProp(name string) (boardgame.ImmutableTimer, error) {
	return nil, errors.New("No such Timer prop: " + name)
}
func (m *ȧutoGeneratedMoveRollDiceReader) ConfigureTimerProp(name string, value boardgame.Timer) error {
	return errors.New("No such Timer prop: " + name)
}
func (m *ȧutoGeneratedMoveRollDiceReader) ConfigureImmutableTimerProp(name string, value boardgame.ImmutableTimer) error {
	return errors.New("No such ImmutableTimer prop: " + name)
}
func (m *ȧutoGeneratedMoveRollDiceReader) TimerProp(name string) (boardgame.Timer, error) {
	return nil, errors.New("No such Timer prop: " + name)
}
func (m *moveRollDice) Reader() boardgame.PropertyReader {
	return &ȧutoGeneratedMoveRollDiceReader{m}
}
func (m *moveRollDice) ReadSetter() boardgame.PropertyReadSetter {
	return &ȧutoGeneratedMoveRollDiceReader{m}
}