onTap method
Should be called when the user taps on this interactable.
Implementation
@override
ActionResult onTap(EscapeGame escapeGame) {
ActionResult padlockTry = super.onTap(escapeGame);
if (padlockTry.state == ActionResultState.success) {
escapeGame.inventory.addObject(object);
ActionResult result = onPickedUp == null ? ActionResult<EscapeGameObject>.success(object: object) : onPickedUp!(escapeGame);
if (removeAfterPickedUp) {
escapeGame.currentRoom.removeInteractable(this);
if (removedTooltip != null) {
escapeGame.currentRoom.addInteractable(Interactable(
id: '$id-picked-up',
renderSettings: InteractableRenderSettings(
top: renderSettings?.top,
right: renderSettings?.right,
bottom: renderSettings?.bottom,
left: renderSettings?.left,
width: renderSettings?.width,
height: renderSettings?.height,
rotationAngle: renderSettings?.rotationAngle,
mirror: renderSettings?.mirror ?? false,
isInvisible: renderSettings?.isInvisible,
hoverAnimation: renderSettings?.hoverAnimation,
enterAnimation: renderSettings?.enterAnimation,
),
onHover: (escapeGame) => ActionResult.success(object: removedTooltip!),
));
}
}
return result;
}
return padlockTry;
}