UndoActionclassactions.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  

includeInUndoOVERRIDDENactions.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)OVERRIDDENactions.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