User:AVS/Spellcasting

From VCMI Project Wiki
< User:AVS
Revision as of 08:21, 17 January 2013 by AVS (talk | contribs) (Common interface)
Jump to: navigation, search

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

  1. CSpellInfo - proxy class. Constructs from TSpell.
  • (+) more readable
  • (+) low coupling

OO design version

  1. CSpell -
  2. CSpellHandler
  • (+) current version
  • (-) higher coupling

GUI related interface

used by GUI

  • animation
  • sound
  • description for spellbook
  • icon for spellbook, scroll etc.

Server interface

used by server-side handlers

  • applying effects
    • do damage
    • set timed effects
    • adv map logic