Components, components everywhere #56

Merged
NorbiPeti merged 7 commits from dev into master 2019-01-20 21:36:56 +00:00

7 commits

Author SHA1 Message Date
Norbi Peti 2beb6662ea
Added a getter
And a TODO
2019-01-17 22:13:13 +01:00
Norbi Peti cbbb5572b8
Fixed data reloading
And string data caching
2019-01-17 13:39:53 +01:00
Norbi Peti 788c2e8a87
Components, components everywhere
Channel disable is respected everywhere
Some fixes
Components can be enabled/disabled/listed at runtime
Made RTP a component
Made  e v e r y t h i n g  a component
Made  e v e r y t h i n g  configurable
The plugin list is no longer written by default
#48
2019-01-12 22:26:08 +01:00
Norbi Peti 1b152d8b4e
Put channels in a component
Using the per-component AddCommand method
CommandComponent got removed, no need for that
Made channel properties configurable (DisplayName, Color)
Made configs testable, it will only use the cached value in that case
This was needed so channel registering continue to work during testing
Made channels possible to disable (WIP)
#48
2019-01-12 00:27:55 +01:00
Norbi Peti a6d1122f7f
Some command improvements
Removing commands on component/plugin disable
2019-01-11 00:41:26 +01:00
Norbi Peti 245f6bbf59
Lots of config improvements
Removed redundant delegate methods by making the methods non-static
Automatically saving config option to the yaml model when it's accessed for the first time
Automatically saving yaml config on component/plugin disable
Automatically resetting config cache on plugin/component disable
Caching the config values so reading is cheaper (it still writes through)
Correctly handling (non-)primitive types in configs
Allowing to set either a primitive or non-primitive default value and the other is obtained from the provided value
#48
2019-01-10 01:34:38 +01:00
Norbi Peti bb31f4e378
Exclude plugins from syschat event 2019-01-09 18:52:24 +01:00