ActorTopicDatabaseclass

actor.t[1004]

Superclass
Tree

Subclass
Tree

Global
Objects

Property
Summary

Method
Summary

Property
Details

Method
Details

A TopicDatabase for an Actor. This is used not only directly for an Actor but also for an actor’s sub-databases, in ActorState and ConvNode.

Actor topic databases field queries for the various types of topic-based interactions an actor can participate in: ASK, TELL, SHOW, GIVE, and so on.

Each actor has its own topic database, which means each actor can have its own set of responses. Actor states can also have their own separate topic databases; this makes it easy to make an actor’s response to a particular question vary according to the actor’s state. Conversation nodes can also have their own separate databases, which allows for things like threaded conversations.

class ActorTopicDatabase :   TopicDatabase

Superclass Tree   (in declaration order)

ActorTopicDatabase
TopicDatabase
`                 object`

Subclass Tree  

ActorTopicDatabase
Actor
UntakeableActor
Person
ActorState
AccompanyingInTravelState
GuidedInTravelState
AccompanyingState
GuidedTourState
ConversationReadyState
HermitActorState
InConversationState
ConvNode

Global Objects  

(none)

Summary of Properties  

askForTopics askTopics commandTopics giveTopics initiateTopics miscTopics showTopics specialTopics tellTopics

Inherited from TopicDatabase :
limitSuggestions suggestedTopics topicGroupActive topicGroupScoreAdjustment

Summary of Methods  

initiateTopic showTopicResponse

Inherited from TopicDatabase :
addSuggestedTopic addTopic addTopicToList compareVocabMatch findTopicResponse getTopicOwner handleTopic removeSuggestedTopic removeTopic removeTopicFromList showSuggestedTopicList

Properties  

askForTopics

actor.t[1077]

no description available

askTopics

actor.t[1076]

Our ‘ask about’, ‘ask for’, ‘tell about’, ‘give’, ‘show’, miscellaneous, command, and self-initiated topic databases - these are vectors we initialize as needed. Since every actor and every actor state has its own separate topic database, it’s likely that the bulk of these databases will be empty, so we don’t bother even creating a vector for a topic list until the first topic is added. This means we have to be able to cope with these being nil anywhere we use them.

commandTopics

actor.t[1082]

no description available

giveTopics

actor.t[1080]

no description available

initiateTopics

actor.t[1083]

no description available

miscTopics

actor.t[1081]

no description available

showTopics

actor.t[1079]

no description available

specialTopics

actor.t[1086]

our special command database

tellTopics

actor.t[1078]

no description available

Methods  

initiateTopic (obj)

actor.t[1011]

Initiate conversation on the given simulation object. If we can find an InitiateTopic matching the given object, we’ll show its topic response and return true; if we can’t find a topic to initiate, we’ll simply return nil.

showTopicResponse (fromActor, topic, resp)OVERRIDDEN

actor.t[1031]

show a topic response

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