How viable does this look?
An experience and leveling system
Create a BluePrint Interface BPI_Exp
Functions to create.
GetCurrentExperience
Output Experience (Integer)
GetMaxExperience
Output MaxExerience (Integer)
Experience
Input ExpAmount (Integer)
Output NewExperience (Integer)
GainExperience
Input ExperienceInfo (St_ExpInfo)
Output GainExperience (boolean)
GetCurrentLevel
Output: CurrentLevel (Integer)
Create Structure
St_ExpInfo
Inputs
Amount (Integer)
ExpType (E_ExperienceType)
Create Enumeration
E_ExperienceType
Inputs
None
EnemyExp
QuestExp
BonusExp
Create BluePrint Actor Component BPC_Exp
Functions
Experience
GainExperience
Variables
Experience (integer)
MaxExperience (Integer)
Current Level (Integer)
Add interface to BP_Player
In interfaces
GetCurrentExperience
Get BPC_ExperienceSystem - Target Experience - Return Node
GetMaxExperience
Get BPC_ExperienceSystem - Target MaxHealth - Return Node
Experience
Get BPC_Exp - call function Experience - Return Node
GainExperience
Get BPC_Exp - call function GainExperience - Return Node
GetCurrentLevel
Get BPC_Exp - Get CurrentLevel - Return Node
Event Dispatcher for Gain Exp / Level Up
In BPC_Exp
Create Event Dispatcher OnGainExp
Inputs
AmountGained (Integer),
LeveledUp (Boolean)
NewLevel (Integer)
BP_Player
Look good?