UndoAction class | actions.t[654]

Undo one turn.

`DefineSystemAction(Undo) // original source text`
`class UndoAction : SystemAction // after macro expansion`

Superclass Tree (in declaration order)

`UndoAction`
`SystemAction`
`IAction`
`Action`
`BasicProd`
`object`

Subclass Tree

`UndoAction`
`predicate(Undo)`

Global Objects

(none)

Summary of Properties

`includeInUndo`

Inherited from `SystemAction` :
`actionTime`

``

Inherited from `Action` :
`afterActionMainList beforeAfterObjs defaultForRecursion extraMessageParams implicitMsg isImplicit isRepeatable iterationCanceled originalAction parentAction preCond predicateNounPhrases pronounOverride remappedFrom showDefaultReports synthParamID verbFlags verifiedOkay`

Inherited from `BasicProd` :
`firstTokenIndex isSpecialResponseMatch lastTokenIndex`

Summary of Methods

`doAction performUndo`

Inherited from `SystemAction` :
`execAction execSystemAction getInputFile`

Inherited from `IAction` :
`doActionMain resolveNouns`

Inherited from `Action` :
`actionOfKind addBeforeAfterObj afterAction afterActionMain announceActionObject announceAllDefaultObjects announceDefaultObject beforeAction beforeActionMain cacheMultiObjectAnnouncements callAfterActionMain callCatchAllProp callPreConditions callVerifyPreCond callVerifyProp cancelIteration checkAction checkPreConditions checkRemapping combineRemappedVerifyResults createActionFrom createActionInstance createTopicQualifierResolver doActionOnce filterAmbiguousWithVerify filterFacets filterPluralWithVerify finishResolveList getAnaphoricBinding getCurrentObjects getDefaultWithVerify getEnteredVerbPhrase getImplicitPhrase getInfPhrase getMatchForRole getMessageParam getNotifyTable getObjectForRole getObjPreCondDescList getObjPreConditions getObjResponseProd getOriginalAction getOrigTokenList getOtherObjectRole getParticiplePhrase getPreCondDescList getPreCondPropForRole getPredicate getPronounOverride getQuestionInf getRemappedFrom getRemapPropForRole getResolvedObjList getResolveInfo getRoleFromIndex getSimpleSynonymRemap getSortedVerifyResults getVerbPhrase getVerifyPropForRole initTentative isConversational isNestedIn isPartOf isRemapped makeResolveInfo makeResolveInfoList maybeAnnounceDefaultObject maybeAnnounceImplicit maybeAnnounceMultiObject noMatch notifyBeforeAfter objListPronoun preAnnounceActionObject recalcSenseContext repeatAction resetAction resolveAction resolvedObjectsInScope runBeforeNotifiers saveActionForAgain setCurrentObjects setImplicit setMessageParam setMessageParams setNested setObjectMatches setOriginalAction setPronounOverride setRemapped setResolvedObjects spPrefix spSuffix synthMessageParam verifyAction verifyHandlersExist whatObj whatTranslate withVerifyResults zeroActionTime`

Inherited from `BasicProd` :
`canResolveTo getOrigText setOrigTokenList`

Properties

`includeInUndo` OVERRIDDEN | `actions.t[761]`

"undo" is not undoable - if we undo again after an undo, we undo the next most recent command

Methods

`doAction (issuingActor, targetActor, targetActorPhrase, countsAsIssuerTurn)`OVERRIDDEN | `actions.t[663]`

"Undo" is so special that we must override the entire action processing sequence. We do this because undoing will restore the game state as of the previous savepoint, which would leave all sorts of things unsynchronized in the normal action sequence. To avoid problems, we simply leave out any other action processing and perform the 'undo' directly.

`performUndo (asCommand)` | `actions.t[697]`

Perform undo. Returns true if we were successful, nil if not.

'asCommand' indicates whether or not the undo is being performed as an explicit command: if so, we'll save the UNDO command for use in AGAIN.

TADS 3 Library Manual
Generated on 5/16/2013 from TADS version 3.1.3