Add stop_task kwarg to help Script delete-on-stop. Resolve #2455.
This commit is contained in:
parent
a504c1a143
commit
ecd4307a87
2 changed files with 13 additions and 3 deletions
|
|
@ -74,6 +74,8 @@ Up requirements to Django 3.2+
|
||||||
accepting `*args`, as `settings.EXTRA_LAUNCHER_COMMANDS = {'mycmd': 'path.to.callable', ...}`.
|
accepting `*args`, as `settings.EXTRA_LAUNCHER_COMMANDS = {'mycmd': 'path.to.callable', ...}`.
|
||||||
- New `XYZGrid` contrib, adding x,y,z grid coordinates with in-game map and
|
- New `XYZGrid` contrib, adding x,y,z grid coordinates with in-game map and
|
||||||
pathfinding. Controlled outside of the game via custom evennia launcher command.
|
pathfinding. Controlled outside of the game via custom evennia launcher command.
|
||||||
|
- `Script.delete` has new kwarg `stop_task=True`, that can be used to avoid
|
||||||
|
infinite recursion when wanting to set up Script to delete-on-stop.
|
||||||
|
|
||||||
### Evennia 0.9.5 (2019-2020)
|
### Evennia 0.9.5 (2019-2020)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -436,11 +436,19 @@ class ScriptBase(ScriptDB, metaclass=TypeclassBase):
|
||||||
# autostart the script
|
# autostart the script
|
||||||
self._start_task(force_restart=True)
|
self._start_task(force_restart=True)
|
||||||
|
|
||||||
def delete(self):
|
def delete(self, stop_task=True):
|
||||||
"""
|
"""
|
||||||
Delete the Script. Makes sure to stop any timer tasks first.
|
Delete the Script. Normally stops any timer task. This fires at_script_delete before
|
||||||
|
deletion.
|
||||||
|
|
||||||
|
Args:
|
||||||
|
stop_task (bool, optional): If unset, the task will not be stopped
|
||||||
|
when this method is called. The main reason for setting this to False
|
||||||
|
is if wanting to delete the script from the at_stop method - setting
|
||||||
|
this will then avoid an infinite recursion.
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
if stop_task:
|
||||||
self._stop_task()
|
self._stop_task()
|
||||||
self.at_script_delete()
|
self.at_script_delete()
|
||||||
super().delete()
|
super().delete()
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue