summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrancesco Borzì <borzifrancesco@gmail.com>2020-07-24 20:12:32 +0200
committerGitHub <noreply@github.com>2020-07-24 20:12:32 +0200
commitde1d55510fd9782ef8be23260f5fcaa5d55198a6 (patch)
treef9aa3d5acce0063c48755af733aa8c0278a37750
parentc785209e1e1b1f52997814d229fddbc339567e61 (diff)
downloadwiki-de1d55510fd9782ef8be23260f5fcaa5d55198a6.tar.gz
wiki-de1d55510fd9782ef8be23260f5fcaa5d55198a6.tar.bz2
wiki-de1d55510fd9782ef8be23260f5fcaa5d55198a6.zip
Update keira3-internals.md
-rw-r--r--docs/keira3-internals.md10
1 files changed, 10 insertions, 0 deletions
diff --git a/docs/keira3-internals.md b/docs/keira3-internals.md
index c9636f3..ad0327b 100644
--- a/docs/keira3-internals.md
+++ b/docs/keira3-internals.md
@@ -138,3 +138,13 @@ In order to maximise code reuse, the following abstract classes have been create
- `SingleRowEditorComponent`: extends `EditorComponent`, base of all Single-row Editor Components (e.g. `CreatureTemplateComponent` extends this class);
- `MultiRowEditorComponent`: extends `EditorComponent`, base of all Multi-row Editor Components (e.g. `CreatureLootTemplateComponent` extends this class);
+### Handler
+
+Handlers are services responsible for holding statuses such as:
+
+- which entity has been selected (for example, when you select a Creature, the ID of the creature is kept inside the `CreatureHandlerService`)
+- which editors are left with unsaved changes
+
+Group of editors that refer to the same main entity should share **one Handler**. For example, all Creature Editors refer to the `CreatureHandlerService`, all Quest Editors refer to the `QuestHandlerService`, and so on...
+
+All Handlers classes extend the `HandlerService` abstract class.