Eamon CS  3.1.0
EamonDD.Game.Plugin.Engine Class Reference
Inheritance diagram for EamonDD.Game.Plugin.Engine:
Eamon.Game.Plugin.Engine EamonDD.Framework.Plugin.IEngine Eamon.Framework.Plugin.IEngine Eamon.Framework.Plugin.IEngine EamonRT.Game.Plugin.Engine AlternateBeginnersCave.Game.Plugin.Engine ARuncibleCargo.Game.Plugin.Engine BeginnersCaveII.Game.Plugin.Engine BeginnersForest.Game.Plugin.Engine Dharmaquest.Game.Plugin.Engine LandOfTheMountainKing.Game.Plugin.Engine OrbOfMyLife.Game.Plugin.Engine SampleAdventure.Game.Plugin.Engine StrongholdOfKahrDur.Game.Plugin.Engine TheBeginnersCave.Game.Plugin.Engine TheDeepCanyon.Game.Plugin.Engine ThePyramidOfAnharos.Game.Plugin.Engine TheSubAquanLaboratory.Game.Plugin.Engine TheTempleOfNgurct.Game.Plugin.Engine TheTrainingGround.Game.Plugin.Engine TheVileGrimoireOfJaldial.Game.Plugin.Engine TheWayfarersInn.Game.Plugin.Engine WrenholdsSecretVigil.Game.Plugin.Engine

Public Member Functions

override RetCode LoadPluginClassMappings ()
 Loads the ClassMappingsDictionary with all interface to class mapping Key/Value pairs necessary to allow the currently loaded Eamon CS plugin to run. More...
 
override void InitSystem ()
 
override void ResetProperties (PropertyResetCode resetCode)
 
override bool ShouldSleepAfterInput (StringBuilder buf, char inputFillChar)
 
virtual bool IsAdventureFilesetLoaded ()
 
virtual bool IsCharacterInventoryLoaded ()
 
virtual void DdProcessArgv (bool secondPass, ref bool ddfnFlag, ref bool nlFlag)
 
 Engine ()
 
- Public Member Functions inherited from Eamon.Game.Plugin.Engine
virtual void HandleException (Exception ex, string stackTraceFile, string errorMessage)
 
virtual void ResolvePortabilityClassMappings ()
 
virtual void ProcessArgv (string[] args)
 
virtual RetCode LoadPluginClassMappings01 (Assembly plugin)
 Probes the currently executing library/plugin (Assembly) for all classes adorned with the ClassMappings attribute, pairs each class with its corresponding interface, and updates the ClassMappingsDictionary accordingly. More...
 
virtual RetCode PushRulesetVersion (long rulesetVersion)
 
virtual RetCode PopRulesetVersion ()
 
virtual RetCode ClearRvStack ()
 
virtual RetCode GetRvStackTop (ref long rvStackTop)
 
virtual T CreateInstance< T > (Type ifaceType, Action< T > initialize=null)
 
virtual T CreateInstance< T > (Action< T > initialize=null)
 
virtual T CloneInstance< T > (T source)
 
virtual bool CompareInstances< T > (T object1, T object2)
 
virtual bool IsRulesetVersion (params long[] versions)
 
virtual string GetPrefixedFileName (string fileName)
 
virtual void ConvertDatafileFromXmlToDat (string fileName)
 
virtual RetCode PushDatabase ()
 
virtual RetCode PushDatabase (IDatabase database)
 
virtual RetCode PopDatabase (bool freeDatabase=true)
 
virtual RetCode GetDatabase (long index, ref IDatabase database)
 
virtual RetCode SaveDatabase (string fileName)
 
virtual RetCode RestoreDatabase (string fileName)
 
virtual RetCode ClearDbStack ()
 
virtual RetCode GetDbStackTop (ref long dbStackTop)
 
virtual void DeinitSystem ()
 
virtual void ReplaceDatafileValues (string fileName, string[] patterns, string[] replacements)
 
virtual void UpgradeDatafile (string fileName)
 
virtual string Upgrade300DatafileGetCharArtFileName (string characterFileName)
 
virtual IList< ICharArtListDataUpgrade300DatafileParseCharacters (string xmlString)
 
virtual IArtifact Upgrade300DatafileGetCharArtifact (ICharArtListData charArtData, string propertyName, XElement element)
 
virtual string Upgrade300DatafileStripEquipment (string xmlString)
 
virtual RetCode RestoreRecords< T, U > (IDbTable< T > table)
 
virtual IPrep GetPrep (long index)
 Gets the sentence preposition (e.g., "to", "from", "inside", etc). More...
 
virtual string GetArticle (long index)
 Gets the sentence article (e.g., "a", "some", "the", etc). More...
 
virtual string GetNumberString (long index)
 
virtual string GetFieldDescName (long index)
 
virtual string GetFieldDescName (FieldDesc fieldDesc)
 
virtual string GetStatusName (long index)
 Gets the name for a given Status. More...
 
virtual string GetStatusName (Status status)
 Gets the name for a given Status. More...
 
virtual string GetClothingName (long index)
 Gets the name for a given Clothing. More...
 
virtual string GetClothingName (Clothing clothing)
 Gets the name for a given Clothing. More...
 
virtual string GetCombatCodeDesc (long index)
 Gets the description for a given CombatCode. More...
 
virtual string GetCombatCodeDesc (CombatCode combatCode)
 Gets the description for a given CombatCode. More...
 
virtual string GetParryCodeDesc (long index)
 Gets the description for a given ParryCode. More...
 
virtual string GetParryCodeDesc (ParryCode parryCode)
 Gets the description for a given ParryCode. More...
 
virtual string GetContainerDisplayCodeDesc (long index)
 
virtual string GetContainerDisplayCodeDesc (ContainerDisplayCode containerDisplayCode)
 
virtual string GetLightLevelName (long index)
 Gets the name for a given LightLevel. More...
 
virtual string GetLightLevelName (LightLevel lightLevel)
 Gets the name for a given LightLevel. More...
 
virtual IStat GetStat (long index)
 Gets the data for a given Stat. More...
 
virtual IStat GetStat (Stat stat)
 Gets the data for a given Stat. More...
 
virtual ISpell GetSpell (long index)
 Gets the data for a given Spell. More...
 
virtual ISpell GetSpell (Spell spell)
 Gets the data for a given Spell. More...
 
virtual IWeapon GetWeapon (long index)
 Gets the data for a given Weapon. More...
 
virtual IWeapon GetWeapon (Weapon weapon)
 Gets the data for a given Weapon. More...
 
virtual IArmor GetArmor (long index)
 Gets the data for a given Armor. More...
 
virtual IArmor GetArmor (Armor armor)
 Gets the data for a given Armor. More...
 
virtual IDirection GetDirection (long index)
 Gets the data for a given Direction. More...
 
virtual IDirection GetDirection (Direction direction)
 Gets the data for a given Direction. More...
 
virtual IArtifactType GetArtifactType (long index)
 Gets the data for a given ArtifactType. More...
 
virtual IArtifactType GetArtifactType (ArtifactType artifactType)
 Gets the data for a given ArtifactType. More...
 
virtual bool IsSuccess (RetCode rc)
 Indicates whether an operation succeeded. More...
 
virtual bool IsFailure (RetCode rc)
 Indicates whether an operation failed. More...
 
virtual bool IsValidPluralType (PluralType pluralType)
 Indicates whether a plural type is valid. More...
 
virtual bool IsValidArtifactType (ArtifactType artifactType)
 Indicates whether an artifact type is valid. More...
 
virtual bool IsValidArtifactArmor (long armor, bool includeShields=true)
 Indicates whether an armor value is valid for a wearable Artifact. More...
 
virtual bool IsValidMonsterArmor (long armor)
 Indicates whether an armor value is valid for a Monster. More...
 
virtual bool IsValidMonsterCourage (long courage)
 Indicates whether a courage value is valid for a Monster. More...
 
virtual bool IsValidMonsterFriendliness (Friendliness friendliness)
 
virtual bool IsValidMonsterFriendlinessPct (Friendliness friendliness)
 
virtual bool IsValidDirection (Direction dir)
 
virtual bool IsValidRoomUid01 (long roomUid)
 
virtual bool IsValidRoomDirectionDoorUid01 (long roomUid)
 
virtual bool IsArtifactFieldStrength (long value)
 
virtual bool IsUnmovable (long weight)
 
virtual bool IsUnmovable01 (long weight)
 
virtual long GetMonsterHealthStatusIndex (long hardiness, long dmgTaken)
 
virtual long GetWeightCarryableGronds (long hardiness)
 
virtual long GetWeightCarryableDos (long hardiness)
 
virtual long GetIntellectBonusPct (long intellect)
 
virtual long GetCharmMonsterPct (long charisma)
 
virtual long GetPluralTypeEffectUid (PluralType pluralType)
 
virtual long GetArmorFactor (long armorUid, long shieldUid)
 
virtual long GetCharismaFactor (long charisma)
 
virtual long GetMonsterFriendlinessPct (Friendliness friendliness)
 
virtual long GetArtifactFieldStrength (long value)
 
virtual long GetMerchantAskPrice (double price, double rtio)
 
virtual long GetMerchantBidPrice (double price, double rtio)
 
virtual long GetMerchantAdjustedCharisma (long charisma)
 
virtual double GetMerchantRtio (long charisma)
 
virtual bool IsCharYOrN (char ch)
 Indicates whether a character is one of ['Y', 'N']. More...
 
virtual bool IsCharGOrAOrN (char ch)
 Indicates whether a character is one of ['G', 'A', 'N']. More...
 
virtual bool IsCharSOrTOrROrX (char ch)
 Indicates whether a character is one of ['S', 'T', 'R', 'X']. More...
 
virtual bool IsCharNOrSOrEOrW (char ch)
 Indicates whether a character is one of ['N', 'S', 'E', 'W']. More...
 
virtual bool IsChar0Or1 (char ch)
 Indicates whether a character is one of ['0', '1']. More...
 
virtual bool IsChar0To2 (char ch)
 Indicates whether a character is one of ['0', '1', '2']. More...
 
virtual bool IsChar0To3 (char ch)
 Indicates whether a character is one of ['0', '1', '2', '3']. More...
 
virtual bool IsChar1To3 (char ch)
 Indicates whether a character is one of ['1', '2', '3']. More...
 
virtual bool IsChar1To4 (char ch)
 Indicates whether a character is one of ['1', '2', '3', '4']. More...
 
virtual bool IsCharDigit (char ch)
 Indicates whether a character is a numeric digit. More...
 
virtual bool IsCharDigitOrX (char ch)
 Indicates whether a character is a numeric digit or 'X'. More...
 
virtual bool IsCharPlusMinusDigit (char ch)
 Indicates whether a character is a numeric digit or one of ['+', '-']. More...
 
virtual bool IsCharAlpha (char ch)
 Indicates whether a character is alphabetic. More...
 
virtual bool IsCharAlphaSpace (char ch)
 Indicates whether a character is alphabetic or space. More...
 
virtual bool IsCharAlnum (char ch)
 Indicates whether a character is alphabetic or numeric digit. More...
 
virtual bool IsCharAlnumSpace (char ch)
 Indicates whether a character is alphabetic, numeric digit or space. More...
 
virtual bool IsCharAlnumPeriodUnderscore (char ch)
 Indicates whether a character is alphabetic, numeric digit, period or underscore. More...
 
virtual bool IsCharPrint (char ch)
 Indicates whether a character is printable. More...
 
virtual bool IsCharPound (char ch)
 Indicates whether a character is '#'. More...
 
virtual bool IsCharQuote (char ch)
 Indicates whether a character is a quote. More...
 
virtual bool IsCharAny (char ch)
 Indicates whether a character is any character at all. More...
 
virtual bool IsCharAnyButDquoteCommaColon (char ch)
 Indicates whether a character is any character but one of ['"', ',', ':']. More...
 
virtual bool IsCharAnyButBackForwardSlash (char ch)
 Indicates whether a character is any character but one of ['\', '/']. More...
 
virtual char ModifyCharToUpper (char ch)
 Given a character, produce its upper case equivalent, if any. More...
 
virtual char ModifyCharToNullOrX (char ch)
 Given a character, produce either 'X' or '\0'. More...
 
virtual char ModifyCharToNull (char ch)
 Given a character, produce '\0'. More...
 
virtual Direction GetDirection (string directionName)
 
virtual ContainerType GetContainerType (ArtifactType artifactType)
 
virtual IConfig GetConfig ()
 
virtual IGameState GetGameState ()
 Gets the GameState record. More...
 
virtual IModule GetModule ()
 Gets the Module record. More...
 
virtual void Shuffle< T > (IList< T > list)
 
virtual T GetRandomElement< T > (T[] array, Func< long > indexFunc=null)
 
virtual T GetNonRepeatingRandomElement< T > (IList< T > sourceList, IList< T > usedList, Action< IList< T >> shuffleFunc=null)
 
virtual T GetNonRepeatingRandomElement01< T > (IList< T > sourceList, bool shuffle=false, Action< IList< T >> shuffleFunc=null)
 
virtual T EvalFriendliness< T > (Friendliness friendliness, T enemyValue, T neutralValue, T friendValue)
 Evaluates the Friendliness, returning a value of type T. More...
 
virtual T EvalGender< T > (Gender gender, T maleValue, T femaleValue, T neutralValue)
 Evaluates the Gender, returning a value of type T. More...
 
virtual T EvalContainerType< T > (ContainerType containerType, T inValue, T onValue, T underValue, T behindValue)
 Evaluates the ContainerType, returning a value of type T. More...
 
virtual T EvalRoomType< T > (RoomType roomType, T indoorsValue, T outdoorsValue)
 Evaluates the RoomType, returning a value of type T. More...
 
virtual T EvalLightLevel< T > (LightLevel lightLevel, T darkValue, T lightValue)
 Evaluates the LightLevel, returning a value of type T. More...
 
virtual T EvalPlural< T > (bool isPlural, T singularValue, T pluralValue)
 Evaluates the plural value, returning a value of type T. More...
 
virtual string BuildPrompt (long bufSize, char fillChar, long number, string msg, string emptyVal)
 
virtual string BuildValue (long bufSize, char fillChar, long offset, long longVal, string stringVal, string lookupMsg)
 
virtual string WordWrap (string str, StringBuilder buf, long margin, IWordWrapArgs args, bool clearBuf=true)
 
virtual string WordWrap (string str, StringBuilder buf, bool clearBuf=true)
 
virtual string LineWrap (string str, StringBuilder buf, long startColumn, bool clearBuf=true)
 
virtual string GetStringFromNumber (long num, bool addSpace, StringBuilder buf)
 
virtual long GetNumberFromString (string str)
 
virtual RetCode RollDice (long numDice, long numSides, ref long[] dieRolls)
 Rolls a number of dice, storing the resulting values in an array. More...
 
virtual long RollDice (long numDice, long numSides, long modifier)
 Rolls a number of dice, returning a sum of the results. More...
 
virtual RetCode SumHighestRolls (long[] dieRolls, long numRollsToSum, ref long result)
 Given an array of die rolls, sum the highest of them and return the result. More...
 
virtual string Capitalize (string str)
 
virtual void UnlinkOnFailure ()
 Deletes a set of game-related files from the filesystem. More...
 
virtual void TruncatePluralTypeEffectDesc (PluralType pluralType, long maxSize)
 
virtual void TruncatePluralTypeEffectDesc (IEffect effect)
 
virtual RetCode SplitPath (string fullPath, ref string directory, ref string fileName, ref string extension, bool appendDirectorySeparatorChar=true)
 
virtual RetCode StripPrepsAndArticles (StringBuilder buf, ref bool mySeen)
 
virtual void PrintTitle (string title, bool inBox)
 
virtual void PrintEffectDesc (IEffect effect, bool printFinalNewLine=true)
 
virtual void PrintEffectDesc (long effectUid, bool printFinalNewLine=true)
 
virtual void PrintZapDirectHit ()
 Prints the Blast spell description. More...
 
virtual RetCode ValidateRecordsAfterDatabaseLoaded ()
 
virtual RetCode StatDisplay (IStatDisplayArgs args)
 
virtual RetCode GetRecordNameList (IList< IGameBase > recordList, IRecordNameListArgs args, StringBuilder buf)
 
virtual RetCode GetRecordNameCount (IList< IGameBase > recordList, string name, bool exactMatch, ref long count)
 
virtual RetCode ListRecords (IList< IGameBase > recordList, bool capitalize, bool showExtraInfo, StringBuilder buf)
 
virtual RetCode ResolveUidMacros (string str, StringBuilder buf, bool resolveFuncs, bool recurse, ref long invalidUid)
 
virtual RetCode ResolveUidMacros (string str, StringBuilder buf, bool resolveFuncs, bool recurse)
 
virtual double GetWeaponPriceOrValue (string name, long complexity, Weapon type, long dice, long sides, long numHands, bool calcPrice, ref bool isMarcosWeapon)
 
virtual double GetWeaponPriceOrValue (IArtifact weapon, bool calcPrice, ref bool isMarcosWeapon)
 
virtual double GetArmorPriceOrValue (Armor armor, bool calcPrice, ref bool isMarcosArmor)
 
virtual void AppendFieldDesc (FieldDesc fieldDesc, StringBuilder buf, StringBuilder fullDesc, StringBuilder briefDesc)
 
virtual void AppendFieldDesc (FieldDesc fieldDesc, StringBuilder buf, string fullDesc, string briefDesc)
 
virtual IList< IArtifactGetArtifactList (params Func< IArtifact, bool >[] whereClauseFuncs)
 
virtual IList< IMonsterGetMonsterList (params Func< IMonster, bool >[] whereClauseFuncs)
 
virtual IList< IGameBaseGetRecordList (params Func< IGameBase, bool >[] whereClauseFuncs)
 
virtual IList< IMonsterGetFriendlyMonsterList (IMonster monster)
 
virtual IList< IMonsterGetHostileMonsterList (IMonster monster)
 
virtual IArtifact GetNthArtifact (IList< IArtifact > artifactList, long which, Func< IArtifact, bool > whereClauseFunc)
 
virtual IMonster GetNthMonster (IList< IMonster > monsterList, long which, Func< IMonster, bool > whereClauseFunc)
 
virtual IGameBase GetNthRecord (IList< IGameBase > recordList, long which, Func< IGameBase, bool > whereClauseFunc)
 
virtual bool StripUniqueCharsFromRecordNames (IList< IGameBase > recordList)
 
virtual bool AddUniqueCharsToRecordNames (IList< IGameBase > recordList)
 
virtual bool SwapGreaterArmorUidWithLesserShieldUid (ICharacter character)
 
virtual void ConvertWeaponToGoldOrTreasure (IArtifact artifact, bool convertToGold)
 
virtual void ConvertTreasureToContainer (IArtifact artifact, ContainerType containerType=ContainerType.In)
 
virtual void ConvertContainerToTreasure (IArtifact artifact, ContainerType containerType=ContainerType.In)
 
 Engine ()
 

Properties

virtual string[] Argv [get, set]
 
virtual long WordWrapCurrColumn [get, set]
 
virtual char WordWrapLastChar [get, set]
 
virtual string ConfigFileName [get, set]
 
virtual IDdMenu DdMenu [get, set]
 
virtual IMenu Menu [get, set]
 
virtual IModule Module [get, set]
 
virtual IConfig Config [get, set]
 
virtual bool BortCommand [get, set]
 
virtual bool DdSuppressPostInputSleep [get, set]
 
virtual bool ConfigsModified [get, set]
 
virtual bool FilesetsModified [get, set]
 
virtual bool CharactersModified [get, set]
 
virtual bool ModulesModified [get, set]
 
virtual bool RoomsModified [get, set]
 
virtual bool ArtifactsModified [get, set]
 
virtual bool CharArtsModified [get, set]
 
virtual bool EffectsModified [get, set]
 
virtual bool MonstersModified [get, set]
 
virtual bool HintsModified [get, set]
 
- Properties inherited from Eamon.Game.Plugin.Engine
virtual string[] CommandSepTokens [get, protected set]
 
virtual string[] PronounTokens [get, protected set]
 
virtual string ToughDesc [get, protected set]
 
virtual string CourageDesc [get, protected set]
 
virtual int ArtNameLen = 40 [get, protected set]
 
virtual int ArtStateDescLen = 64 [get, protected set]
 
virtual int ArtDescLen = 256 [get, protected set]
 
virtual int CharNameLen = 32 [get, protected set]
 
virtual int EffDescLen = 256 [get, protected set]
 
virtual int FsNameLen = 40 [get, protected set]
 
virtual int FsFileNameLen = 64 [get, protected set]
 
virtual int HntQuestionLen = 256 [get, protected set]
 
virtual int HntAnswerLen = 256 [get, protected set]
 
virtual int ModNameLen = 40 [get, protected set]
 
virtual int ModDescLen = 256 [get, protected set]
 
virtual int ModAuthorLen = 40 [get, protected set]
 
virtual int ModVolLabelLen = 7 [get, protected set]
 
virtual int ModSerialNumLen = 3 [get, protected set]
 
virtual int MonNameLen = 40 [get, protected set]
 
virtual int MonStateDescLen = 64 [get, protected set]
 
virtual int MonDescLen = 256 [get, protected set]
 
virtual int RmNameLen = 50 [get, protected set]
 
virtual int RmDescLen = 256 [get, protected set]
 
virtual long AxePrice = 25 [get, protected set]
 
virtual long BowPrice = 40 [get, protected set]
 
virtual long MacePrice = 20 [get, protected set]
 
virtual long SpearPrice = 25 [get, protected set]
 
virtual long SwordPrice = 30 [get, protected set]
 
virtual long ShieldPrice = 50 [get, protected set]
 
virtual long LeatherArmorPrice = 100 [get, protected set]
 
virtual long ChainMailPrice = 250 [get, protected set]
 
virtual long PlateMailPrice = 500 [get, protected set]
 
virtual long BlastPrice = 1000 [get, protected set]
 
virtual long HealPrice = 500 [get, protected set]
 
virtual long SpeedPrice = 4000 [get, protected set]
 
virtual long PowerPrice = 100 [get, protected set]
 
virtual long RecallPrice = 100 [get, protected set]
 
virtual long StatGainPrice = 4500 [get, protected set]
 
virtual long WeaponTrainingPrice = 1000 [get, protected set]
 
virtual long ArmorTrainingPrice = 1000 [get, protected set]
 
virtual long SpellTrainingPrice = 1000 [get, protected set]
 
virtual long InfoBoothPrice = 30 [get, protected set]
 
virtual long FountainPrice = 20 [get, protected set]
 
virtual long NumRecords = 1000 [get, protected set]
 
virtual long NumCharacterWeapons = 4 [get, protected set]
 
virtual long NumCharacterArtifacts [get, protected set]
 
virtual long NumArtifactCategories = 4 [get, protected set]
 
virtual long NumArtifactCategoryFields = 20 [get, protected set]
 
virtual int BufSize = 1024 [get, protected set]
 
virtual int BufSize01 = 6 [get, protected set]
 
virtual int BufSize02 = 1 [get, protected set]
 
virtual int BufSize03 = 64 [get, protected set]
 
virtual string ResolveEffectRegexPattern = @"[^\*]\*[0-9]{3}|\*\*[0-9]{3}" [get, protected set]
 
virtual string ResolveUidMacroRegexPattern = @"[^\*]\*[0-9]{3}|\*\*[0-9]{3}|[^@]@[0-9]{3}|@@[0-9]{3}" [get, protected set]
 
virtual string ValidWorkDirRegexPattern = @"^(NONE)$|^(\.)$|^(\.\.\\\.\.\\Adventures\\[a-zA-Z0-9]+)$|^(\.\.\/\.\.\/Adventures\/[a-zA-Z0-9]+)$" [get, protected set]
 
virtual string CommandSepRegexPattern = @"\.|\!|\?|;|,| (?:and|then|also) " [get, protected set]
 
virtual string PronounRegexPattern = @" (?:those|them|that|him|her|it) " [get, protected set]
 
virtual string EverythingRegexPattern = @" everything " [get, protected set]
 
virtual string ExceptRegexPattern = @" (?:except|excluding|omitting) " [get, protected set]
 
virtual string RecIdepErrorFmtStr = "The {0} field refers to {1} Uid {2}, {3}." [get, protected set]
 
virtual string AndroidAdventuresDir = @"..\EamonPM.Android\Assets\Adventures" [get, protected set]
 
virtual string AdventuresDir = @"..\..\Adventures" [get, protected set]
 
virtual string QuickLaunchDir = @"..\..\QuickLaunch" [get, protected set]
 
virtual string DefaultWorkDir = "." [get, protected set]
 
virtual string ProcessMutexName [get, protected set]
 
virtual string EamonCSSlnFile = @"..\..\Eamon-CS.sln" [get, protected set]
 
virtual string StackTraceFile = @".\STACKTRACE.TXT" [get, protected set]
 
virtual string GlobalLaunchParametersFile = @".\GLOBAL_LAUNCH_PARAMETERS.TXT" [get, protected set]
 
virtual string ProgVersion = "3.1.0" [get, protected set]
 
virtual long InfiniteDrinkableEdible = 9999 [get, protected set]
 
virtual long DirectionExit = -999 [get, protected set]
 
virtual long LimboLocation = 0 [get, protected set]
 
virtual long MinWeaponComplexity = -50 [get, protected set]
 
virtual long MaxWeaponComplexity = 50 [get, protected set]
 
virtual long MinGoldValue = -99999 [get, protected set]
 
virtual long MaxGoldValue = 999999 [get, protected set]
 
virtual long MaxPathLen = 256 [get, protected set]
 
virtual long MaxRecursionLevel = 100 [get, protected set]
 
virtual int WindowWidth = 80 [get, protected set]
 
virtual int WindowHeight = 50 [get, protected set]
 
virtual int BufferWidth = 80 [get, protected set]
 
virtual int BufferHeight = 9999 [get, protected set]
 
virtual long RightMargin = 78 [get, protected set]
 
virtual long NumRows = 22 [get, protected set]
 
virtual IDictionary< Type, Type > ClassMappingsDictionary = new Dictionary<Type, Type>() [get, set]
 
virtual ITextReader In [get, set]
 
virtual ITextWriter Out [get, set]
 
virtual ITextWriter Error [get, set]
 
virtual IMutex Mutex [get, set]
 
virtual ITransferProtocol TransferProtocol [get, set]
 
virtual IDirectory Directory [get, set]
 
virtual IFile File [get, set]
 
virtual IPath Path [get, set]
 
virtual ISharpSerializer SharpSerializer [get, set]
 
virtual IThread Thread [get, set]
 
virtual MemoryStream CloneStream = new MemoryStream() [get, set]
 
virtual long MutatePropertyCounter = 1 [get, set]
 
virtual string WorkDir = "" [get, set]
 
virtual string FilePrefix = "" [get, set]
 
virtual long? RulesetVersion [get]
 
virtual bool EnableMutateProperties [get]
 
virtual bool EnableStdio = true [get, set]
 
virtual bool EnableNegativeRoomUidLinks [get, set]
 
virtual bool EnableScreenReaderMode [get, set]
 
virtual bool EnableCommandHistory [get, set]
 
virtual bool EnableEnhancedCombat [get, set]
 
virtual bool IgnoreMutex [get, set]
 
virtual bool DisableValidation [get, set]
 
virtual bool RunGameEditor [get, set]
 
virtual bool DeleteGameStateFromMainHall [get, set]
 
virtual bool GetMainMenuInput [get, set]
 
virtual Action< IDictionary< Type, Type > > LoadPortabilityClassMappings [get, set]
 
virtual IList< long > RulesetVersionList [get, set]
 
virtual IDatabaseDatabase [get]
 
virtual IRoom RevealContentRoom [get, set]
 
virtual IMonster RevealContentMonster [get, set]
 
virtual IList< IArtifactRevealContentArtifactList [get, set]
 
virtual IList< Action > RevealContentFuncList [get, set]
 
virtual long RevealContentCounter [get, set]
 
virtual string LineSep [get, set]
 
virtual bool LineWrapUserInput [get, set]
 
virtual IRecordDb< IConfigCFGDB [get, set]
 
virtual IRecordDb< IFilesetFSDB [get, set]
 
virtual IRecordDb< ICharacterCHRDB [get, set]
 
virtual IRecordDb< IModuleMODDB [get, set]
 
virtual IRecordDb< IRoomRDB [get, set]
 
virtual IRecordDb< IArtifactADB [get, set]
 
virtual IRecordDb< IEffectEDB [get, set]
 
virtual IRecordDb< IMonsterMDB [get, set]
 
virtual IRecordDb< IHintHDB [get, set]
 
virtual IRecordDb< IGameStateGSDB [get, set]
 
virtual IList< IDatabaseDatabaseList [get, set]
 
virtual IDictionary< long, Func< string > > MacroFuncs [get, set]
 
virtual Action< IRoom, IMonster, IArtifact, long, bool > RevealContainerContentsFunc [get, set]
 
virtual IPrep[] Preps [get, set]
 
virtual string[] Articles [get, set]
 
virtual string UnknownName [get, set]
 
virtual Random Rand [get, set]
 
virtual string[] NumberStrings [get, set]
 
virtual string[] FieldDescNames [get, set]
 
virtual string[] StatusNames [get, set]
 Gets or sets an array containing the name for each Status. More...
 
virtual string[] ClothingNames [get, set]
 Gets or sets an array containing the name for each Clothing. More...
 
virtual string[] CombatCodeDescs [get, set]
 Gets or sets an array containing the description for each CombatCode. More...
 
virtual string[] ParryCodeDescs [get, set]
 Gets or sets an array containing the description for each ParryCode. More...
 
virtual string[] ContainerDisplayCodeDescs [get, set]
 
virtual string[] LightLevelNames [get, set]
 Gets or sets an array containing the name for each LightLevel. More...
 
virtual IStat[] Stats [get, set]
 Gets or sets an array containing data for each Stat. More...
 
virtual ISpell[] Spells [get, set]
 Gets or sets an array containing data for each Spell. More...
 
virtual IWeapon[] Weapons [get, set]
 Gets or sets an array containing data for each Weapon. More...
 
virtual IArmor[] Armors [get, set]
 Gets or sets an array containing data for each Armor. More...
 
virtual IDirection[] Directions [get, set]
 Gets or sets an array containing data for each Direction. More...
 
virtual IArtifactType[] ArtifactTypes [get, set]
 Gets or sets an array containing data for each ArtifactType. More...
 
- Properties inherited from Eamon.Framework.Plugin.IEngine
StringBuilder Buf [get, set]
 
string[] CommandSepTokens [get]
 
string[] PronounTokens [get]
 
string ToughDesc [get]
 
string CourageDesc [get]
 
int ArtNameLen [get]
 Gets the maximum length of an Artifact Name. More...
 
int ArtStateDescLen [get]
 Gets the maximum length of an Artifact StateDesc. More...
 
int ArtDescLen [get]
 Gets the maximum length of an Artifact Desc. More...
 
int CharNameLen [get]
 Gets the maximum length of a Character Name. More...
 
int EffDescLen [get]
 Gets the maximum length of an Effect Desc. More...
 
int FsNameLen [get]
 Gets the maximum length of a Fileset Name. More...
 
int FsFileNameLen [get]
 Gets the maximum length of a Fileset file name (e.g., PluginFileName, etc). More...
 
int HntQuestionLen [get]
 Gets the maximum length of a Hint Question. More...
 
int HntAnswerLen [get]
 Gets the maximum length of a Hint Answer. More...
 
int ModNameLen [get]
 Gets the maximum length of a Module Name. More...
 
int ModDescLen [get]
 Gets the maximum length of a Module Desc. More...
 
int ModAuthorLen [get]
 Gets the maximum length of a Module Author. More...
 
int ModVolLabelLen [get]
 Gets the maximum length of a Module VolLabel. More...
 
int ModSerialNumLen [get]
 Gets the maximum length of a Module SerialNum. More...
 
int MonNameLen [get]
 Gets the maximum length of a Monster Name. More...
 
int MonStateDescLen [get]
 Gets the maximum length of a Monster StateDesc. More...
 
int MonDescLen [get]
 Gets the maximum length of a Monster Desc. More...
 
int RmNameLen [get]
 Gets the maximum length of a Room Name. More...
 
int RmDescLen [get]
 Gets the maximum length of a Room Desc. More...
 
long AxePrice [get]
 Gets the base price, in gold pieces, of an axe sold by Marcos Cavielli. More...
 
long BowPrice [get]
 Gets the base price, in gold pieces, of a bow sold by Marcos Cavielli. More...
 
long MacePrice [get]
 Gets the base price, in gold pieces, of a mace sold by Marcos Cavielli. More...
 
long SpearPrice [get]
 Gets the base price, in gold pieces, of a spear sold by Marcos Cavielli. More...
 
long SwordPrice [get]
 Gets the base price, in gold pieces, of a sword sold by Marcos Cavielli. More...
 
long ShieldPrice [get]
 Gets the base price, in gold pieces, of a shield sold by Marcos Cavielli. More...
 
long LeatherArmorPrice [get]
 Gets the base price, in gold pieces, of some leather armor sold by Marcos Cavielli. More...
 
long ChainMailPrice [get]
 Gets the base price, in gold pieces, of some chain mail armor sold by Marcos Cavielli. More...
 
long PlateMailPrice [get]
 Gets the base price, in gold pieces, of some plate mail armor sold by Marcos Cavielli. More...
 
long BlastPrice [get]
 Gets the base price, in gold pieces, of the Blast spell sold by Hokas Tokas. More...
 
long HealPrice [get]
 Gets the base price, in gold pieces, of the Heal spell sold by Hokas Tokas. More...
 
long SpeedPrice [get]
 Gets the base price, in gold pieces, of the Speed spell sold by Hokas Tokas. More...
 
long PowerPrice [get]
 Gets the base price, in gold pieces, of the Power spell sold by Hokas Tokas. More...
 
long RecallPrice [get]
 Gets the base price, in gold pieces, of being recalled from an adventure by a local wizard, as noted by the Burly Irishman at the Front Desk. More...
 
long StatGainPrice [get]
 Gets the base price, in gold pieces, of having a Stat boosted by the Good Witch. More...
 
long WeaponTrainingPrice [get]
 Gets the base price, in gold pieces, of having a weapon training session with Don Diego. More...
 
long ArmorTrainingPrice [get]
 Gets the base price, in gold pieces, of having an armor training session with the giant. More...
 
long SpellTrainingPrice [get]
 Gets the base price, in gold pieces, of having a spell training session with the licensed wizard. More...
 
long InfoBoothPrice [get]
 Gets the base price, in gold pieces, of purchasing services from the practice area info booth. More...
 
long FountainPrice [get]
 Gets the base price, in gold pieces, of interacting with the village fountain statue. More...
 
long NumRecords [get]
 Gets the maximum number of Records allowed in a database table. More...
 
long NumCharacterWeapons [get]
 Gets the maximum number of weapon Artifacts allowed in a Character's inventory. More...
 
long NumCharacterArtifacts [get]
 Gets the maximum number of Artifacts allowed in a Character's inventory. More...
 
long NumArtifactCategories [get]
 Gets the maximum number of Categories assignable to a single Artifact. More...
 
long NumArtifactCategoryFields [get]
 
int BufSize [get]
 Gets the default size for large, discardable StringBuilders created during system processing. More...
 
int BufSize01 [get]
 Gets the default size for small, discardable StringBuilders created during system processing. More...
 
int BufSize02 [get]
 Gets the default size for tiny, discardable StringBuilders created during system processing. More...
 
int BufSize03 [get]
 Gets the default size for medium, discardable StringBuilders created during system processing. More...
 
string ResolveEffectRegexPattern [get]
 
string ResolveUidMacroRegexPattern [get]
 
string ValidWorkDirRegexPattern [get]
 
string CommandSepRegexPattern [get]
 
string PronounRegexPattern [get]
 
string EverythingRegexPattern [get]
 
string ExceptRegexPattern [get]
 
string RecIdepErrorFmtStr [get]
 Gets the format string used to produce error messages during Record interdependency checking. More...
 
string AndroidAdventuresDir [get]
 Gets the Adventures directory path on Android platforms, relative to the working directory. More...
 
string AdventuresDir [get]
 Gets the Adventures directory path on non-Android platforms, relative to the working directory. More...
 
string QuickLaunchDir [get]
 Gets the QuickLaunch directory path, relative to the working directory. More...
 
string DefaultWorkDir [get]
 
string ProcessMutexName [get]
 Gets the name of the Mutex used to synchronize Eamon CS processes. More...
 
string EamonCSSlnFile [get]
 Gets the Eamon CS Solution path and file name, relative to the working directory. More...
 
string StackTraceFile [get]
 Gets the relative path and name of the error file dumped when an unexpected system shutdown occurs. More...
 
string GlobalLaunchParametersFile [get]
 Gets the Global Launch Parameters path and file name, relative to the working directory. More...
 
string ProgVersion [get]
 Gets the Eamon CS system version displayed on program startup. More...
 
long InfiniteDrinkableEdible [get]
 Gets a value indicating whether a Drinkable or Edible Artifact has infinite quantity. More...
 
long DirectionExit [get]
 Gets the Room Uid constant representing an exit from a game. More...
 
long LimboLocation [get]
 Gets the Room Uid constant representing "limbo". More...
 
long MinWeaponComplexity [get]
 Gets the minimum allowed weapon Complexity. More...
 
long MaxWeaponComplexity [get]
 Gets the maximum allowed weapon Complexity. More...
 
long MinGoldValue [get]
 Gets the minimum amount of gold the player character can carry or hold in the bank. More...
 
long MaxGoldValue [get]
 Gets the maximum amount of gold the player character can carry or hold in the bank. More...
 
long MaxPathLen [get]
 
long MaxRecursionLevel [get]
 Gets the maximum recursion level for macro replacement. More...
 
int WindowWidth [get]
 
int WindowHeight [get]
 
int BufferWidth [get]
 
int BufferHeight [get]
 
long RightMargin [get]
 
long NumRows [get]
 
IDictionary< Type, Type > ClassMappingsDictionary [get, set]
 Gets or sets the Dictionary that stores interface to class mappings as Key/Value pairs, used for dependency injection. More...
 
ITextReader In [get, set]
 Gets or sets the text reader that accepts user input from the console window. More...
 
ITextWriter Out [get, set]
 Gets or sets the text writer that prints text to the console window. More...
 
ITextWriter Error [get, set]
 Gets or sets the text writer that prints error messages to the console window. More...
 
IMutex Mutex [get, set]
 Gets or sets a mutex (mutual exclusion lock) that ensures only one Eamon CS process runs in a given operating system at a time. More...
 
ITransferProtocol TransferProtocol [get, set]
 
IDirectory Directory [get, set]
 Gets or sets the platform-independent Directory manager that Eamon CS relies on for all directory-related operations. More...
 
IFile File [get, set]
 Gets or sets the platform-independent File manager that Eamon CS relies on for all file-related operations. More...
 
IPath Path [get, set]
 Gets or sets the platform-independent file system Path manager that Eamon CS relies on for all file system path-related operations. More...
 
ISharpSerializer SharpSerializer [get, set]
 
IThread Thread [get, set]
 Gets or sets the platform-independent Thread manager that Eamon CS relies on for all thread-related operations. More...
 
MemoryStream CloneStream [get, set]
 
long MutatePropertyCounter [get, set]
 
string WorkDir [get, set]
 
string FilePrefix [get, set]
 
long RulesetVersion [get]
 Gets a value indicating which Eamon ruleset applies to the current game. More...
 
bool EnableMutateProperties [get]
 Gets a value indicating whether "mutating properties" (those that are dynamically calculated) should be enabled. More...
 
bool EnableStdio [get, set]
 
bool EnableNegativeRoomUidLinks [get, set]
 
bool EnableScreenReaderMode [get, set]
 
bool EnableCommandHistory [get, set]
 
bool EnableEnhancedCombat [get, set]
 
bool IgnoreMutex [get, set]
 Gets or sets a value indicating whether the Mutex should be ignored, allowing unlimited Eamon CS processes to run simultaneously. More...
 
bool DisableValidation [get, set]
 Gets or sets a value indicating whether validation should be disabled when Records are loaded. More...
 
bool RunGameEditor [get, set]
 
bool DeleteGameStateFromMainHall [get, set]
 
bool GetMainMenuInput [get, set]
 
Action< IDictionary< Type, Type > > LoadPortabilityClassMappings [get, set]
 
IDatabase Database [get]
 
IRoom RevealContentRoom [get, set]
 
IMonster RevealContentMonster [get, set]
 
IList< IArtifactRevealContentArtifactList [get, set]
 
IList< Action > RevealContentFuncList [get, set]
 
long RevealContentCounter [get, set]
 
string LineSep [get, set]
 
bool LineWrapUserInput [get, set]
 
IRecordDb< IConfigCFGDB [get, set]
 Gets or sets the Config database quick-accessor. More...
 
IRecordDb< IFilesetFSDB [get, set]
 Gets or sets the Fileset database quick-accessor. More...
 
IRecordDb< ICharacterCHRDB [get, set]
 Gets or sets the Character database quick-accessor. More...
 
IRecordDb< IModuleMODDB [get, set]
 Gets or sets the Module database quick-accessor. More...
 
IRecordDb< IRoomRDB [get, set]
 Gets or sets the Room database quick-accessor. More...
 
IRecordDb< IArtifactADB [get, set]
 Gets or sets the Artifact database quick-accessor. More...
 
IRecordDb< IEffectEDB [get, set]
 Gets or sets the Effect database quick-accessor. More...
 
IRecordDb< IMonsterMDB [get, set]
 Gets or sets the Monster database quick-accessor. More...
 
IRecordDb< IHintHDB [get, set]
 Gets or sets the Hint database quick-accessor. More...
 
IRecordDb< IGameStateGSDB [get, set]
 Gets or sets the GameState database quick-accessor. More...
 
IDictionary< long, Func< string > > MacroFuncs [get, set]
 Gets or sets a collection of functions used to resolve macros embedded in Desc, ArtifactStateDesc and Monster StateDesc properties. More...
 
Action< IRoom, IMonster, IArtifact, long, bool > RevealContainerContentsFunc [get, set]
 
IPrep[] Preps [get, set]
 Gets or sets an array of sentence prepositions (e.g., "to", "from", "inside", etc). More...
 
string[] Articles [get, set]
 Gets or sets an array of sentence articles (e.g., "a", "some", "the", etc). More...
 
string UnknownName [get, set]
 Gets or sets a generic string representing an unknown name (e.g., "???"). More...
 
- Properties inherited from EamonDD.Framework.Plugin.IEngine
new StringBuilder Buf [get, set]
 
string[] Argv [get, set]
 
long WordWrapCurrColumn [get, set]
 
char WordWrapLastChar [get, set]
 
string ConfigFileName [get, set]
 
IDdMenu DdMenu [get, set]
 
IMenu Menu [get, set]
 
IModule Module [get, set]
 
IConfig Config [get, set]
 
bool BortCommand [get, set]
 
bool DdSuppressPostInputSleep [get, set]
 
bool ConfigsModified [get, set]
 
bool FilesetsModified [get, set]
 
bool CharactersModified [get, set]
 
bool ModulesModified [get, set]
 
bool RoomsModified [get, set]
 
bool ArtifactsModified [get, set]
 
bool CharArtsModified [get, set]
 
bool EffectsModified [get, set]
 
bool MonstersModified [get, set]
 
bool HintsModified [get, set]
 

Constructor & Destructor Documentation

◆ Engine()

EamonDD.Game.Plugin.Engine.Engine ( )

Member Function Documentation

◆ DdProcessArgv()

virtual void EamonDD.Game.Plugin.Engine.DdProcessArgv ( bool  secondPass,
ref bool  ddfnFlag,
ref bool  nlFlag 
)
virtual

Parameters
secondPass
ddfnFlag
nlFlag

Implements EamonDD.Framework.Plugin.IEngine.

◆ InitSystem()

override void EamonDD.Game.Plugin.Engine.InitSystem ( )
virtual

Reimplemented from Eamon.Game.Plugin.Engine.

Reimplemented in EamonRT.Game.Plugin.Engine.

◆ IsAdventureFilesetLoaded()

virtual bool EamonDD.Game.Plugin.Engine.IsAdventureFilesetLoaded ( )
virtual

Returns

Implements EamonDD.Framework.Plugin.IEngine.

◆ IsCharacterInventoryLoaded()

virtual bool EamonDD.Game.Plugin.Engine.IsCharacterInventoryLoaded ( )
virtual

Returns

Implements EamonDD.Framework.Plugin.IEngine.

◆ LoadPluginClassMappings()

override RetCode EamonDD.Game.Plugin.Engine.LoadPluginClassMappings ( )
virtual

Loads the ClassMappingsDictionary with all interface to class mapping Key/Value pairs necessary to allow the currently loaded Eamon CS plugin to run.

The mechanism used to accomplish this is easy to understand but somewhat hard to describe without providing a concrete example and referring you to other source code files to inspect their contents. Let's take a look at the game Wrenhold's Secret Vigil. Please inspect the following files in the order listed (they are also executed in this order by Eamon CS - a simplified call stack):

All of these files contain LoadPluginClassMappings. In the top three files, it is an override that calls into the level below by invoking base.LoadPluginClassMappings. So it immediately drills down to the bottom of the stack (to the Eamon library).

Then things get interesting. The lowest level calls LoadPluginClassMappings01 which probes the current Assembly (the Eamon library) using Reflection, looking for classes adorned with the ClassMappings attribute. It then adds Key/Value pairs for all found classes (along with their matching interfaces) to the ClassMappingsDictionary. At this point, the call stack unwinds to the next higher level (EamonDD), and the overridden LoadPluginClassMappings method makes the same call to LoadPluginClassMappings01 which performs the same function, only this time it probes EamonDD for classes. This process repeats until the stack is fully unwound and the original call to LoadPluginClassMappings (in Program.cs) returns.

At each level, all newly discovered class/interface pairs are added immediately to the ClassMappingsDictionary; however, for any new class that maps to a pre-existing interface already in the Dictionary, that new class becomes the Value for that interface's Key/Value pair. In other words, classes in higher layers override classes in lower layers when they map to the same interface. This is how, for example, in Wrenhold's Secret Vigil, you wind up with EamonRT.Framework.Components.ICombatComponent mapping to WrenholdsSecretVigil.Game.Components.CombatComponent. And why a call made to CreateInstance returns the game-specific CombatComponent object.

Returns

Reimplemented from Eamon.Game.Plugin.Engine.

Reimplemented in EamonRT.Game.Plugin.Engine.

◆ ResetProperties()

override void EamonDD.Game.Plugin.Engine.ResetProperties ( PropertyResetCode  resetCode)
virtual

Parameters
resetCode

Reimplemented from Eamon.Game.Plugin.Engine.

Reimplemented in EamonRT.Game.Plugin.Engine.

◆ ShouldSleepAfterInput()

override bool EamonDD.Game.Plugin.Engine.ShouldSleepAfterInput ( StringBuilder  buf,
char  inputFillChar 
)
virtual

Parameters
buf
inputFillChar
Returns

Reimplemented from Eamon.Game.Plugin.Engine.

Reimplemented in EamonRT.Game.Plugin.Engine.

Property Documentation

◆ Argv

virtual string [] EamonDD.Game.Plugin.Engine.Argv
getset

◆ ArtifactsModified

virtual bool EamonDD.Game.Plugin.Engine.ArtifactsModified
getset

◆ BortCommand

virtual bool EamonDD.Game.Plugin.Engine.BortCommand
getset

◆ CharactersModified

virtual bool EamonDD.Game.Plugin.Engine.CharactersModified
getset

◆ CharArtsModified

virtual bool EamonDD.Game.Plugin.Engine.CharArtsModified
getset

◆ Config

virtual IConfig EamonDD.Game.Plugin.Engine.Config
getset

◆ ConfigFileName

virtual string EamonDD.Game.Plugin.Engine.ConfigFileName
getset

◆ ConfigsModified

virtual bool EamonDD.Game.Plugin.Engine.ConfigsModified
getset

◆ DdMenu

virtual IDdMenu EamonDD.Game.Plugin.Engine.DdMenu
getset

◆ DdSuppressPostInputSleep

virtual bool EamonDD.Game.Plugin.Engine.DdSuppressPostInputSleep
getset

◆ EffectsModified

virtual bool EamonDD.Game.Plugin.Engine.EffectsModified
getset

◆ FilesetsModified

virtual bool EamonDD.Game.Plugin.Engine.FilesetsModified
getset

◆ HintsModified

virtual bool EamonDD.Game.Plugin.Engine.HintsModified
getset

◆ Menu

virtual IMenu EamonDD.Game.Plugin.Engine.Menu
getset

◆ Module

virtual IModule EamonDD.Game.Plugin.Engine.Module
getset

◆ ModulesModified

virtual bool EamonDD.Game.Plugin.Engine.ModulesModified
getset

◆ MonstersModified

virtual bool EamonDD.Game.Plugin.Engine.MonstersModified
getset

◆ RoomsModified

virtual bool EamonDD.Game.Plugin.Engine.RoomsModified
getset

◆ WordWrapCurrColumn

virtual long EamonDD.Game.Plugin.Engine.WordWrapCurrColumn
getset

◆ WordWrapLastChar

virtual char EamonDD.Game.Plugin.Engine.WordWrapLastChar
getset

The documentation for this class was generated from the following file: