-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Creating Plugins
andburn edited this page Jul 14, 2015
·
25 revisions
(v0.10.0+, plugins are still a work in progress)
- Create new Class Library
- Add a reference to
Hearthstone Deck Tracker.exe
- Implement Plugins.IPlugin (you can have multiple plugins in a single library)
- ?
- Profit. (Also: place "YourPlugin.dll" in HDT/Plugins or a subfolder of that)
If you want to set the build path directly to HDT/Plugins(/YourPlugin), make sure to set the "Copy Local" property of the System.Windows.Interactivity
reference in your project to "False".
-
ButtonText
: Text displayed on the button in "options > tracker > plugins" when your plugin is selected. -
MenuItem
: The MenuItem added to the "Plugins" main menu. Return null to not add one. -
OnUpdate()
: Currently called every ~100ms.
-
API.GameEvents
: All sorts of draw, play, game start/end events. -
API.DeckManagerEvents
: Events related to deck creation, deletion, etc. - These will be more added over time.
- Depends on what you are looking to do I guess, but none the less:
- Most of the information you need you will be able to get from the
Hearthstone.Game
class. -
Hearthstone.Game.Entities
has information about everything in a game, from card locations (hand, board) to health and what card a card was last affected by. You may want to have a look atEnums.Hearthstone.GAME_TAG
for this. - The Debug Window: access via
options > tracker > logging > debugwindow
(you may have to enableshow log
inoptions > tracker > settings
). This window displays the properties ofGame
and contents ofGame.Entities
live.
- A simple plugin to help you get started is available here. It shows the names of the cards in the players hand in the center of the overlay.
- General
- Plugins
- Web importing