Eamon CS  3.1.0
Eamon.Framework.Plugin.IEngine Interface Reference

Implements the core functionality of the Eamon CS game engine. More...

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

Public Member Functions

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

Properties

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

Detailed Description

Implements the core functionality of the Eamon CS game engine.

Spending any amount of time looking through the Eamon CS code base reveals how critical this class is. Originally, it was split into three classes encompassing (low level) ClassMappings, Constants, and the Engine itself. But this led to a convoluted property thunking implementation that was resolved when the classes were merged into a single mega-class. Clearly this is against typical conventions, the tendency is to split complexity apart, but in this case it felt like the conglomerate class simplified things, in spite of the large amount of functionality contained within. Doing so doesn't really increase overall complexity since these properties and methods are largely stand-alone, plus proper documentation will improve things considerably.

This class combined with the GameBase, Command, State, and Component derivatives (among others) are used to implement games in Eamon CS. The different plugin Engine classes form a hierarchy, often overriding or adding new functionality at higher system levels (particularly in games). This is also the default class you can use to store runtime (non-persisted) game state variables, although it is optional. Please take a look at the various games implemented in Eamon CS to see how Engine is used.

Member Function Documentation

◆ AddUniqueCharsToRecordNames()

bool Eamon.Framework.Plugin.IEngine.AddUniqueCharsToRecordNames ( IList< IGameBase recordList)

Parameters
recordList
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ AppendFieldDesc() [1/2]

void Eamon.Framework.Plugin.IEngine.AppendFieldDesc ( FieldDesc  fieldDesc,
StringBuilder  buf,
string  fullDesc,
string  briefDesc 
)

Parameters
fieldDesc
buf
fullDesc
briefDesc

Implemented in Eamon.Game.Plugin.Engine.

◆ AppendFieldDesc() [2/2]

void Eamon.Framework.Plugin.IEngine.AppendFieldDesc ( FieldDesc  fieldDesc,
StringBuilder  buf,
StringBuilder  fullDesc,
StringBuilder  briefDesc 
)

Parameters
fieldDesc
buf
fullDesc
briefDesc

Implemented in Eamon.Game.Plugin.Engine.

◆ BuildPrompt()

string Eamon.Framework.Plugin.IEngine.BuildPrompt ( long  bufSize,
char  fillChar,
long  number,
string  msg,
string  emptyVal 
)

Parameters
bufSize
fillChar
number
msg
emptyVal
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ BuildValue()

string Eamon.Framework.Plugin.IEngine.BuildValue ( long  bufSize,
char  fillChar,
long  offset,
long  longVal,
string  stringVal,
string  lookupMsg 
)

Parameters
bufSize
fillChar
offset
longVal
stringVal
lookupMsg
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ Capitalize()

string Eamon.Framework.Plugin.IEngine.Capitalize ( string  str)

Parameters
str
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ ClearDbStack()

RetCode Eamon.Framework.Plugin.IEngine.ClearDbStack ( )

Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ ClearRvStack()

RetCode Eamon.Framework.Plugin.IEngine.ClearRvStack ( )

Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ CloneInstance< T >()

T Eamon.Framework.Plugin.IEngine.CloneInstance< T > ( source)

Parameters
source
Returns

Implemented in Eamon.Game.Plugin.Engine.

Type Constraints
T :class 

◆ CompareInstances< T >()

bool Eamon.Framework.Plugin.IEngine.CompareInstances< T > ( object1,
object2 
)

Parameters
object1
object2
Returns

Implemented in Eamon.Game.Plugin.Engine.

Type Constraints
T :class 

◆ ConvertContainerToTreasure()

void Eamon.Framework.Plugin.IEngine.ConvertContainerToTreasure ( IArtifact  artifact,
ContainerType  containerType = ContainerType.In 
)

Parameters
artifact
containerType

Implemented in Eamon.Game.Plugin.Engine.

◆ ConvertDatafileFromXmlToDat()

void Eamon.Framework.Plugin.IEngine.ConvertDatafileFromXmlToDat ( string  fileName)

Parameters
fileName

Implemented in Eamon.Game.Plugin.Engine.

◆ ConvertTreasureToContainer()

void Eamon.Framework.Plugin.IEngine.ConvertTreasureToContainer ( IArtifact  artifact,
ContainerType  containerType = ContainerType.In 
)

Parameters
artifact
containerType

Implemented in Eamon.Game.Plugin.Engine.

◆ ConvertWeaponToGoldOrTreasure()

void Eamon.Framework.Plugin.IEngine.ConvertWeaponToGoldOrTreasure ( IArtifact  artifact,
bool  convertToGold 
)

Parameters
artifact
convertToGold

Implemented in Eamon.Game.Plugin.Engine.

◆ CreateInstance< T >() [1/2]

T Eamon.Framework.Plugin.IEngine.CreateInstance< T > ( Action< T >  initialize = null)

Parameters
initialize
Returns

Implemented in Eamon.Game.Plugin.Engine.

Type Constraints
T :class 

◆ CreateInstance< T >() [2/2]

T Eamon.Framework.Plugin.IEngine.CreateInstance< T > ( Type  ifaceType,
Action< T >  initialize = null 
)

Parameters
ifaceType
initialize
Returns

Implemented in Eamon.Game.Plugin.Engine.

Type Constraints
T :class 

◆ DeinitSystem()

void Eamon.Framework.Plugin.IEngine.DeinitSystem ( )

Implemented in Eamon.Game.Plugin.Engine.

◆ EvalContainerType< T >()

T Eamon.Framework.Plugin.IEngine.EvalContainerType< T > ( ContainerType  containerType,
inValue,
onValue,
underValue,
behindValue 
)

Evaluates the ContainerType, returning a value of type T.

Parameters
containerType
inValue
onValue
underValue
behindValue
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ EvalFriendliness< T >()

T Eamon.Framework.Plugin.IEngine.EvalFriendliness< T > ( Friendliness  friendliness,
enemyValue,
neutralValue,
friendValue 
)

Evaluates the Friendliness, returning a value of type T.

Parameters
friendliness
enemyValue
neutralValue
friendValue
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ EvalGender< T >()

T Eamon.Framework.Plugin.IEngine.EvalGender< T > ( Gender  gender,
maleValue,
femaleValue,
neutralValue 
)

Evaluates the Gender, returning a value of type T.

Parameters
gender
maleValue
femaleValue
neutralValue
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ EvalLightLevel< T >()

T Eamon.Framework.Plugin.IEngine.EvalLightLevel< T > ( LightLevel  lightLevel,
darkValue,
lightValue 
)

Evaluates the LightLevel, returning a value of type T.

Parameters
lightLevel
darkValue
lightValue
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ EvalPlural< T >()

T Eamon.Framework.Plugin.IEngine.EvalPlural< T > ( bool  isPlural,
singularValue,
pluralValue 
)

Evaluates the plural value, returning a value of type T.

Parameters
isPlural
singularValue
pluralValue
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ EvalRoomType< T >()

T Eamon.Framework.Plugin.IEngine.EvalRoomType< T > ( RoomType  roomType,
indoorsValue,
outdoorsValue 
)

Evaluates the RoomType, returning a value of type T.

Parameters
roomType
indoorsValue
outdoorsValue
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ GetArmor() [1/2]

IArmor Eamon.Framework.Plugin.IEngine.GetArmor ( Armor  armor)

Gets the data for a given Armor.

Parameters
armor
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ GetArmor() [2/2]

IArmor Eamon.Framework.Plugin.IEngine.GetArmor ( long  index)

Gets the data for a given Armor.

Parameters
index
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ GetArmorFactor()

long Eamon.Framework.Plugin.IEngine.GetArmorFactor ( long  armorUid,
long  shieldUid 
)

Parameters
armorUid
shieldUid
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ GetArmorPriceOrValue()

double Eamon.Framework.Plugin.IEngine.GetArmorPriceOrValue ( Armor  armor,
bool  calcPrice,
ref bool  isMarcosArmor 
)

Parameters
armor
calcPrice
isMarcosArmor
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ GetArticle()

string Eamon.Framework.Plugin.IEngine.GetArticle ( long  index)

Gets the sentence article (e.g., "a", "some", "the", etc).

Parameters
index
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ GetArtifactFieldStrength()

long Eamon.Framework.Plugin.IEngine.GetArtifactFieldStrength ( long  value)

Parameters
value
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ GetArtifactList()

IList<IArtifact> Eamon.Framework.Plugin.IEngine.GetArtifactList ( params Func< IArtifact, bool >[]  whereClauseFuncs)

Parameters
whereClauseFuncs
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ GetArtifactType() [1/2]

IArtifactType Eamon.Framework.Plugin.IEngine.GetArtifactType ( ArtifactType  artifactType)

Gets the data for a given ArtifactType.

Parameters
artifactType
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ GetArtifactType() [2/2]

IArtifactType Eamon.Framework.Plugin.IEngine.GetArtifactType ( long  index)

Gets the data for a given ArtifactType.

Parameters
index
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ GetCharismaFactor()

long Eamon.Framework.Plugin.IEngine.GetCharismaFactor ( long  charisma)

Parameters
charisma
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ GetCharmMonsterPct()

long Eamon.Framework.Plugin.IEngine.GetCharmMonsterPct ( long  charisma)

Parameters
charisma
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ GetClothingName() [1/2]

string Eamon.Framework.Plugin.IEngine.GetClothingName ( Clothing  clothing)

Gets the name for a given Clothing.

Parameters
clothing
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ GetClothingName() [2/2]

string Eamon.Framework.Plugin.IEngine.GetClothingName ( long  index)

Gets the name for a given Clothing.

Parameters
index
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ GetCombatCodeDesc() [1/2]

string Eamon.Framework.Plugin.IEngine.GetCombatCodeDesc ( CombatCode  combatCode)

Gets the description for a given CombatCode.

Parameters
combatCode
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ GetCombatCodeDesc() [2/2]

string Eamon.Framework.Plugin.IEngine.GetCombatCodeDesc ( long  index)

Gets the description for a given CombatCode.

Parameters
index
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ GetConfig()

IConfig Eamon.Framework.Plugin.IEngine.GetConfig ( )

Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ GetContainerDisplayCodeDesc() [1/2]

string Eamon.Framework.Plugin.IEngine.GetContainerDisplayCodeDesc ( ContainerDisplayCode  containerDisplayCode)

Parameters
containerDisplayCode
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ GetContainerDisplayCodeDesc() [2/2]

string Eamon.Framework.Plugin.IEngine.GetContainerDisplayCodeDesc ( long  index)

Parameters
index
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ GetContainerType()

ContainerType Eamon.Framework.Plugin.IEngine.GetContainerType ( ArtifactType  artifactType)

Parameters
artifactType
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ GetDatabase()

RetCode Eamon.Framework.Plugin.IEngine.GetDatabase ( long  index,
ref IDatabase  database 
)

Parameters
index
database
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ GetDbStackTop()

RetCode Eamon.Framework.Plugin.IEngine.GetDbStackTop ( ref long  dbStackTop)

Parameters
dbStackTop
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ GetDirection() [1/3]

IDirection Eamon.Framework.Plugin.IEngine.GetDirection ( Direction  direction)

Gets the data for a given Direction.

Parameters
direction
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ GetDirection() [2/3]

IDirection Eamon.Framework.Plugin.IEngine.GetDirection ( long  index)

Gets the data for a given Direction.

Parameters
index
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ GetDirection() [3/3]

Direction Eamon.Framework.Plugin.IEngine.GetDirection ( string  directionName)

Parameters
directionName
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ GetFieldDescName() [1/2]

string Eamon.Framework.Plugin.IEngine.GetFieldDescName ( FieldDesc  fieldDesc)

Parameters
fieldDesc
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ GetFieldDescName() [2/2]

string Eamon.Framework.Plugin.IEngine.GetFieldDescName ( long  index)

Parameters
index
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ GetFriendlyMonsterList()

IList<IMonster> Eamon.Framework.Plugin.IEngine.GetFriendlyMonsterList ( IMonster  monster)

Parameters
monster
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ GetGameState()

IGameState Eamon.Framework.Plugin.IEngine.GetGameState ( )

Gets the GameState record.

Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ GetHostileMonsterList()

IList<IMonster> Eamon.Framework.Plugin.IEngine.GetHostileMonsterList ( IMonster  monster)

◆ GetIntellectBonusPct()

long Eamon.Framework.Plugin.IEngine.GetIntellectBonusPct ( long  intellect)

Parameters
intellect
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ GetLightLevelName() [1/2]

string Eamon.Framework.Plugin.IEngine.GetLightLevelName ( LightLevel  lightLevel)

Gets the name for a given LightLevel.

Parameters
lightLevel
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ GetLightLevelName() [2/2]

string Eamon.Framework.Plugin.IEngine.GetLightLevelName ( long  index)

Gets the name for a given LightLevel.

Parameters
index
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ GetMerchantAdjustedCharisma()

long Eamon.Framework.Plugin.IEngine.GetMerchantAdjustedCharisma ( long  charisma)

Parameters
charisma
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ GetMerchantAskPrice()

long Eamon.Framework.Plugin.IEngine.GetMerchantAskPrice ( double  price,
double  rtio 
)

Parameters
price
rtio
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ GetMerchantBidPrice()

long Eamon.Framework.Plugin.IEngine.GetMerchantBidPrice ( double  price,
double  rtio 
)

Parameters
price
rtio
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ GetMerchantRtio()

double Eamon.Framework.Plugin.IEngine.GetMerchantRtio ( long  charisma)

Parameters
charisma
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ GetModule()

IModule Eamon.Framework.Plugin.IEngine.GetModule ( )

Gets the Module record.

Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ GetMonsterFriendlinessPct()

long Eamon.Framework.Plugin.IEngine.GetMonsterFriendlinessPct ( Friendliness  friendliness)

Parameters
friendliness
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ GetMonsterHealthStatusIndex()

long Eamon.Framework.Plugin.IEngine.GetMonsterHealthStatusIndex ( long  hardiness,
long  dmgTaken 
)

Parameters
hardiness
dmgTaken
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ GetMonsterList()

IList<IMonster> Eamon.Framework.Plugin.IEngine.GetMonsterList ( params Func< IMonster, bool >[]  whereClauseFuncs)

Parameters
whereClauseFuncs
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ GetNonRepeatingRandomElement01< T >()

T Eamon.Framework.Plugin.IEngine.GetNonRepeatingRandomElement01< T > ( IList< T >  sourceList,
bool  shuffle = false,
Action< IList< T >>  shuffleFunc = null 
)

Parameters
sourceList
shuffle
shuffleFunc
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ GetNonRepeatingRandomElement< T >()

T Eamon.Framework.Plugin.IEngine.GetNonRepeatingRandomElement< T > ( IList< T >  sourceList,
IList< T >  usedList,
Action< IList< T >>  shuffleFunc = null 
)

Parameters
sourceList
usedList
shuffleFunc
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ GetNthArtifact()

IArtifact Eamon.Framework.Plugin.IEngine.GetNthArtifact ( IList< IArtifact artifactList,
long  which,
Func< IArtifact, bool >  whereClauseFunc 
)

Parameters
artifactList
which
whereClauseFunc
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ GetNthMonster()

IMonster Eamon.Framework.Plugin.IEngine.GetNthMonster ( IList< IMonster monsterList,
long  which,
Func< IMonster, bool >  whereClauseFunc 
)

Parameters
monsterList
which
whereClauseFunc
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ GetNthRecord()

IGameBase Eamon.Framework.Plugin.IEngine.GetNthRecord ( IList< IGameBase recordList,
long  which,
Func< IGameBase, bool >  whereClauseFunc 
)

Parameters
recordList
which
whereClauseFunc
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ GetNumberFromString()

long Eamon.Framework.Plugin.IEngine.GetNumberFromString ( string  str)

Parameters
str
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ GetNumberString()

string Eamon.Framework.Plugin.IEngine.GetNumberString ( long  index)

Parameters
index
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ GetParryCodeDesc() [1/2]

string Eamon.Framework.Plugin.IEngine.GetParryCodeDesc ( long  index)

Gets the description for a given ParryCode.

Parameters
index
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ GetParryCodeDesc() [2/2]

string Eamon.Framework.Plugin.IEngine.GetParryCodeDesc ( ParryCode  parryCode)

Gets the description for a given ParryCode.

Parameters
parryCode
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ GetPluralTypeEffectUid()

long Eamon.Framework.Plugin.IEngine.GetPluralTypeEffectUid ( PluralType  pluralType)

Parameters
pluralType
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ GetPrefixedFileName()

string Eamon.Framework.Plugin.IEngine.GetPrefixedFileName ( string  fileName)

Parameters
fileName
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ GetPrep()

IPrep Eamon.Framework.Plugin.IEngine.GetPrep ( long  index)

Gets the sentence preposition (e.g., "to", "from", "inside", etc).

Parameters
index
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ GetRandomElement< T >()

T Eamon.Framework.Plugin.IEngine.GetRandomElement< T > ( T[]  array,
Func< long >  indexFunc = null 
)

Parameters
array
indexFunc
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ GetRecordList()

IList<IGameBase> Eamon.Framework.Plugin.IEngine.GetRecordList ( params Func< IGameBase, bool >[]  whereClauseFuncs)

Parameters
whereClauseFuncs
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ GetRecordNameCount()

RetCode Eamon.Framework.Plugin.IEngine.GetRecordNameCount ( IList< IGameBase recordList,
string  name,
bool  exactMatch,
ref long  count 
)

Parameters
recordList
name
exactMatch
count
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ GetRecordNameList()

RetCode Eamon.Framework.Plugin.IEngine.GetRecordNameList ( IList< IGameBase recordList,
IRecordNameListArgs  args,
StringBuilder  buf 
)

Parameters
recordList
args
buf
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ GetRvStackTop()

RetCode Eamon.Framework.Plugin.IEngine.GetRvStackTop ( ref long  rvStackTop)

Parameters
rvStackTop
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ GetSpell() [1/2]

ISpell Eamon.Framework.Plugin.IEngine.GetSpell ( long  index)

Gets the data for a given Spell.

Parameters
index
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ GetSpell() [2/2]

ISpell Eamon.Framework.Plugin.IEngine.GetSpell ( Spell  spell)

Gets the data for a given Spell.

Parameters
spell
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ GetStat() [1/2]

IStat Eamon.Framework.Plugin.IEngine.GetStat ( long  index)

Gets the data for a given Stat.

Parameters
index
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ GetStat() [2/2]

IStat Eamon.Framework.Plugin.IEngine.GetStat ( Stat  stat)

Gets the data for a given Stat.

Parameters
stat
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ GetStatusName() [1/2]

string Eamon.Framework.Plugin.IEngine.GetStatusName ( long  index)

Gets the name for a given Status.

Parameters
index
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ GetStatusName() [2/2]

string Eamon.Framework.Plugin.IEngine.GetStatusName ( Status  status)

Gets the name for a given Status.

Parameters
status
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ GetStringFromNumber()

string Eamon.Framework.Plugin.IEngine.GetStringFromNumber ( long  num,
bool  addSpace,
StringBuilder  buf 
)

Parameters
num
addSpace
buf
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ GetWeapon() [1/2]

IWeapon Eamon.Framework.Plugin.IEngine.GetWeapon ( long  index)

Gets the data for a given Weapon.

Parameters
index
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ GetWeapon() [2/2]

IWeapon Eamon.Framework.Plugin.IEngine.GetWeapon ( Weapon  weapon)

Gets the data for a given Weapon.

Parameters
weapon
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ GetWeaponPriceOrValue() [1/2]

double Eamon.Framework.Plugin.IEngine.GetWeaponPriceOrValue ( IArtifact  weapon,
bool  calcPrice,
ref bool  isMarcosWeapon 
)

Parameters
weapon
calcPrice
isMarcosWeapon
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ GetWeaponPriceOrValue() [2/2]

double Eamon.Framework.Plugin.IEngine.GetWeaponPriceOrValue ( string  name,
long  complexity,
Weapon  type,
long  dice,
long  sides,
long  numHands,
bool  calcPrice,
ref bool  isMarcosWeapon 
)

Parameters
name
complexity
type
dice
sides
numHands
calcPrice
isMarcosWeapon
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ GetWeightCarryableDos()

long Eamon.Framework.Plugin.IEngine.GetWeightCarryableDos ( long  hardiness)

Parameters
hardiness
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ GetWeightCarryableGronds()

long Eamon.Framework.Plugin.IEngine.GetWeightCarryableGronds ( long  hardiness)

Parameters
hardiness
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ HandleException()

void Eamon.Framework.Plugin.IEngine.HandleException ( Exception  ex,
string  stackTraceFile,
string  errorMessage 
)

Parameters
ex
stackTraceFile
errorMessage

Implemented in Eamon.Game.Plugin.Engine.

◆ InitSystem()

◆ IsArtifactFieldStrength()

bool Eamon.Framework.Plugin.IEngine.IsArtifactFieldStrength ( long  value)

Parameters
value
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ IsChar0Or1()

bool Eamon.Framework.Plugin.IEngine.IsChar0Or1 ( char  ch)

Indicates whether a character is one of ['0', '1'].

Parameters
ch
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ IsChar0To2()

bool Eamon.Framework.Plugin.IEngine.IsChar0To2 ( char  ch)

Indicates whether a character is one of ['0', '1', '2'].

Parameters
ch
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ IsChar0To3()

bool Eamon.Framework.Plugin.IEngine.IsChar0To3 ( char  ch)

Indicates whether a character is one of ['0', '1', '2', '3'].

Parameters
ch
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ IsChar1To3()

bool Eamon.Framework.Plugin.IEngine.IsChar1To3 ( char  ch)

Indicates whether a character is one of ['1', '2', '3'].

Parameters
ch
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ IsChar1To4()

bool Eamon.Framework.Plugin.IEngine.IsChar1To4 ( char  ch)

Indicates whether a character is one of ['1', '2', '3', '4'].

Parameters
ch
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ IsCharAlnum()

bool Eamon.Framework.Plugin.IEngine.IsCharAlnum ( char  ch)

Indicates whether a character is alphabetic or numeric digit.

Parameters
ch
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ IsCharAlnumPeriodUnderscore()

bool Eamon.Framework.Plugin.IEngine.IsCharAlnumPeriodUnderscore ( char  ch)

Indicates whether a character is alphabetic, numeric digit, period or underscore.

Parameters
ch
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ IsCharAlnumSpace()

bool Eamon.Framework.Plugin.IEngine.IsCharAlnumSpace ( char  ch)

Indicates whether a character is alphabetic, numeric digit or space.

Parameters
ch
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ IsCharAlpha()

bool Eamon.Framework.Plugin.IEngine.IsCharAlpha ( char  ch)

Indicates whether a character is alphabetic.

Parameters
ch
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ IsCharAlphaSpace()

bool Eamon.Framework.Plugin.IEngine.IsCharAlphaSpace ( char  ch)

Indicates whether a character is alphabetic or space.

Parameters
ch
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ IsCharAny()

bool Eamon.Framework.Plugin.IEngine.IsCharAny ( char  ch)

Indicates whether a character is any character at all.

Parameters
ch
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ IsCharAnyButBackForwardSlash()

bool Eamon.Framework.Plugin.IEngine.IsCharAnyButBackForwardSlash ( char  ch)

Indicates whether a character is any character but one of ['\', '/'].

Parameters
ch
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ IsCharAnyButDquoteCommaColon()

bool Eamon.Framework.Plugin.IEngine.IsCharAnyButDquoteCommaColon ( char  ch)

Indicates whether a character is any character but one of ['"', ',', ':'].

Parameters
ch
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ IsCharDigit()

bool Eamon.Framework.Plugin.IEngine.IsCharDigit ( char  ch)

Indicates whether a character is a numeric digit.

Parameters
ch
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ IsCharDigitOrX()

bool Eamon.Framework.Plugin.IEngine.IsCharDigitOrX ( char  ch)

Indicates whether a character is a numeric digit or 'X'.

Parameters
ch
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ IsCharGOrAOrN()

bool Eamon.Framework.Plugin.IEngine.IsCharGOrAOrN ( char  ch)

Indicates whether a character is one of ['G', 'A', 'N'].

Parameters
ch
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ IsCharNOrSOrEOrW()

bool Eamon.Framework.Plugin.IEngine.IsCharNOrSOrEOrW ( char  ch)

Indicates whether a character is one of ['N', 'S', 'E', 'W'].

Parameters
ch
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ IsCharPlusMinusDigit()

bool Eamon.Framework.Plugin.IEngine.IsCharPlusMinusDigit ( char  ch)

Indicates whether a character is a numeric digit or one of ['+', '-'].

Parameters
ch
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ IsCharPound()

bool Eamon.Framework.Plugin.IEngine.IsCharPound ( char  ch)

Indicates whether a character is '#'.

Parameters
ch
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ IsCharPrint()

bool Eamon.Framework.Plugin.IEngine.IsCharPrint ( char  ch)

Indicates whether a character is printable.

Parameters
ch
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ IsCharQuote()

bool Eamon.Framework.Plugin.IEngine.IsCharQuote ( char  ch)

Indicates whether a character is a quote.

Parameters
ch
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ IsCharSOrTOrROrX()

bool Eamon.Framework.Plugin.IEngine.IsCharSOrTOrROrX ( char  ch)

Indicates whether a character is one of ['S', 'T', 'R', 'X'].

Parameters
ch
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ IsCharYOrN()

bool Eamon.Framework.Plugin.IEngine.IsCharYOrN ( char  ch)

Indicates whether a character is one of ['Y', 'N'].

Parameters
ch
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ IsFailure()

bool Eamon.Framework.Plugin.IEngine.IsFailure ( RetCode  rc)

Indicates whether an operation failed.

Parameters
rc
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ IsRulesetVersion()

bool Eamon.Framework.Plugin.IEngine.IsRulesetVersion ( params long[]  versions)

Parameters
versions
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ IsSuccess()

bool Eamon.Framework.Plugin.IEngine.IsSuccess ( RetCode  rc)

Indicates whether an operation succeeded.

Parameters
rc
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ IsUnmovable()

bool Eamon.Framework.Plugin.IEngine.IsUnmovable ( long  weight)

Parameters
weight
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ IsUnmovable01()

bool Eamon.Framework.Plugin.IEngine.IsUnmovable01 ( long  weight)

Parameters
weight
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ IsValidArtifactArmor()

bool Eamon.Framework.Plugin.IEngine.IsValidArtifactArmor ( long  armor,
bool  includeShields = true 
)

Indicates whether an armor value is valid for a wearable Artifact.

Parameters
armor
includeShields
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ IsValidArtifactType()

bool Eamon.Framework.Plugin.IEngine.IsValidArtifactType ( ArtifactType  artifactType)

Indicates whether an artifact type is valid.

Parameters
artifactType
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ IsValidDirection()

bool Eamon.Framework.Plugin.IEngine.IsValidDirection ( Direction  dir)

Parameters
dir
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ IsValidMonsterArmor()

bool Eamon.Framework.Plugin.IEngine.IsValidMonsterArmor ( long  armor)

Indicates whether an armor value is valid for a Monster.

Parameters
armor
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ IsValidMonsterCourage()

bool Eamon.Framework.Plugin.IEngine.IsValidMonsterCourage ( long  courage)

Indicates whether a courage value is valid for a Monster.

Parameters
courage
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ IsValidMonsterFriendliness()

bool Eamon.Framework.Plugin.IEngine.IsValidMonsterFriendliness ( Friendliness  friendliness)

Parameters
friendliness
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ IsValidMonsterFriendlinessPct()

bool Eamon.Framework.Plugin.IEngine.IsValidMonsterFriendlinessPct ( Friendliness  friendliness)

Parameters
friendliness
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ IsValidPluralType()

bool Eamon.Framework.Plugin.IEngine.IsValidPluralType ( PluralType  pluralType)

Indicates whether a plural type is valid.

Parameters
pluralType
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ IsValidRoomDirectionDoorUid01()

bool Eamon.Framework.Plugin.IEngine.IsValidRoomDirectionDoorUid01 ( long  roomUid)

Parameters
roomUid
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ IsValidRoomUid01()

bool Eamon.Framework.Plugin.IEngine.IsValidRoomUid01 ( long  roomUid)

Parameters
roomUid
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ LineWrap()

string Eamon.Framework.Plugin.IEngine.LineWrap ( string  str,
StringBuilder  buf,
long  startColumn,
bool  clearBuf = true 
)

Parameters
str
buf
startColumn
clearBuf
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ ListRecords()

RetCode Eamon.Framework.Plugin.IEngine.ListRecords ( IList< IGameBase recordList,
bool  capitalize,
bool  showExtraInfo,
StringBuilder  buf 
)

Parameters
recordList
capitalize
showExtraInfo
buf
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ LoadPluginClassMappings()

RetCode Eamon.Framework.Plugin.IEngine.LoadPluginClassMappings ( )

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

Implemented in Eamon.Game.Plugin.Engine, EamonRT.Game.Plugin.Engine, EamonDD.Game.Plugin.Engine, EamonMH.Game.Plugin.Engine, TheWayfarersInn.Game.Plugin.Engine, TheVileGrimoireOfJaldial.Game.Plugin.Engine, OrbOfMyLife.Game.Plugin.Engine, TheSubAquanLaboratory.Game.Plugin.Engine, ThePyramidOfAnharos.Game.Plugin.Engine, ARuncibleCargo.Game.Plugin.Engine, TheTempleOfNgurct.Game.Plugin.Engine, AlternateBeginnersCave.Game.Plugin.Engine, WrenholdsSecretVigil.Game.Plugin.Engine, Dharmaquest.Game.Plugin.Engine, TheBeginnersCave.Game.Plugin.Engine, TheDeepCanyon.Game.Plugin.Engine, BeginnersForest.Game.Plugin.Engine, BeginnersCaveII.Game.Plugin.Engine, StrongholdOfKahrDur.Game.Plugin.Engine, LandOfTheMountainKing.Game.Plugin.Engine, TheTrainingGround.Game.Plugin.Engine, and SampleAdventure.Game.Plugin.Engine.

◆ LoadPluginClassMappings01()

RetCode Eamon.Framework.Plugin.IEngine.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.

This is the third and final piece of the Eamon CS dependency injection puzzle. If you haven't done so, please review the remarks on ClassMappingsDictionary and LoadPluginClassMappings for necessary background information before reading these comments. This method is responsible for probing the passed in library/plugin (in C# terms, an Assembly) for classes adorned with the ClassMappings attribute. Then it iterates over each found class and obtains all ClassMappings attribute information for that class. (While in theory, each class can have multiple ClassMappings attributes applied to it, this is not currently done.) At this point, we know the class will be the Value part of a Key/Value pair, but we still don't know what interface to associate it with (the Key part). This is decided based on which ClassMappings constructor is called. If this constructor is used (e.g., [ClassMappings(typeof(Eamon.Framework.IGameState))]) then the passed in interface is used as the Key. Otherwise, for this constructor (e.g., [ClassMappings]), the name of the interface used as the Key will be synthesized by prepending "I" to the class name. So, for example, CombatComponent pairs with ICombatComponent. In this scenario, the class must always implement or inherit the interface; otherwise the system won't be able to find it. If the interface to be used as a Key can't be found, Eamon CS will issue an error and terminate the program. Assuming everything checks out, the class is then stored as the Value in the Dictionary with the interface as the Key. If the interface already existed in the Dictionary (having been inserted by a lower level of the system) then the old class associated with the interface is replaced with the new class. This allows lower-level interfaces to be associated with increasingly specialized higher-level classes, which is core to the functioning of Eamon CS.

Parameters
plugin
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ ModifyCharToNull()

char Eamon.Framework.Plugin.IEngine.ModifyCharToNull ( char  ch)

Given a character, produce '\0'.

Parameters
ch
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ ModifyCharToNullOrX()

char Eamon.Framework.Plugin.IEngine.ModifyCharToNullOrX ( char  ch)

Given a character, produce either 'X' or '\0'.

Parameters
ch
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ ModifyCharToUpper()

char Eamon.Framework.Plugin.IEngine.ModifyCharToUpper ( char  ch)

Given a character, produce its upper case equivalent, if any.

Parameters
ch
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ PopDatabase()

RetCode Eamon.Framework.Plugin.IEngine.PopDatabase ( bool  freeDatabase = true)

Parameters
freeDatabase
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ PopRulesetVersion()

RetCode Eamon.Framework.Plugin.IEngine.PopRulesetVersion ( )

Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ PrintEffectDesc() [1/2]

void Eamon.Framework.Plugin.IEngine.PrintEffectDesc ( IEffect  effect,
bool  printFinalNewLine = true 
)

Parameters
effect
printFinalNewLine

Implemented in Eamon.Game.Plugin.Engine.

◆ PrintEffectDesc() [2/2]

void Eamon.Framework.Plugin.IEngine.PrintEffectDesc ( long  effectUid,
bool  printFinalNewLine = true 
)

Parameters
effectUid
printFinalNewLine

Implemented in Eamon.Game.Plugin.Engine.

◆ PrintTitle()

void Eamon.Framework.Plugin.IEngine.PrintTitle ( string  title,
bool  inBox 
)

Parameters
title
inBox

Implemented in Eamon.Game.Plugin.Engine.

◆ PrintZapDirectHit()

void Eamon.Framework.Plugin.IEngine.PrintZapDirectHit ( )

Prints the Blast spell description.

Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ ProcessArgv()

void Eamon.Framework.Plugin.IEngine.ProcessArgv ( string[]  args)

Parameters
args

Implemented in Eamon.Game.Plugin.Engine.

◆ PushDatabase() [1/2]

RetCode Eamon.Framework.Plugin.IEngine.PushDatabase ( )

Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ PushDatabase() [2/2]

RetCode Eamon.Framework.Plugin.IEngine.PushDatabase ( IDatabase  database)

Parameters
database
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ PushRulesetVersion()

RetCode Eamon.Framework.Plugin.IEngine.PushRulesetVersion ( long  rulesetVersion)

Parameters
rulesetVersion
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ ReplaceDatafileValues()

void Eamon.Framework.Plugin.IEngine.ReplaceDatafileValues ( string  fileName,
string[]  patterns,
string[]  replacements 
)

Parameters
fileName
patterns
replacements

Implemented in Eamon.Game.Plugin.Engine.

◆ ResetProperties()

void Eamon.Framework.Plugin.IEngine.ResetProperties ( PropertyResetCode  resetCode)

◆ ResolvePortabilityClassMappings()

void Eamon.Framework.Plugin.IEngine.ResolvePortabilityClassMappings ( )

Implemented in Eamon.Game.Plugin.Engine.

◆ ResolveUidMacros() [1/2]

RetCode Eamon.Framework.Plugin.IEngine.ResolveUidMacros ( string  str,
StringBuilder  buf,
bool  resolveFuncs,
bool  recurse 
)

Parameters
str
buf
resolveFuncs
recurse
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ ResolveUidMacros() [2/2]

RetCode Eamon.Framework.Plugin.IEngine.ResolveUidMacros ( string  str,
StringBuilder  buf,
bool  resolveFuncs,
bool  recurse,
ref long  invalidUid 
)

Parameters
str
buf
resolveFuncs
recurse
invalidUid
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ RestoreDatabase()

RetCode Eamon.Framework.Plugin.IEngine.RestoreDatabase ( string  fileName)

Parameters
fileName
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ RollDice() [1/2]

long Eamon.Framework.Plugin.IEngine.RollDice ( long  numDice,
long  numSides,
long  modifier 
)

Rolls a number of dice, returning a sum of the results.

Parameters
numDice
numSides
modifier
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ RollDice() [2/2]

RetCode Eamon.Framework.Plugin.IEngine.RollDice ( long  numDice,
long  numSides,
ref long[]  dieRolls 
)

Rolls a number of dice, storing the resulting values in an array.

Parameters
numDice
numSides
dieRolls
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ SaveDatabase()

RetCode Eamon.Framework.Plugin.IEngine.SaveDatabase ( string  fileName)

Parameters
fileName
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ ShouldSleepAfterInput()

bool Eamon.Framework.Plugin.IEngine.ShouldSleepAfterInput ( StringBuilder  buf,
char  inputFillChar 
)

◆ Shuffle< T >()

void Eamon.Framework.Plugin.IEngine.Shuffle< T > ( IList< T >  list)

Parameters
list

Implemented in Eamon.Game.Plugin.Engine.

◆ SplitPath()

RetCode Eamon.Framework.Plugin.IEngine.SplitPath ( string  fullPath,
ref string  directory,
ref string  fileName,
ref string  extension,
bool  appendDirectorySeparatorChar = true 
)

Parameters
fullPath
directory
fileName
extension
appendDirectorySeparatorChar
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ StatDisplay()

RetCode Eamon.Framework.Plugin.IEngine.StatDisplay ( IStatDisplayArgs  args)

◆ StripPrepsAndArticles()

RetCode Eamon.Framework.Plugin.IEngine.StripPrepsAndArticles ( StringBuilder  buf,
ref bool  mySeen 
)

Parameters
buf
mySeen
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ StripUniqueCharsFromRecordNames()

bool Eamon.Framework.Plugin.IEngine.StripUniqueCharsFromRecordNames ( IList< IGameBase recordList)

Parameters
recordList
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ SumHighestRolls()

RetCode Eamon.Framework.Plugin.IEngine.SumHighestRolls ( long[]  dieRolls,
long  numRollsToSum,
ref long  result 
)

Given an array of die rolls, sum the highest of them and return the result.

Parameters
dieRolls
numRollsToSum
result
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ SwapGreaterArmorUidWithLesserShieldUid()

bool Eamon.Framework.Plugin.IEngine.SwapGreaterArmorUidWithLesserShieldUid ( ICharacter  character)

Parameters
character
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ TruncatePluralTypeEffectDesc() [1/2]

void Eamon.Framework.Plugin.IEngine.TruncatePluralTypeEffectDesc ( IEffect  effect)

Parameters
effect

Implemented in Eamon.Game.Plugin.Engine.

◆ TruncatePluralTypeEffectDesc() [2/2]

void Eamon.Framework.Plugin.IEngine.TruncatePluralTypeEffectDesc ( PluralType  pluralType,
long  maxSize 
)

Parameters
pluralType
maxSize

Implemented in Eamon.Game.Plugin.Engine.

◆ UnlinkOnFailure()

void Eamon.Framework.Plugin.IEngine.UnlinkOnFailure ( )

Deletes a set of game-related files from the filesystem.

Implemented in Eamon.Game.Plugin.Engine.

◆ Upgrade300DatafileGetCharArtFileName()

string Eamon.Framework.Plugin.IEngine.Upgrade300DatafileGetCharArtFileName ( string  characterFileName)

Parameters
characterFileName
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ Upgrade300DatafileGetCharArtifact()

IArtifact Eamon.Framework.Plugin.IEngine.Upgrade300DatafileGetCharArtifact ( ICharArtListData  charArtData,
string  propertyName,
XElement  element 
)

Parameters
charArtData
propertyName
element
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ Upgrade300DatafileParseCharacters()

IList<ICharArtListData> Eamon.Framework.Plugin.IEngine.Upgrade300DatafileParseCharacters ( string  xmlString)

Parameters
xmlString
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ Upgrade300DatafileStripEquipment()

string Eamon.Framework.Plugin.IEngine.Upgrade300DatafileStripEquipment ( string  xmlString)

Parameters
xmlString
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ UpgradeDatafile()

void Eamon.Framework.Plugin.IEngine.UpgradeDatafile ( string  fileName)

Parameters
fileName

Implemented in Eamon.Game.Plugin.Engine.

◆ ValidateRecordsAfterDatabaseLoaded()

RetCode Eamon.Framework.Plugin.IEngine.ValidateRecordsAfterDatabaseLoaded ( )

Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ WordWrap() [1/2]

string Eamon.Framework.Plugin.IEngine.WordWrap ( string  str,
StringBuilder  buf,
bool  clearBuf = true 
)

Parameters
str
buf
clearBuf
Returns

Implemented in Eamon.Game.Plugin.Engine.

◆ WordWrap() [2/2]

string Eamon.Framework.Plugin.IEngine.WordWrap ( string  str,
StringBuilder  buf,
long  margin,
IWordWrapArgs  args,
bool  clearBuf = true 
)

Parameters
str
buf
margin
args
clearBuf
Returns

Implemented in Eamon.Game.Plugin.Engine.

Property Documentation

◆ ADB

IRecordDb<IArtifact> Eamon.Framework.Plugin.IEngine.ADB
getset

Gets or sets the Artifact database quick-accessor.

The Records property provides access to the Artifact collection. Additionally, you can get or set a specific Artifact by using its Uid as an indexer.

◆ AdventuresDir

string Eamon.Framework.Plugin.IEngine.AdventuresDir
get

Gets the Adventures directory path on non-Android platforms, relative to the working directory.

◆ AndroidAdventuresDir

string Eamon.Framework.Plugin.IEngine.AndroidAdventuresDir
get

Gets the Adventures directory path on Android platforms, relative to the working directory.

◆ ArmorTrainingPrice

long Eamon.Framework.Plugin.IEngine.ArmorTrainingPrice
get

Gets the base price, in gold pieces, of having an armor training session with the giant.

◆ ArtDescLen

int Eamon.Framework.Plugin.IEngine.ArtDescLen
get

Gets the maximum length of an Artifact Desc.

◆ Articles

string [] Eamon.Framework.Plugin.IEngine.Articles
getset

Gets or sets an array of sentence articles (e.g., "a", "some", "the", etc).

◆ ArtNameLen

int Eamon.Framework.Plugin.IEngine.ArtNameLen
get

Gets the maximum length of an Artifact Name.

◆ ArtStateDescLen

int Eamon.Framework.Plugin.IEngine.ArtStateDescLen
get

Gets the maximum length of an Artifact StateDesc.

◆ AxePrice

long Eamon.Framework.Plugin.IEngine.AxePrice
get

Gets the base price, in gold pieces, of an axe sold by Marcos Cavielli.

◆ BlastPrice

long Eamon.Framework.Plugin.IEngine.BlastPrice
get

Gets the base price, in gold pieces, of the Blast spell sold by Hokas Tokas.

◆ BowPrice

long Eamon.Framework.Plugin.IEngine.BowPrice
get

Gets the base price, in gold pieces, of a bow sold by Marcos Cavielli.

◆ Buf

StringBuilder Eamon.Framework.Plugin.IEngine.Buf
getset

◆ BufferHeight

int Eamon.Framework.Plugin.IEngine.BufferHeight
get

◆ BufferWidth

int Eamon.Framework.Plugin.IEngine.BufferWidth
get

◆ BufSize

int Eamon.Framework.Plugin.IEngine.BufSize
get

Gets the default size for large, discardable StringBuilders created during system processing.

◆ BufSize01

int Eamon.Framework.Plugin.IEngine.BufSize01
get

Gets the default size for small, discardable StringBuilders created during system processing.

◆ BufSize02

int Eamon.Framework.Plugin.IEngine.BufSize02
get

Gets the default size for tiny, discardable StringBuilders created during system processing.

◆ BufSize03

int Eamon.Framework.Plugin.IEngine.BufSize03
get

Gets the default size for medium, discardable StringBuilders created during system processing.

◆ CFGDB

IRecordDb<IConfig> Eamon.Framework.Plugin.IEngine.CFGDB
getset

Gets or sets the Config database quick-accessor.

The Records property provides access to the Config collection. Additionally, you can get or set a specific Config by using its Uid as an indexer.

◆ ChainMailPrice

long Eamon.Framework.Plugin.IEngine.ChainMailPrice
get

Gets the base price, in gold pieces, of some chain mail armor sold by Marcos Cavielli.

◆ CharNameLen

int Eamon.Framework.Plugin.IEngine.CharNameLen
get

Gets the maximum length of a Character Name.

◆ CHRDB

IRecordDb<ICharacter> Eamon.Framework.Plugin.IEngine.CHRDB
getset

Gets or sets the Character database quick-accessor.

The Records property provides access to the Character collection. Additionally, you can get or set a specific Character by using its Uid as an indexer.

◆ ClassMappingsDictionary

IDictionary<Type, Type> Eamon.Framework.Plugin.IEngine.ClassMappingsDictionary
getset

Gets or sets the Dictionary that stores interface to class mappings as Key/Value pairs, used for dependency injection.

This is the heart of the customized dependency injection architecture used by Eamon CS. If you've ever wondered how the system seems to "know" which class needs to be instantiated to make any game work, it is all based on the contents of this Dictionary. When the system calls CreateInstance, this Dictionary is consulted and the concrete class corresponding to the provided interface is created. If you use the debugger to step through a game while its running, looking in this Dictionary at the Key/Value pairs is very enlightening. Another piece to this puzzle is how the Dictionary itself is loaded during program bootstrap, and this information will be provided in the comments for LoadPluginClassMappings and LoadPluginClassMappings01.

Side note: Research was done on dependency injection toolkits (like Ninject, etc.), but that avenue was avoided because it would have introduced unnecessary dependencies for the project. There don't seem to be any frameworks that fit what was done in Eamon CS, so this dependency injection architecture is outside typical patterns.

◆ CloneStream

MemoryStream Eamon.Framework.Plugin.IEngine.CloneStream
getset

◆ CommandSepRegexPattern

string Eamon.Framework.Plugin.IEngine.CommandSepRegexPattern
get

◆ CommandSepTokens

string [] Eamon.Framework.Plugin.IEngine.CommandSepTokens
get

◆ CourageDesc

string Eamon.Framework.Plugin.IEngine.CourageDesc
get

◆ Database

IDatabase Eamon.Framework.Plugin.IEngine.Database
get

◆ DefaultWorkDir

string Eamon.Framework.Plugin.IEngine.DefaultWorkDir
get

◆ DeleteGameStateFromMainHall

bool Eamon.Framework.Plugin.IEngine.DeleteGameStateFromMainHall
getset

◆ DirectionExit

long Eamon.Framework.Plugin.IEngine.DirectionExit
get

Gets the Room Uid constant representing an exit from a game.

Traversing a Room Direction link set to this value will return the player to the Main Hall.

◆ Directory

IDirectory Eamon.Framework.Plugin.IEngine.Directory
getset

Gets or sets the platform-independent Directory manager that Eamon CS relies on for all directory-related operations.

◆ DisableValidation

bool Eamon.Framework.Plugin.IEngine.DisableValidation
getset

Gets or sets a value indicating whether validation should be disabled when Records are loaded.

The various Helper subclasses perform Record validation to ensure the data being loaded is as expected, but there are times when this default behavior is undesirable. For example, when porting an adventure from a previous Eamon system, the Record data may need to be massaged to make it compatible with Eamon CS. Doing this requires validation to be temporarily disabled.

◆ EamonCSSlnFile

string Eamon.Framework.Plugin.IEngine.EamonCSSlnFile
get

Gets the Eamon CS Solution path and file name, relative to the working directory.

◆ EDB

IRecordDb<IEffect> Eamon.Framework.Plugin.IEngine.EDB
getset

Gets or sets the Effect database quick-accessor.

The Records property provides access to the Effect collection. Additionally, you can get or set a specific Effect by using its Uid as an indexer.

◆ EffDescLen

int Eamon.Framework.Plugin.IEngine.EffDescLen
get

Gets the maximum length of an Effect Desc.

◆ EnableCommandHistory

bool Eamon.Framework.Plugin.IEngine.EnableCommandHistory
getset

◆ EnableEnhancedCombat

bool Eamon.Framework.Plugin.IEngine.EnableEnhancedCombat
getset

◆ EnableMutateProperties

bool Eamon.Framework.Plugin.IEngine.EnableMutateProperties
get

Gets a value indicating whether "mutating properties" (those that are dynamically calculated) should be enabled.

Examples of mutating properties include Monster Courage and Artifact Location, but there are more scattered through the various games as well. You will note that both the getter and setter of a property can mutate if necessary. In general, you want this behavior enabled during gameplay so properties can respond to changes in game state, but never when the SharpSerializer is running during datafile serialization or deserialization because it can lead to corrupted values. This value should be checked in all mutating properties and if it is false they should disable complex calculations and return a simple base value.

◆ EnableNegativeRoomUidLinks

bool Eamon.Framework.Plugin.IEngine.EnableNegativeRoomUidLinks
getset

◆ EnableScreenReaderMode

bool Eamon.Framework.Plugin.IEngine.EnableScreenReaderMode
getset

◆ EnableStdio

bool Eamon.Framework.Plugin.IEngine.EnableStdio
getset

◆ Error

ITextWriter Eamon.Framework.Plugin.IEngine.Error
getset

Gets or sets the text writer that prints error messages to the console window.

◆ EverythingRegexPattern

string Eamon.Framework.Plugin.IEngine.EverythingRegexPattern
get

◆ ExceptRegexPattern

string Eamon.Framework.Plugin.IEngine.ExceptRegexPattern
get

◆ File

IFile Eamon.Framework.Plugin.IEngine.File
getset

Gets or sets the platform-independent File manager that Eamon CS relies on for all file-related operations.

◆ FilePrefix

string Eamon.Framework.Plugin.IEngine.FilePrefix
getset

◆ FountainPrice

long Eamon.Framework.Plugin.IEngine.FountainPrice
get

Gets the base price, in gold pieces, of interacting with the village fountain statue.

◆ FSDB

IRecordDb<IFileset> Eamon.Framework.Plugin.IEngine.FSDB
getset

Gets or sets the Fileset database quick-accessor.

The Records property provides access to the Fileset collection. Additionally, you can get or set a specific Fileset by using its Uid as an indexer.

◆ FsFileNameLen

int Eamon.Framework.Plugin.IEngine.FsFileNameLen
get

Gets the maximum length of a Fileset file name (e.g., PluginFileName, etc).

◆ FsNameLen

int Eamon.Framework.Plugin.IEngine.FsNameLen
get

Gets the maximum length of a Fileset Name.

◆ GetMainMenuInput

bool Eamon.Framework.Plugin.IEngine.GetMainMenuInput
getset

◆ GlobalLaunchParametersFile

string Eamon.Framework.Plugin.IEngine.GlobalLaunchParametersFile
get

Gets the Global Launch Parameters path and file name, relative to the working directory.

◆ GSDB

IRecordDb<IGameState> Eamon.Framework.Plugin.IEngine.GSDB
getset

Gets or sets the GameState database quick-accessor.

The Records property provides access to the GameState collection. Additionally, you can get or set a specific GameState by using its Uid as an indexer.

◆ HDB

IRecordDb<IHint> Eamon.Framework.Plugin.IEngine.HDB
getset

Gets or sets the Hint database quick-accessor.

The Records property provides access to the Hint collection. Additionally, you can get or set a specific Hint by using its Uid as an indexer.

◆ HealPrice

long Eamon.Framework.Plugin.IEngine.HealPrice
get

Gets the base price, in gold pieces, of the Heal spell sold by Hokas Tokas.

◆ HntAnswerLen

int Eamon.Framework.Plugin.IEngine.HntAnswerLen
get

Gets the maximum length of a Hint Answer.

◆ HntQuestionLen

int Eamon.Framework.Plugin.IEngine.HntQuestionLen
get

Gets the maximum length of a Hint Question.

◆ IgnoreMutex

bool Eamon.Framework.Plugin.IEngine.IgnoreMutex
getset

Gets or sets a value indicating whether the Mutex should be ignored, allowing unlimited Eamon CS processes to run simultaneously.

This should only be done when there is no chance of datafile corruption. For example, running processes in different repositories that always access different datafiles.

◆ In

ITextReader Eamon.Framework.Plugin.IEngine.In
getset

Gets or sets the text reader that accepts user input from the console window.

◆ InfiniteDrinkableEdible

long Eamon.Framework.Plugin.IEngine.InfiniteDrinkableEdible
get

Gets a value indicating whether a Drinkable or Edible Artifact has infinite quantity.

This value would be stored in Field2.

◆ InfoBoothPrice

long Eamon.Framework.Plugin.IEngine.InfoBoothPrice
get

Gets the base price, in gold pieces, of purchasing services from the practice area info booth.

◆ LeatherArmorPrice

long Eamon.Framework.Plugin.IEngine.LeatherArmorPrice
get

Gets the base price, in gold pieces, of some leather armor sold by Marcos Cavielli.

◆ LimboLocation

long Eamon.Framework.Plugin.IEngine.LimboLocation
get

Gets the Room Uid constant representing "limbo".

Setting a Monster Location or Artifact Location to this value makes it unreachable by putting it "outside the known universe" (outside the game). A Room Direction link set to this value is not traversable.

◆ LineSep

string Eamon.Framework.Plugin.IEngine.LineSep
getset

◆ LineWrapUserInput

bool Eamon.Framework.Plugin.IEngine.LineWrapUserInput
getset

◆ LoadPortabilityClassMappings

Action<IDictionary<Type, Type> > Eamon.Framework.Plugin.IEngine.LoadPortabilityClassMappings
getset

◆ MacePrice

long Eamon.Framework.Plugin.IEngine.MacePrice
get

Gets the base price, in gold pieces, of a mace sold by Marcos Cavielli.

◆ MacroFuncs

IDictionary<long, Func<string> > Eamon.Framework.Plugin.IEngine.MacroFuncs
getset

Gets or sets a collection of functions used to resolve macros embedded in Desc, ArtifactStateDesc and Monster StateDesc properties.

◆ MaxGoldValue

long Eamon.Framework.Plugin.IEngine.MaxGoldValue
get

Gets the maximum amount of gold the player character can carry or hold in the bank.

This maximum value applies separately to each.

◆ MaxPathLen

long Eamon.Framework.Plugin.IEngine.MaxPathLen
get

◆ MaxRecursionLevel

long Eamon.Framework.Plugin.IEngine.MaxRecursionLevel
get

Gets the maximum recursion level for macro replacement.

When resolving MacroFuncs macros, this value is a circuit breaker that ensures there is never an infinite loop.

◆ MaxWeaponComplexity

long Eamon.Framework.Plugin.IEngine.MaxWeaponComplexity
get

Gets the maximum allowed weapon Complexity.

For Artifacts with a Type of Weapon or MagicWeapon, this denotes the maximum value for Field1, also known as Odds.

◆ MDB

IRecordDb<IMonster> Eamon.Framework.Plugin.IEngine.MDB
getset

Gets or sets the Monster database quick-accessor.

The Records property provides access to the Monster collection. Additionally, you can get or set a specific Monster by using its Uid as an indexer.

◆ MinGoldValue

long Eamon.Framework.Plugin.IEngine.MinGoldValue
get

Gets the minimum amount of gold the player character can carry or hold in the bank.

This negative number actually represents the maximum amount of debt oweable by the player character.

◆ MinWeaponComplexity

long Eamon.Framework.Plugin.IEngine.MinWeaponComplexity
get

Gets the minimum allowed weapon Complexity.

For Artifacts with a Type of Weapon or MagicWeapon, this denotes the minimum value for Field1, also known as Odds.

◆ ModAuthorLen

int Eamon.Framework.Plugin.IEngine.ModAuthorLen
get

Gets the maximum length of a Module Author.

◆ MODDB

IRecordDb<IModule> Eamon.Framework.Plugin.IEngine.MODDB
getset

Gets or sets the Module database quick-accessor.

The Records property provides access to the Module collection. Additionally, you can get or set a specific Module by using its Uid as an indexer.

◆ ModDescLen

int Eamon.Framework.Plugin.IEngine.ModDescLen
get

Gets the maximum length of a Module Desc.

◆ ModNameLen

int Eamon.Framework.Plugin.IEngine.ModNameLen
get

Gets the maximum length of a Module Name.

◆ ModSerialNumLen

int Eamon.Framework.Plugin.IEngine.ModSerialNumLen
get

Gets the maximum length of a Module SerialNum.

◆ ModVolLabelLen

int Eamon.Framework.Plugin.IEngine.ModVolLabelLen
get

Gets the maximum length of a Module VolLabel.

◆ MonDescLen

int Eamon.Framework.Plugin.IEngine.MonDescLen
get

Gets the maximum length of a Monster Desc.

◆ MonNameLen

int Eamon.Framework.Plugin.IEngine.MonNameLen
get

Gets the maximum length of a Monster Name.

◆ MonStateDescLen

int Eamon.Framework.Plugin.IEngine.MonStateDescLen
get

Gets the maximum length of a Monster StateDesc.

◆ MutatePropertyCounter

long Eamon.Framework.Plugin.IEngine.MutatePropertyCounter
getset

◆ Mutex

IMutex Eamon.Framework.Plugin.IEngine.Mutex
getset

Gets or sets a mutex (mutual exclusion lock) that ensures only one Eamon CS process runs in a given operating system at a time.

Eamon CS loads its datafiles into an in-memory database, requiring the use of a global system mutex to prevent datafile corruption. This mutex prevents multiple Eamon CS processes from running simultaneously, even if they are run from different repositories on the same computer.

◆ NumArtifactCategories

long Eamon.Framework.Plugin.IEngine.NumArtifactCategories
get

Gets the maximum number of Categories assignable to a single Artifact.

Each Artifact fits into one or more Categories defined by ArtifactType, which affects its behavior when manipulated by various Commands during the game.

◆ NumArtifactCategoryFields

long Eamon.Framework.Plugin.IEngine.NumArtifactCategoryFields
get

◆ NumCharacterArtifacts

long Eamon.Framework.Plugin.IEngine.NumCharacterArtifacts
get

Gets the maximum number of Artifacts allowed in a Character's inventory.

◆ NumCharacterWeapons

long Eamon.Framework.Plugin.IEngine.NumCharacterWeapons
get

Gets the maximum number of weapon Artifacts allowed in a Character's inventory.

◆ NumRecords

long Eamon.Framework.Plugin.IEngine.NumRecords
get

Gets the maximum number of Records allowed in a database table.

◆ NumRows

long Eamon.Framework.Plugin.IEngine.NumRows
get

◆ Out

ITextWriter Eamon.Framework.Plugin.IEngine.Out
getset

Gets or sets the text writer that prints text to the console window.

◆ Path

IPath Eamon.Framework.Plugin.IEngine.Path
getset

Gets or sets the platform-independent file system Path manager that Eamon CS relies on for all file system path-related operations.

◆ PlateMailPrice

long Eamon.Framework.Plugin.IEngine.PlateMailPrice
get

Gets the base price, in gold pieces, of some plate mail armor sold by Marcos Cavielli.

◆ PowerPrice

long Eamon.Framework.Plugin.IEngine.PowerPrice
get

Gets the base price, in gold pieces, of the Power spell sold by Hokas Tokas.

◆ Preps

IPrep [] Eamon.Framework.Plugin.IEngine.Preps
getset

Gets or sets an array of sentence prepositions (e.g., "to", "from", "inside", etc).

◆ ProcessMutexName

string Eamon.Framework.Plugin.IEngine.ProcessMutexName
get

Gets the name of the Mutex used to synchronize Eamon CS processes.

Due to the use of an in-memory database, only one Eamon CS process is allowed to run at a time. The ProgVersion is embedded in the name.

◆ ProgVersion

string Eamon.Framework.Plugin.IEngine.ProgVersion
get

Gets the Eamon CS system version displayed on program startup.

All Eamon CS programs and plugins share a common version number, which is embedded in a Mutex name to prevent duplicate processes from running.

◆ PronounRegexPattern

string Eamon.Framework.Plugin.IEngine.PronounRegexPattern
get

◆ PronounTokens

string [] Eamon.Framework.Plugin.IEngine.PronounTokens
get

◆ QuickLaunchDir

string Eamon.Framework.Plugin.IEngine.QuickLaunchDir
get

Gets the QuickLaunch directory path, relative to the working directory.

◆ RDB

IRecordDb<IRoom> Eamon.Framework.Plugin.IEngine.RDB
getset

Gets or sets the Room database quick-accessor.

The Records property provides access to the Room collection. Additionally, you can get or set a specific Room by using its Uid as an indexer.

◆ RecallPrice

long Eamon.Framework.Plugin.IEngine.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.

◆ RecIdepErrorFmtStr

string Eamon.Framework.Plugin.IEngine.RecIdepErrorFmtStr
get

Gets the format string used to produce error messages during Record interdependency checking.

The Eamon CS Dungeon Designer plugin (EamonDD) uses this format string to produce error messages when analysing Record interdependencies. A variety of potential error conditions can be caught during this process.

◆ ResolveEffectRegexPattern

string Eamon.Framework.Plugin.IEngine.ResolveEffectRegexPattern
get

◆ ResolveUidMacroRegexPattern

string Eamon.Framework.Plugin.IEngine.ResolveUidMacroRegexPattern
get

◆ RevealContainerContentsFunc

Action<IRoom, IMonster, IArtifact, long, bool> Eamon.Framework.Plugin.IEngine.RevealContainerContentsFunc
getset

◆ RevealContentArtifactList

IList<IArtifact> Eamon.Framework.Plugin.IEngine.RevealContentArtifactList
getset

◆ RevealContentCounter

long Eamon.Framework.Plugin.IEngine.RevealContentCounter
getset

◆ RevealContentFuncList

IList<Action> Eamon.Framework.Plugin.IEngine.RevealContentFuncList
getset

◆ RevealContentMonster

IMonster Eamon.Framework.Plugin.IEngine.RevealContentMonster
getset

◆ RevealContentRoom

IRoom Eamon.Framework.Plugin.IEngine.RevealContentRoom
getset

◆ RightMargin

long Eamon.Framework.Plugin.IEngine.RightMargin
get

◆ RmDescLen

int Eamon.Framework.Plugin.IEngine.RmDescLen
get

Gets the maximum length of a Room Desc.

◆ RmNameLen

int Eamon.Framework.Plugin.IEngine.RmNameLen
get

Gets the maximum length of a Room Name.

◆ RulesetVersion

long Eamon.Framework.Plugin.IEngine.RulesetVersion
get

Gets a value indicating which Eamon ruleset applies to the current game.

Earlier rulesets of Eamon gave a different "vibe" to the gameplay experience, so a means to support them was introduced. Currently supported rulesets include 5 for DDD5, 62 for DDD6.2, and 0 for Eamon Deluxe. The Temple of Ngurct is the only game using DDD5 at the time of this writing. Recent enhancements allow a game to change rulesets dynamically at runtime.

◆ RunGameEditor

bool Eamon.Framework.Plugin.IEngine.RunGameEditor
getset

◆ SharpSerializer

ISharpSerializer Eamon.Framework.Plugin.IEngine.SharpSerializer
getset

◆ ShieldPrice

long Eamon.Framework.Plugin.IEngine.ShieldPrice
get

Gets the base price, in gold pieces, of a shield sold by Marcos Cavielli.

◆ SpearPrice

long Eamon.Framework.Plugin.IEngine.SpearPrice
get

Gets the base price, in gold pieces, of a spear sold by Marcos Cavielli.

◆ SpeedPrice

long Eamon.Framework.Plugin.IEngine.SpeedPrice
get

Gets the base price, in gold pieces, of the Speed spell sold by Hokas Tokas.

◆ SpellTrainingPrice

long Eamon.Framework.Plugin.IEngine.SpellTrainingPrice
get

Gets the base price, in gold pieces, of having a spell training session with the licensed wizard.

◆ StackTraceFile

string Eamon.Framework.Plugin.IEngine.StackTraceFile
get

Gets the relative path and name of the error file dumped when an unexpected system shutdown occurs.

If an unexpected and unrecoverable error occurs, Eamon CS will abort execution and dump a series of error messages to a stack trace file located in the current working directory (typically System\Bin or an Adventure folder). This usually happens for uncaught exceptions, or record validation errors. Looking in the file can be helpful to overcome the issue. But in the case of a game engine bug, if possible, please contact TheRe.nosp@m.alEa.nosp@m.monCS.nosp@m.@hot.nosp@m.mail..nosp@m.com and provide this file along with a description of your actions. It can greatly aid in the debugging process.

◆ StatGainPrice

long Eamon.Framework.Plugin.IEngine.StatGainPrice
get

Gets the base price, in gold pieces, of having a Stat boosted by the Good Witch.

◆ SwordPrice

long Eamon.Framework.Plugin.IEngine.SwordPrice
get

Gets the base price, in gold pieces, of a sword sold by Marcos Cavielli.

◆ Thread

IThread Eamon.Framework.Plugin.IEngine.Thread
getset

Gets or sets the platform-independent Thread manager that Eamon CS relies on for all thread-related operations.

◆ ToughDesc

string Eamon.Framework.Plugin.IEngine.ToughDesc
get

◆ TransferProtocol

ITransferProtocol Eamon.Framework.Plugin.IEngine.TransferProtocol
getset

◆ UnknownName

string Eamon.Framework.Plugin.IEngine.UnknownName
getset

Gets or sets a generic string representing an unknown name (e.g., "???").

◆ ValidWorkDirRegexPattern

string Eamon.Framework.Plugin.IEngine.ValidWorkDirRegexPattern
get

◆ WeaponTrainingPrice

long Eamon.Framework.Plugin.IEngine.WeaponTrainingPrice
get

Gets the base price, in gold pieces, of having a weapon training session with Don Diego.

◆ WindowHeight

int Eamon.Framework.Plugin.IEngine.WindowHeight
get

◆ WindowWidth

int Eamon.Framework.Plugin.IEngine.WindowWidth
get

◆ WorkDir

string Eamon.Framework.Plugin.IEngine.WorkDir
getset


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