78 lines
2.3 KiB
Python
78 lines
2.3 KiB
Python
|
|
# -*- coding: utf-8 -*-
|
||
|
|
import mod.client.extraClientApi as clientApi
|
||
|
|
|
||
|
|
from . import IPCSystem, Lifecycle
|
||
|
|
from .Config import DEBUG_CONFIG
|
||
|
|
from .Game import (
|
||
|
|
INIT_RELOAD_TIME,
|
||
|
|
RELOAD_ADDON,
|
||
|
|
RELOAD_MOD,
|
||
|
|
RELOAD_SHADERS,
|
||
|
|
RELOAD_WORLD,
|
||
|
|
)
|
||
|
|
|
||
|
|
|
||
|
|
ClientSystem = clientApi.GetClientSystemCls()
|
||
|
|
ENGINE_NAMESPACE = clientApi.GetEngineNamespace()
|
||
|
|
ENGINE_SYSTEM_NAME = clientApi.GetEngineSystemName()
|
||
|
|
|
||
|
|
|
||
|
|
class DebugClientSystem(ClientSystem):
|
||
|
|
def __init__(self, namespace, system_name):
|
||
|
|
ClientSystem.__init__(self, namespace, system_name)
|
||
|
|
self._initialized = False
|
||
|
|
self._listening = False
|
||
|
|
|
||
|
|
def Update(self):
|
||
|
|
if not self._initialized:
|
||
|
|
Lifecycle.activate(self)
|
||
|
|
IPCSystem.ON_CLIENT_INIT()
|
||
|
|
self.ListenForEvent(
|
||
|
|
ENGINE_NAMESPACE,
|
||
|
|
ENGINE_SYSTEM_NAME,
|
||
|
|
"OnKeyPressInGame",
|
||
|
|
self,
|
||
|
|
self.on_key_press_in_game,
|
||
|
|
)
|
||
|
|
self._listening = True
|
||
|
|
self._initialized = True
|
||
|
|
INIT_RELOAD_TIME()
|
||
|
|
IPCSystem.UPDATE_CLIENT()
|
||
|
|
return ClientSystem.Update(self)
|
||
|
|
|
||
|
|
def Destroy(self):
|
||
|
|
try:
|
||
|
|
if self._listening:
|
||
|
|
self.UnListenForEvent(
|
||
|
|
ENGINE_NAMESPACE,
|
||
|
|
ENGINE_SYSTEM_NAME,
|
||
|
|
"OnKeyPressInGame",
|
||
|
|
self,
|
||
|
|
self.on_key_press_in_game,
|
||
|
|
)
|
||
|
|
self._listening = False
|
||
|
|
finally:
|
||
|
|
try:
|
||
|
|
IPCSystem.ON_CLIENT_EXIT()
|
||
|
|
finally:
|
||
|
|
self._initialized = False
|
||
|
|
Lifecycle.deactivate(self)
|
||
|
|
|
||
|
|
def on_key_press_in_game(self, args):
|
||
|
|
if args["isDown"] != "0":
|
||
|
|
return
|
||
|
|
if args["screenName"] != "hud_screen" and not DEBUG_CONFIG.get(
|
||
|
|
"reload_key_global", False
|
||
|
|
):
|
||
|
|
return
|
||
|
|
|
||
|
|
key = args["key"]
|
||
|
|
if key == str(DEBUG_CONFIG.get("reload_key", "82")):
|
||
|
|
RELOAD_MOD()
|
||
|
|
elif key == str(DEBUG_CONFIG.get("reload_world_key", "")):
|
||
|
|
RELOAD_WORLD()
|
||
|
|
elif key == str(DEBUG_CONFIG.get("reload_addon_key", "")):
|
||
|
|
RELOAD_ADDON()
|
||
|
|
elif key == str(DEBUG_CONFIG.get("reload_shaders_key", "")):
|
||
|
|
RELOAD_SHADERS()
|