Package com.prineside.tdi2.systems
Class ExperienceSystem
java.lang.Object
com.prineside.tdi2.Registrable
com.prineside.tdi2.GameSystem
com.prineside.tdi2.systems.ExperienceSystem
- All Implemented Interfaces:
 Disposable,KryoSerializable
Manages XP received / lost by entities.
 Keeps track of XP changes and triggers TowerExperienceChange event once per frame per tower instead
 of doing so immediately, which reduces the amount of event triggers by up to 80% in the late game.
- 
Field Summary
Fields inherited from class com.prineside.tdi2.Registrable
S - 
Constructor Summary
Constructors - 
Method Summary
Modifier and TypeMethodDescriptionfloataddExperienceBuffed(Tower tower, float exp) Добавить опыт + бонусыvoidaddExperienceRaw(Tower tower, float exp) Дать опыт без учета бонусовbooleanvoidnotifyTowerLeveledUp(Tower tower) voidfloatremoveExperienceRaw(Tower tower, float exp) voidupdate(float deltaTime) voidupdateLevelExperience(Tower tower) voidvoidMethods inherited from class com.prineside.tdi2.GameSystem
dispose, getFastStateHash, postSetup, postStateRestore, profileUpdate, setupMethods inherited from class com.prineside.tdi2.Registrable
isRegistered, setRegistered, setUnregistered 
- 
Constructor Details
- 
ExperienceSystem
public ExperienceSystem() 
 - 
 - 
Method Details
- 
write
- Specified by:
 writein interfaceKryoSerializable- Overrides:
 writein classRegistrable
 - 
read
- Specified by:
 readin interfaceKryoSerializable- Overrides:
 readin classRegistrable
 - 
addExperienceRaw
Дать опыт без учета бонусов - 
addExperienceBuffed
Добавить опыт + бонусы- Parameters:
 exp- опыт без бонусов
 - 
removeExperienceRaw
- Returns:
 - количество опыта, которое было отнято (будет меньше exp, если уменьшение опыта приведет к уменьшению уровня)
 
 - 
updateLevelExperience
 - 
notifyTowerLeveledUp
 - 
update
public void update(float deltaTime) - Overrides:
 updatein classGameSystem
 - 
updateLevelExperienceOfEveryTower
public void updateLevelExperienceOfEveryTower() - 
affectsGameState
public boolean affectsGameState()- Specified by:
 affectsGameStatein classGameSystem
 - 
getSystemName
- Specified by:
 getSystemNamein classGameSystem
 
 -