Show / Hide Table of Contents

Namespace DaggerfallWorkshop.Game

Classes

AcrobatMotor

AdjacentSurface

AmbientEffectsPlayer

Plays different ambient effects, both audible and visual, at random intervals. Certain effects such as lightning are timed to each other. NOTE: Lightning sky effects are deprecated for now.

AmbientEffectsPlayer.AmbientEffectsEventArgs

Arguments for AmbientEffectsPlayer events.

Automap

this class provides the automap core functionality like geometry creation and discovery mechanism

Automap.AutoMapConsoleCommands

Automap.AutomapDungeonState

class to store state of discovery of a dungeon, this state can be used to restore state of GameObject gameobjectGeometry this class basically maps the two fields/states (MeshRenderer active state and Material shader keyword "RENDER_IN_GRAYSCALE") that are used for discovery state of the models inside GameObject gameobjectGeometry when a dungeon is loaded into this GameObject it also stores list of user note markers

Automap.AutomapGeometryBlockState

class to store state of discovery of a dungeon block or interior, this state can be used to restore state of GameObject gameobjectGeometry this class basically maps the two fields/states (MeshRenderer active state and Material shader keyword "RENDER_IN_GRAYSCALE") that are used for discovery state of the models inside GameObject gameobjectGeometry when an interior is loaded into this GameObject it is also used as type inside the blocks list in AutomapDungeonState

Automap.AutomapGeometryBlockState.AutomapGeometryBlockElementState

Automap.AutomapGeometryBlockState.AutomapGeometryBlockElementState.AutomapGeometryModelState

Automap.NoteMarker

Automap.TeleporterConnection

Automap.TeleporterTransform

we need to use this instead of Transform since Transform can not be serialized

BuildingDirectory

Attached to same GameObject as DaggerfallLocation by scene builders. This behaviour manages a building dictionary for every building in an exterior location. Provides helpers to query buildings and link between related systems (automap, quest sites, info text, etc.).

CameraRecoiler

ClimbingMotor

ConstrainRotation

Constrains rotation. Used to stop particle effects from rotating with player.

ContainerLootSpawnedEventArgs

ControlsConfigManager

ControlsConfigManager singleton class for controls settings and configuration. Related to the controls windows.

DaggerfallMissile

Missile component for spell casters and archers. Designed to handle missile role in abstract way for other systems. Collects list of affected entities for involved system to process. Supports touch, target at range, area of effect. Has some basic lighting effects that might expand later. Does not currently support serialization, but this will be added later. Currently ranged missiles can only move in a straight line as per classic.

DaggerfallUI

Implements Daggerfall's user interface with internal UI system.

DaggerfallUIMessages

DungeonLightHandler

Disables dungeon lights when out of range. A dungeon block has a 2048x2048 DF unit footprint. This means lights just outside this range can be safely disabled, returning performance for more lighting effects such as shadows.

EnablePlayerTorch

Enable or disable player torch. This component is used by Workshop demo scenes.

EnemyAttack

Temporary enemy attack.

EnemyBlood

Example enemy blood effect.

EnemyDeath

Handles enemy death.

EnemyHealth

Example enemy health. Note: Deprecated. For standalone DFTFU scenes only.

EnemyMotor

Enemy motor and AI combat decision-making logic.

EnemySenses

Example enemy senses.

EnemySounds

Example enemy sounds component. Handles attract and attack sounds.

ExitGame

Component to simply exit game when player presses KeyCode.Escape

ExteriorAutomap

this class provides the automap core functionality like geometry creation and discovery mechanism

ExteriorAutomap.ExteriorAutoMapConsoleCommands

FadeBehaviour

Handles fading HUD during scene transitions.

FPSCrosshair

Just drawing a basic crosshair using OnGUI().

FPSSpellCasting

Renders first-person spellcasting animations for player. Spellcasting animations have different texture and layout requirements to weapons and are never mixed with weapons directly on screen at same time. Opted to create a new class to play these animations and separate from FPSWeapon.

FPSWeapon

Renders first-person weapons and attack animations. Recommended for this component to be on its own game object. Cam modify pitch of audio source for different weapon speed effects.

FrictionMotor

GameManager

GameManager singleton class.

HangingMotor

HeadBobber

HotkeySequence

InputManager

InputManager singleton class for Daggerfall-specific game actions.

InputManager.KeyBindData_v1

LevitateMotor

A temporary replacement motor for player levitation and swimming.

LoanChecker

MobilePersonMotor

Drives mobile NPCs around town exteriors using the local navgrid.

MobilePersonNPC

This contains the actual NPC data for mobile NPCs.

NewLocationAlert

Peer with PlayerGPS to display text when player enters a new location rect.

PlayerActivate

Example class to handle activation of doors, switches, etc. from Fire1 input.

PlayerAmbientLight

Peer this with Player and PlayerEnterExit to change ambient light based on player surroundings. For example, Daggerfall scales ambient light up and down in dungeons with castle blocks (e.g. Wayrest). Ambient light is dimmed when player leaves castle block and brightened on return.

PlayerCollision

PlayerCollisionHandler

PlayerCompass

Renders Daggerfall's small compass. Should be attached to player camera.

PlayerCrush

PlayerDeath

Handles player death.

PlayerEnterExit

Assist player controller to enter and exit building interiors and dungeons. Should be attached to player object with PlayerGPS for climate tracking.

PlayerEnterExit.TransitionEventArgs

Arguments for PlayerEnterExit events. All interior/exterior/dungeon transitions use these arguments. Valid members will depend on which transition event was fired.

PlayerFootsteps

Player footstep sounds. Designed to be attached to Player object.

PlayerGroundMotor

PlayerHealth

Temporary class to remove player health on damage.

PlayerHeightChanger

PlayerMotor

PlayerMouseLook

PlayerMoveScanner

Detects information about where the player is going to step

PlayerSpeedChanger

PlayerWeather

Script to play weather effects over player. Allows weather to be attached elsewhere than a child of player (such as exterior parent). In multiplayer do not sync weather particle effects to other players.

RappelMotor

SetupDemoEnemy

Sets up enemy using demo components. Currently using this component to setup enemy entity. TODO: Revise enemy instantiation and entity assignment.

ShowPlayerDamage

Simple component to flash screen red on player damage.

SongManager

Peer this with DaggerfallSongPlayer to play music based on climate, location, time of day, etc. Starting lists can be edited in Inspector to add/remove items. There is some overlap in songs lists where the moods are similar.

SortedListExtensions

extension for SortedList class - we want to reuse id's if list items have been deleted from the list and thus the id is free - so we need to have a function that supports this

StateManager

A simple state manager class, driven by events

StaticNPC

Attached to every static NPC in the game and maintains two kinds of information:

  1. From static layout data read from game files (RMB/RDB block data)
  2. From instantiation context (in a dungeon, a building, etc.) This behaviour helps solve the problem of layout classes not knowing (or needing to know) about runtime quest state, and vice versa. It also decouples NPC information from Billboards. Other uses include Questor injection, hiding relocated NPCs, and disabling NPCs that have been permanently removed by quest system.

Notes:

  • Static NPCs only exist inside buildings and dungeons, these are not the wandering NPCs in towns.
  • This behaviour will be used to ultimately decouple NPC information from Billboards.
  • Any NPC replacers (e.g. to 3D models) will need to assign this behaviour with original layout data.
  • Correct NPC name seed is currently unknown, using offset position in layout data for now.

SunlightManager

Changes angle of directional light to simulate sunrise through sunset.

TalkManager

This class manages talk topics and resulting actions/answers

TalkManager.ListItem

TalkManager.NPCData

TalkManager.QuestResourceInfo

TalkManager.QuestResources

TalkManager.RumorMillEntry

TalkManager.SaveDataConversation

TalkManager.TalkConsoleCommands

TalkManager.TalkManagerContext

TextManager

Text manager singleton class.

TransportManager

UIShaderParam

UnderwaterFog

VectorMeasurement

VitalsChangeDetector

WeaponManager

Support for mouse attack gestures, weapon state firing, and damage transfer. Should only be attached to player game object.

WeatherManager

Helper component to assign weather settings across multiple components.

The logic for weather changes are based on the climate and weather table described in the Daggerfall Chronicles, pg. 47. Plus some additional logic to handle more natural weather transitions.

TODO add smooth weather transitions

Structs

ExteriorAutomap.BlockLayout

Block layout of location.

ExteriorAutomap.BuildingNameplate

ExteriorAutomap.Rectangle

StaticNPC.NPCData

Holds information about this NPC.

TalkManager.NpcWorkEntry

WeatherManager.FogSettings

Interfaces

IPlayerActivable

Defines a MonoBehaviour component that can be activated by player interaction. Activation is detected when a ray cast hits a collider or trigger collider on the GameObject on which the component is instantiated.

Enums

AmbientEffectsPlayer.AmbientSoundPresets

Automap.AutomapFocusObject

Automap.AutomapRenderMode

BobbingStyle

Defines the Head-bobbing pattern used by HeadBobber

CameraRecoilSetting

ControlsConfigManager.UnaryBindings

DaggerfallUI.PopupStyle

ExteriorAutomap.ExteriorAutomapViewMode

ExteriorAutomap.LocationBorder

HeightChangeAction

Tells HeightChanger.Update() which method to call to change controller height and camera position

HotkeySequence.HotkeySequenceProcessStatus

HotkeySequence.KeyModifiers

InputManager.Actions

InputManager.AxisActions

InputManager.JoystickUIActions

MobilePersonMotor.MobileDirection

The direction mobile is currently facing and moving. Might be expanded to 8 directions in future.

MobilePersonMotor.MobileStates

States the mobile can be shifted into.

MobilePersonNPC.DisplayRaces

PlayerEnterExit.TransitionType

Types of transition encountered by event system.

PlayerMotor.OnExteriorWaterMethod

Defines the way player can interact with exterior water tiles. Unrelated to deep water swimming such as in dungeons.

PlayerMoveScanner.RotationDirection

RappelMotor.RappelDirection

RappelMotor.RappelStage

StateManager.StateTypes

StaticNPC.Context

The context of where NPC belongs in layout data.

TalkManager.KeySubjectType

TalkManager.ListItemType

TalkManager.NPCKnowledgeAboutItem

TalkManager.NPCType

TalkManager.QuestInfoResourceType

TalkManager.QuestionType

TalkManager.QuestResourceInfo.BuildingLocationHintTypeGiven

TalkManager.RumorType

TransportModes

WeaponManager.MouseDirections

Mouse directions for attack trigger.

Delegates

AmbientEffectsPlayer.OnPlayEffectEventHandler

Automap.OnInjectMeshAndMaterialPropertiesEventHandler

Send an event instructing all Automap models to apply Automap materials and properties to their MeshRenderers.

DaggerfallMissile.OnCompleteEventHandler

DaggerfallUI.OnInstantiatePersistentWindowInstancesHandler

Event raised when the persistent window instances have been instantiated.

FPSSpellCasting.OnReleaseFrameEventHandler

GameManager.OnEncounterEventHandler

GameManager.OnEnemySpawnHandler

InputManager.OnLoadSaveKeyBinds

InputManager.OnUpdateKeyBind

PlayerActivate.CustomActivation

PlayerEnterExit.OnMovePlayerToDungeonStartEventHandler

PlayerEnterExit.OnPreTransitionEventHandler

PlayerEnterExit.OnRespawnerCompleteEventHandler

PlayerEnterExit.OnTransitionDungeonExteriorEventHandler

PlayerEnterExit.OnTransitionDungeonInteriorEventHandler

PlayerEnterExit.OnTransitionExteriorEventHandler

PlayerEnterExit.OnTransitionInteriorEventHandler

PlayerSpeedChanger.CanPlayerRun

StateManager.StateChange

TransportManager.PlayerShipAvailiable

VitalsChangeDetector.OnResetEventHandler

WeatherManager.OnWeatherChangeHandler

In This Article
Back to top Generated by DocFX