Eye of the Nile Docs
Everything you need to know to get started!
Loading...
Searching...
No Matches
Class List
Here are the classes, structs, unions and interfaces with brief descriptions:
[detail level 1234]
 NFMOD
 NFMODUnity
 NFMODUnityResonance
 CAbilityEffect
 CAbilityImageUIThis script goes on (as a component) the icons for the abilities on the ability hotbar and handles the drag and drop functionality
 CAbilityInventoryStores all the abilities the player has unlocked
 CAbilityInventoryItemDataHolds the data of the drag and drop ability icons in the ability inventory in the skyhub. This includes all data that the UI needs to display, as well as what slot the ability icon is in
 CAbilityInventorySlotImplements the inventory slots in the ability inventory found in the skyhub. Adapted from InventorySlot
 CAbilityInventoryUIHandles the display and functionality of the ability inventory UI, accessed in the Skyhub
 CAbilityOwnerHandles timed events related to abilities. Specifically, charge ups, activating the ability, repeated events during duration time (such as healing over time), and cooldowns. It also holds useful data, namely the OwnerTransform (player’s transform), the ability info this ability is using, and the current ability state (ready to use vs on cooldown)
 CAbilityProjectileScript for a basic projectile object created from an ability
 CAbilitySlotUIThis script goes on (as a component) the slots of the ability hotbar and handles displaying ability icons and swapping icons when drag and dropping
 CActiveAbilityDataStores and manages the set of active ability sets. These are the 4 abilities on the hotbar the player has equipped and can use. You can manage this in the unity editor with the Scriptables_ActiveAbilties scriptable object
 CAnubisJokeTextboxThis script is responsible for displaying the joke that Anubis is supposed to tell when the player dies (stored in the DataManager) in the speech bubble above Anubis' head
 CAudioManagerResponsible for storing and playing the game's music and sound effects using the FMOD package. To trigger a sound effect from a script, use "AudioManager.instance.PlaySFX()" or any of the other functions here
 CBandit
 CBaseAbilityInfo
 CBaseEntityControllerBasic functionality for any entities that are hostile towards other entities. This script is abstract so it must be inherited by another script to be used. Every script inheriting from this must override ActivateAttack()
 CBaseProjectileBasic projectile functionality that every other projectile type must inherit from to be compatible with other systems (like the attack manager). You can also put this script onto any object or prefab to give it normal projectile functionality
 CBoneProjectileScript that powers BoneProjectile.prefab that Skeleton Guy.prefab uses
 CBossHealthFunctionality of ObjectHealth for bosses. This script inherits from ObjectHealth. What changed:
 CBossHealthbarHUDThis script provides functions for other scripts to update the boss's healthbar on the Canvas. There are functions for:
 CBoulderHazardScript for a boulder that rolls until its hitbox tells it to break. BoulderHitbox is responsible for detecting collisions and dealing damage
 CBoulderHitboxDetects collisions for the boulder hazard (BoulderHazard). When colliding with something on the boulder's collision layers, it will damage it and break the boulder
 CBoulderProjectileScript for a boulder that the player can throw as a projectile. Adapted from BoulderHazard. Inherits from BasicProjectile
 CBoulderProjectileHitboxThe boulder projectile has a separate hitbox to determine when it collides with something. Adapted from BoulderHitbox
 CBoulderSpawnerSpawns boulders at a consistent rate at a given spawn point, facing upwards
 CBuffAEAllows an ability to apply a permanent stat increase to the player. Right now, this script only supports increasing the player's max health
 CConfirmationPanelThis script goes on the confirmation panel after the upgrade button is pressed in the ability inventory
 CCooldownVisualUIThis script goes on the ability cooldown UI elements and has function(s) for animating it
 CCurrencyWidget
 CCustomDeathMessageAdd this script to any object which you want custom Anubis jokes for when the player dies to it. For example, this is used on fire to make Anubis tell a fire pun after you burn to death
 CDamageOnCollision
 CDamageOnTriggerPut this script on objects you want to damage entities upon touching with them. The difference between this and DamageOnCollision is this is for objects whose Collider2D has isTrigger checked off in the editor. Useful for stage hazards, such as the spikes tile
 CDataManagerThis is the script on the DataManager prefab, which is responsible for storing critical data that needs to persist across scene reloads. Additionally, when the game is run through the Main Menu scene, the DataManager will load values from a file rather than using defaults. It will also save these values back to the file while the game is running, and when the application quits. The DataManager is persistent - it can never be destroyed, and there can only be one. This way, if the player loads a new scene by going through a door, the player object can get its health from the DataManager, thus “remembering what health it had.”
 CDayNight_ObjectsThis script goes on parents of objects that you want to be active during only day or only night. This script has to go on the parent for two reasons:
 CDayNight_ShrineThis goes on day/night shrines, which are objects that allow the player to change the time of day when interacted with (press E). If the player interacts with this object, it will tell the DataManager to update its record of the time of day. The DataManager will then trigger an event that tells TimeOfDayController to change the background image. This script is also used for controlling whether or not the shrine should be animated when the player gets in range
 CDespawnTimerPut this script on any object you want to automatically despawn after a certain amount of time
 CDestructibleWallScript for destructible walls that get broken when attacked
 CDetailsPanel
 CDoorObjectThis script has functions for opening and closing the door object that this script is attached to. The door can be locked. The reason why a number is used for the doorLocked variable instead of a Boolean is, for example, if two separate events need to contribute toward unlocking the door, the door lock value can be incremented by 1/2 of the total, so the door won't get unlocked until both events happen
 CDragAndDrop
 CEarthquakeProjectileA projectile used in Geb's ability set that spawns an earthquake where it lands
 CEarthquakeZone
 CEmptyAbilityInfoThis is an empty ability that does nothing. This allows for there to be empty slots in the active ability data. Each of the abstract functions just write “This ability does nothing” to the console
 CExampleAbilityInfoThis is an example ability with placeholder functionality. Useful for understanding the syntax for the ability system
 CExEffectAbilityInfoThis is an example of the effect system for abilities. What effects to apply can be added in the editor. When an ability is triggered, the effect(s) will be applied. When the duration runs out, the effects(s) are automatically removed
 CExitZoneIf the player is inside a warp zone (such as a door or some form of exit), this script will warp them to the corresponding exit door. In other words, if you go through a door, this script spawns the player on the other side
 CFacePlayerThis script constantly updates the X Flip of the SpriteRenderer of the object that this script is attached to, so the object constantly faces the player. If this script makes the object face the opposite direction that you want, change the object's SpriteRenderer's default X Flip value
 CFadeDistantObjectThis script controls the transparency of objects that are distant to the player. This script affects the sprite renderer of the object that it is attached to
 CFallingSpikeScript for the falling spike hazard. When a player enters the trigger zone beneath the falling spike, it will unfreeze the spike's gravity
 CFileReadWriteReads and writes the DataManager's data, using SerializedData to format it
 CFireAbilityInfoThis is the info for the fire ability set made for the club fair build
 CFireObjectScript for a fire object, such a big fire, wall of fire, anything that's fire. If burnout enabled, the fire will despawn after burnoutTime has passed. If an entity collides with the fire, it will be set on fire and take fire damage
 CFireObstacleEffectA simple effect applied to some fire obstacles. The object is scaled up and down between the given minimum and maximum values
 CFireProjectileScript for a basic projectile that sets a target on fire rather than dealing a flat damage amount. Inherits from BasicProjectile
 CForceSpawnLocationThis script forces the object it's attached to be in a specific location at the start of the scene no matter what. This is a band-aid solution to stop the out of bounds problem in the Anubis scene, where the player would sometimes spawn in the wrong spot
 CGebAbilityInfoThis is the info for Geb's ability set
 CGebBossControllerThis script controls Geb's movement and will triggers Geb's attacks. This script mainly consists of:
 CGebEarthquakeZoneThis is the script for Geb's earthquake zone. This script summons particles, scales the earthquake zone size, can damage the player, and can slow the player down
 CGebPhaseControllerThis script handles Geb's phases. It keeps track of the current phase or when a cutscene is playing, and detects when a new phase should be started. When a new phase is started, it tells the Geb's other scripts
 CGebRockScript for both the rocks that Geb throws and the debris that fall when Geb's walls break. This script detects when the rock collides with any object on collisionLayers (defined on this script in the Inspector). Optionally, this script can have a chance to spawn a rock golem upon impact. If a rock golem is not spawned, the rock will break instead
 CGebRockGolemAdditional script for the rock golems in Geb's bossroom. What this script does:
 CGebRoomControllerThis script is a work in progress. It will control most of Geb's bossroom (trigger zone, doors, cutscenes, healthbar visibility). This script mainly consists of:
 CGebShatteredThis script makes Geb's pieces go flying
 CGebWallBreakerScript for the charge attack hitbox on Geb to destroy his walls on collision
 CGroundDetectorThis script is used by a small trigger zone beneath some entities' feet (including the player) that detects if they are on the ground. When the entity is on the floor, isGrounded will be true
 CHealthPotionFunctionality for the health potion object that spawns after breaking a pot. This script simply invokes an event and destroys the object when the player enters the trigger zone
 CInfoIconInfo icons can be placed in UI menus to tell information to the user when hovered over
 CInitialThrustThis script thrusts the object it's attached to in the given direction as soon as the object is created. Used for some projectile movement. Eventually the boulder hazards will also use this script
 CInteractProgressBar
 CInventorySlot
 CKnockbackFeedbackPut this script on an object to allow it to take knockback
 CMainMenu
 CMeleeEntityControllerFunctionality for basic entities with a melee attack. Inherits from BaseEntityController
 CMemphisIndoors_2This script is scene-specific to MemphisIndoors_2. It is used for making the sun shrine fall
 CMovableEntityDetectorUsed by a trigger zone on moving platforms and spring tiles to detect movable entities. Objects that have colliders but should not be pushed around, such as tilemaps or GroundDetectors, should not get detected
 CMoveInDirectionThis script moves the object its attached to in the given 2D direction continuously and consistently. Great for simple projectile movement
 CMovingPlatformMoves the moving platforms and the entities on it. Each moving platform has its own MovingPlatform script attached
 CObjectHealthHandles health, damage, and death of an object/entity. If you want an object to have health, take damage, and die, put this script on it
 CObjectInteractablePut this script on an object you want the player to be able to interact with. Put the function you want triggered when the player interacts in the InvokeOnInteract section in the Unity Editor. If you want the function to trigger after the interact button has been held for a certain amount of time, use the InvokeOnLongPress section. If you want the function to trigger when the player enters the interaction range, use the InvokeOnProximityEnter section. If you want the function to trigger every frame the player is still in the interaction range, use the InvokeOnProximityStay section. If you want the function to trigger when the player exits the interaction range, use the InvokeOnProximityExit section. If you want the function to trigger when the player melee attacks the object, use the InvokeOnMelee section
 CPatrolZoneScript for a zone which entities that inherit from BaseEntityController will patrol until a player is in range. Also used by Geb and his rock golems to stay within the bossroom
 CPatrolZoneProtoScript for a zone which entities that inherit from BaseEntityController will patrol until a player is in range
 CPauseMenu
 CPlayerAbilityControllerHandles player input related to activating abilities and manages AbilityOwner objects for each of the 4 active abilities
 CPlayerAttackManagerHandles all the attacks the player can perform, including both standard attacks and all ability attacks. This script contains multiple overloads of some functions to provide more functionality if desired
 CPlayerBasicMelee
 CPlayerBasicProjectileAttack
 CPlayerHealthFunctionality of ObjectHealth, specifically for the player. This script inherits from ObjectHealth. Here are the key changes:
 CPlayerHealthbarGUI
 CPlayerInteractWhen the player presses the interactKey, this script will search for nearby interactable objects. If an interactable object is within range, this script will tell that object to trigger its functionality. It will also wait to see if the user holds the interact key down for long enough for it to be considered a "long press" and triggers any additional functionality
 CPlayerItemHolderRemembers the amount of health potions the player has, and uses the potions when potionHotkey is pressed
 CPlayerKnockbackFeedbackInheriting from KnockbackFeedback, this script will adjust the knockback resistance based on stat modifiers added to the player
 CPlayerMovementHandles the player movement, such as walking and jumping, when the user presses the corresponding keys
 CPlayerStatBasic properties of a player stat that can be modified by abilities using StatModifiers (see StatModifier, StatsAE, and PlayerStatHolder). Each stat has a name and a base value, set in the editor
 CPlayerStatHolderContains all the player's stats that can be modified by abilities using StatModifiers (see PlayerStat, StatModifier, and StatsAE). You can add new player stats using the editor, but make sure you implement the corresponding functionality into the proper script. To see an example of how to link a value in another script to a player stat, see PlayerHealth
 CPlayFootstepSFXAttach this script to an object to play a footstep sound when the desired function is triggered. Typically, the desired function is played by the animation itself using an event in the animation. For example, Horus' walk animation has two frames which his foot touches the ground, at which an event is placed to call PlayDefaultFootstep()
 CPotHealthFunctionality of ObjectHealth for breakable pots. This script inherits from ObjectHealth. When the pot breaks, this script instantiates and launches a broken pot in its place
 CPotionCounterUpdates the text display for how many health potions the player currently has
 CPressurePlateUsed by pressure plates to detect entities standing on it and to activate/deactivate a connected object
 CProtectiveWallScript for the walls that Geb summons. They are raised from the ground. This spawning animation can be replaced with anything once the idea is finalized. When the wall is broken, debris spawn in its place
 CPrototypeBaseEntity
 CPrototypeEntityAnimatorHandler
 CPrototypeEntityChecks
 CPrototypeEntityInfo
 CPrototypeMeleeRangedEntity
 CPrototypeMinionEntity
 CPrototypeSpawnerEntity
 CRangedEntityControllerFunctionality for entities with a ranged attack. Inherits from BaseEntityController
 CRockAbilityInfoThis is the info for the rock ability set made for the club fair build
 CRockGolemControllerFunctionality for Geb's rock golems. Inherits from MeleeEntityController, which inherits from BaseEntityController. What changed:
 CRudimentaryMovementAn abstract class for simple movement scripts that generally follow the same format. Scripts that inherit from this are typically used for objects with simple movement, typically projectiles
 CSceneMusicPlays music when the scene is loaded using the AudioManager
 CScrollAnimationManagerPlays the scroll open and close animation for the Ability Inventory in the Skyhub, as well as the events that then render the inventory elements
 CSensor_Bandit
 CSerializedDataThis takes data from the DataManager (given in the constructor) and packages into a class that can be serialized. FileReadWrite can then write this class to a file, or create a new one after reading from a pre-existing file. In short, this class is an intermediate format between the DataManager and data saved to a file, allowing FileReadWrite to translate between the two
 CSethFollowerScriptSimple enemy script designed for a "Seth Follower" enemy. This script is separate from the existing entity systems
 CSettingsMenuHandles opening the settings menu and the functionality of the buttons
 CSkyhubSpeechControllerThis script controls the welcome message(s) in the Skyhub so that they only appear on the player's first visit
 CSoftColliderUsed in the Soft Collider.prefab, which is put as a child onto other objects. Allows for other objects to pass through this object, but push them out if they stay inside this object
 CSoundStores the data and properties of a given sound file
 CSpawnAEAllows an ability to spawn a projectile where the ability owner (player) is
 CSpawnedEffectWhen a particle spawned, this script will despawn it after its duration is up
 CSpawnOnTriggerIf something enters this object's trigger zone, this script will spawn an object or projectile. This is useful for stage hazards, such as the arrow trap
 CSpawnPrefabSpawns a prefab. This function can be triggered by a Unity Event. This was initially made to drop potions when pots break
 CSpeechBubbleThis script controls the functionality of the speech bubbles/messages that are triggered when the player gets within range
 CSpringTileMoves entities when they jump on a spring tile. Change the spring's mass (and other properties) to change how bouncy the spring appears. To adjust the height of the spring tile, place it 1 tile above the floor, then set the "Distance" on the Spring Joint 2D to be where you would like the spring to end up
 CSquasherHazardScript for the squasher hazard. When the player enters the squasher's trigger zone, it falls under gravity. When the squasher hits the ground, it stays there for a moment before returning. This script goes on the trigger zone of the squasher hazard
 CStageLoaderLoads a given Unity scene when a player goes through a warp/door or dies. This also handles the black fade transition
 CStageWarpBasic component of StageWarp.prefab that stores basic information about the it, including the warp name, destination name, and warp type
 CStatAbilityInfoThis is an example of an ability set that uses stat modifiers for each ability. This script is useful for copy-pasting into your own ability info if you want the same functionality
 CStatModifierStatModifiers are a variable type that can be used by abilities to modify player stats (see PlayerStat, StatsAE, and PlayerStatHolder). This class does not inhert from monobehavior, so it does not have access to unity functions such as Start() or Update()
 CStatsAEAllows an ability to apply a stat change to the player (see PlayerStat, StatModifier, and PlayerStatHolder). Which stat to change and by how much can be changed in the editor. Examples of StatsAE scriptable objects can be found here: Ability Effect
 CSwingingPendulumAxeHandles the rotation of the swinging pendulum axe traps
 CTilemapFootstepSFXHolds the references to the footsteps sounds this tilemap makes. For example, if an area is made of sand, you can put this script on the tilemap collider (must be a tilemap that handles collision) and have entities (with a PlayFootstepSFX script) make sand footstep sounds when walking
 CTimeOfDayControllerHandles changing the background image when the time of day is updated in the DataManager
 CTornadoProjectileScript for a tornado projectile that deals no damage, instead pushing targets away with its hitbox. Inherits from BasicProjectile
 CTotalAbilityUIGoverns the ability hotbar in the bottom left corner of the screen (Prefabs_Abilities_AbilitySlots). Updates the display ActiveAbilityData when the icons are moved or changed (including on first load)
 CUpgradePanelThis script goes on the upgrade panel in the details panel of the ability inventory and has functions for handling ability upgrades
 CUpgradeWarningMessageThis script animates and despawns a warning message that appears in the Skyhub when the player attempts to upgrade an ability that is already at its maximum level or when the player does not have enough currency. (This script could probably be replaced by an animator.)
 CWallDetectorInfoThis script is used by some entities (including the player) to detect when they are touching a wall. If either side of the entity is touching the wall, onWall is set to true. When the wall detector consists of two trigger zones, frontOnWall and backOnWall become available
 CWallDetectorZoneThis script is used by trigger zone(s) around some entities' sides that detects when the entity is touching a wall. This is also used by the player! Options:
 CWarpInfo
 CWarpObeliskWarp Obelisks are interactable objects throughout levels. The ObjectInteractable script triggers its public functions. The player can interact with a Warp Obelisk.prefab to go to Skyhub.unity or to set their spawnpoint
 CWindAbilityInfoThis is the info for the wind ability set made for the club fair build