Links

Skills

Contains the logic of handling all skill related actions like unlocking, executing.

Implementation

public class Skills : GlobalID, IGameSave

Inheritance

MonoBehaviour --> GlobalID --> Skills
IGameSave --> Skills

Classes

Name
Description
Contains the values for a saved skill
Contains an array of saved skills
EventArgs
Contains the arguments for generating an OnChangeSkill event
Event class that is fired when activating a skill
Event class that is fired when resetting all skills

Fields

Name
Description
SKILLS
Dictionary containing all skills
SKILLSSETTINGS
Contains the skills settings
skillsList
List containing all skills
MSG_ERROR_LEVELNOTASSIGNED
Constant string indicating the level has not been assigned
MSG_ERROR_SKILLPOINTSNOTASSIGNED
Constant string indicating the skill points have not been assigned
MSG_ERROR_STATSCOMPONENTNOTASSIGNED
Constant string indicating the stats component has not been assigned
useSkillBar
Checkbox to define whether the to use the skill bar feature or not
skillBarElements
Reference to the skill bar gameobject
saveSkills
Checkbox to define whether to save the skills or not
skillBarConfigurationModeOn
Boolean variable to indicate whether the skill bar configuration mode is active
skillTreeWindowOpen
Boolean variable to indicate whether the skill tree window is open
skillTreeUIManager
Reference to the skill tree ui manager component
onChangeSkill
Action to be executed when a skill is changed
eventOnActivateStart
Event for subscribing to when the activation phase starts
eventOnActivateEnd
Event for subscribing to when the activation phase ends
eventOnCastStart
Event for subscribing to when the casting phase starts
eventOnCastEnd
Event for subscribing to when the casting phase ends
eventOnExecuteStart
Event for subscribing to when the execution phase starts
eventOnExecuteEnd
Event for subscribing to when the execution phase ends
eventOnFinishingStart
Event for subscribing to when the finish phase starts
eventOnFinishingEnd
Event for subscribing to when the finish phase ends
eventSkillsReset

Methods

Name
Description
Awake()
Awake is called when the script instance is being loaded
Start()
Initializes the events, skills and save/load functionality
OnDestroy()
Called when the gameobject is deleted
GetSkillsDictionary()
Returns the skills dictionary
GetSkillPoints()
Returns the amount of skill points
GetLevel()
Returns the level
GetSkill(int)
Returns a skill by uuid
GetSkills()
Returns a list of all skills
GetSkillID(int)
Returns the uuid of a skill by uuid
GetSkillState(int)
Returns the state of a skill
GetSkillLockedState(int, Skill.SkillState)
Returns a boolean indicating whether the skill is locked or not
GetSkillExecutionState(SkillAsset)
Returns a boolean indicating whether the skill is currently executing or not
LockSkill(SkillAsset, [bool])
Locks a skill
UnlockSkill(SkillAsset, [bool])
Unlocks a skill
UpdateSkillState(int, SkillSkillState)
Updates the state of a skill
CheckSkillRequirements(SkillAsset)
Returns a boolean indicating whether a skill passes the requirements
CheckSkillLevel(SkillAsset)
Checks the level of a skill
CheckSkillReliesOnSkills(SkillAsset)
Checks the relying skills of a skill
CheckSkillOtherConditions(SkillAsset)
Checks the other conditions of a skill
CheckSkillSkillPoints(SkillAsset)
Checks the skill points of a skill
ExecuteSkill(SkillHolder)
Executes a skill
ExecuteSkill(SkillAsset)
Executes a skill
ExecuteSkillPermanent(int uuid)
Executes a permanent skill
ExecuteStartActivationPhase(SkillAsset)
Starts the activation phase of a skill
ExecuteEndActivationPhase(SkillAsset)
Ends the activation phase of a skill
ExecuteStartCastPhase(SkillAsset)
Starts the cast phase of a skill
ExecuteEndCastPhase(SkillAsset)
Ends the cast phase of a skill
ExecuteStartExecutionPhase(SkillAsset)
Starts the execution phase of a skill
ExecuteEndExecutionPhase(SkillAsset)
Ends the execution phase of a skill
ExecuteStartFinishPhase(SkillAsset)
Starts the finish phase of a skill
ExecuteEndFinishPhase(SkillAsset)
Ends the finish phase of a skill
StartCooldown(SkillAsset)
Starts the cooldown process of a skill
StartCooldownStored(SkillAsset)
Starts the cooldown process of a stored skill
StopCooldown(SkillAsset)
Ends the cooldown process of a skill
CancelExecutingSkillBar(SkillAsset)
Cancels the execution phase of a skill in the skill bar
UpdateSkillBar(SkillAsset)
Updates the skill bar for a skill
CancelExecutingSkill(SkillAsset, [bool], [bool])
Cancels an executing skill
CancelExecutingSkill(SkillHolder, [bool], [bool])
Cancels an executing skill
CancelExecutingSkills([bool], [bool])
Cancels all executing skills
ResetAllSkills()
Resets all skills
ResetSkill(SkillAsset)
Resets a skill
ResetSkill(SkillHolder)
Resets a skill
SyncSkillBarSkills(SkillBarSkillTreeElement, SkillAsset)
Sync the skills with the skill bar
ChangeSkillType(SkillHolder, int)
Changes the type of a skill
ChangeSkillExecutionSettings(SkillHolder, float, float, float, float, float, float)
Changes the skill execution settings of a skill
ResetPhaseProperties()
Resets the phase properties
FireResetSkillsEvent()
Invokes the reset skills event
AddOnChangeSkill(Action<EventArgs>)
Adds an on change skill callback
RemoveOnChangeSkill(Action<EventArgs>)
Removes an on change skill callback
UpdateSkillsList()
Updates the skills list
RequireInit([bool])
Initializes the skills settings

Properties

Name
Description
Boolean value indicating if a skill is being activated
Boolean value indicating if a skill is being casted
Boolean value indicating if a non-permanent skill is being executed
Boolean value indicating if a skill is being finished
Last modified 4mo ago