Difference between revisions of "User:AVS/Spellcasting"
From VCMI Project Wiki
< User:AVS
(→GUI related interface) |
(→OO design version with proxy) |
||
Line 35: | Line 35: | ||
# SpellView - proxy class. Header file public. | # SpellView - proxy class. Header file public. | ||
− | |||
# SpellViewHandler - singleton class (hidden) Header file private: used only by implementation of SpellView and CGI. | # SpellViewHandler - singleton class (hidden) Header file private: used only by implementation of SpellView and CGI. | ||
Revision as of 08:32, 17 January 2013
Contents
Common interface
Used by GUI, AI, (?) Server. Readonly.
Service-oriented design version
Use singleton Handler and methods accepion TSpell as first parameter.
- (+) script-frendly
- (+) low coupling
OO design version with proxy
- CSpellInfo - proxy class. Constructs from TSpell.
- (+) more readable
- (+) low coupling
OO design version
- CSpell -
- CSpellHandler
- (+) current version
- (-) higher coupling
used by GUI
- animation
- sound
- description for spellbook
- icon for spellbook, scroll etc.
OO design version with proxy
- SpellView - proxy class. Header file public.
- SpellViewHandler - singleton class (hidden) Header file private: used only by implementation of SpellView and CGI.
Server interface
used by server-side handlers
- applying effects
- do damage
- set timed effects
- adv map logic