I have updates sources on GitHub.
I have refactored EffectManagerComponent to not be dependent on actor to which it is attached (as it should be from the start).
It is still somewhat depedant on URPGEffectBase (and vice versa), I don’t know if or how to break that dependency since, essential task of Effect is to modify actor it is affecting.
I also refactored quite a bit of properties, and changed them to protected or private, and instead added functions that modify them. Like Add, Remove, Set, Get, Subtract etc. It is on going process, and eventually I will strip all public access to fields that are not UPROPERTY (and in some cases UPROPERTY will be protected for sake of sanity).
Also. All types of Power types are now perform basic task of… casting!
Powers are subclassed based on how they are casted. Like CastTime, CastTimeCharged, ChargedChanneled, Instant etc.
Each of them override basic events, to perform correct casting behavior, and subtraction of resources needed for casting.
Resource subtraction is not implemented yet. I have not decided how i exactly I want to do it, although basic implementation is fairly simple, if anyone want it right now.
I also added some helper functions to use in Blueprints for effects. Like getting current amount of Effects per type on target character, temporarily subtracting health (after set amount of time subtracted amount of health is returned to character).
Sorry still no video, but beyond walking blue character with box attached to head, that shoot other boxes, there is not much to show right now.
Once I get some fancy UI going on that is able to show numbers in visible manner, I will add video!
Another thing, to do would be to add some animation handling to effects and powers, so they can apply animations to actors.