kxKinetix kxType = kxRedJavaPlugIn kxModuleDefinition HangmanLogic = { // The name of the plug-in, as appears publicly (in menu, palette, etc.)... kxPublicName = "Hangman Logic" // The version of the plug-in (not currently used)... kxVersion = "1.0" // The creation date/time of the plug-in... kxCreationTime = "01/06/97 12:19:00 AM" // The author of the plug-in... kxAuthor = "Kinetix" // A short (one line) description of the plug-in's purpose in life... kxShortDescription = "Simple plug-in test -- reusable game logic for hangman type games." // URL of help document for plug-in. // kxHelpDoc = "http://www.mysite.com/Docs/HangmanLogic/help.html" // large (32x32) icon... kxLargeIcon = kxBmResType "ModIcons.dll" "HANG02" 0xFF00FF // small (16x16) icon... kxSmallIcon = kxBmResType "ModIcons.dll" "HANG01" 0xFF00FF // The Smalltalk class which controls the behavior of the plug-in inside the // authoring tool... kxSmalltalkProxyClass = RedBasicProxy // The Java package which contains the Java code for the plug-in... kxPlugInPackage = "kinetix.hyperb3.userPlugIns" // The Java class which implements the plug-in... kxPlugInClass = HangmanPlugIn // If true (the default), the classes which compose this plug-in are assumed to be in a // class library (CAB or JAR) and are not published with the title. // If false, the classes are published with the title. kxPlugInClassesInLibrary = false // The Smalltalk editor classes used to edit the properties of this plug-in... kxPropertyEditors = RedFieldsEditor OpusLabelCommentEditor ModuleStateEditor PortEditor // The persistent data for the plug-in. The author can set these in the tool // through the property dialog... kxPersistentFields = { kxField NumTries = { kxJavaSignature = "I" kxAccessor = fiSetNumTries kxDescription = "The number of incorrect tries allowed before user is hanged." kxDefault = 6 } } // The input ports... kxInputPorts = { kxInclude "Basic.ipt" kxPort TryLetter = { kxJavaMethod = wiTryLetter kxJavaSignature = "(LString;)V" kxPublicNames = "Try Letter" "Letter" "None" } kxPort NewWord = { kxJavaMethod = wiNewPhrase kxJavaSignature = "(LString;)V" kxPublicNames = "New Word" "Word or Phrase" "None" } } // The input port menu structure... kxInputPortsMenu = { Reset kxSeparator TryLetter NewWord kxMenu "More" = { kxInclude "Basic.imn" } } // The output ports... kxOutputPorts = { kxPort ItsAMatch = { kxJavaSignature = "(LString;I)V" kxPublicNames = "It's a Match!" "Character" "Position" "None" } kxPort ItsAMiss = { kxJavaSignature = "()V" kxPublicNames = "It's a Miss!" "None" } kxPort YouWin = { kxJavaSignature = "()V" kxPublicNames = "You Win!" "None" } kxPort YouLose = { kxJavaSignature = "()V" kxPublicNames = "You Lose!" "None" } } // The output port menu structure... kxOutputPortsMenu = { ItsAMatch ItsAMiss YouWin YouLose } }