🚧 [WIP/TEST] Model : Overlayの処理からasyncを削除
This commit is contained in:
@@ -167,21 +167,18 @@ class Overlay:
|
|||||||
else:
|
else:
|
||||||
self.updateTransparency()
|
self.updateTransparency()
|
||||||
|
|
||||||
async def mainloop(self):
|
def mainloop(self):
|
||||||
while self.checkActive() is True:
|
while self.checkActive() is True:
|
||||||
startTime = time.monotonic()
|
startTime = time.monotonic()
|
||||||
self.update()
|
self.update()
|
||||||
sleepTime = (1 / 60) - (time.monotonic() - startTime)
|
sleepTime = (1 / 60) - (time.monotonic() - startTime)
|
||||||
if sleepTime > 0:
|
if sleepTime > 0:
|
||||||
await asyncio.sleep(sleepTime)
|
time.sleep(sleepTime)
|
||||||
|
|
||||||
async def initMain(self):
|
|
||||||
await self.mainloop()
|
|
||||||
|
|
||||||
def main(self):
|
def main(self):
|
||||||
self.init()
|
self.init()
|
||||||
if self.initialized is True:
|
if self.initialized is True:
|
||||||
asyncio.run(self.initMain())
|
self.mainloop()
|
||||||
|
|
||||||
def startOverlay(self):
|
def startOverlay(self):
|
||||||
self.thread_overlay = Thread(target=self.main)
|
self.thread_overlay = Thread(target=self.main)
|
||||||
@@ -191,10 +188,13 @@ class Overlay:
|
|||||||
def shutdown(self):
|
def shutdown(self):
|
||||||
if self.thread_overlay is not None:
|
if self.thread_overlay is not None:
|
||||||
ctypes.pythonapi.PyThreadState_SetAsyncExc(ctypes.c_long(self.thread_overlay.ident), ctypes.py_object(SystemExit))
|
ctypes.pythonapi.PyThreadState_SetAsyncExc(ctypes.c_long(self.thread_overlay.ident), ctypes.py_object(SystemExit))
|
||||||
|
self.thread_overlay = None
|
||||||
if self.overlay is not None:
|
if self.overlay is not None:
|
||||||
self.overlay.destroyOverlay(self.handle)
|
self.overlay.destroyOverlay(self.handle)
|
||||||
|
self.overlay = None
|
||||||
if self.system is not None:
|
if self.system is not None:
|
||||||
openvr.shutdown()
|
openvr.shutdown()
|
||||||
|
self.system = None
|
||||||
self.initialized = False
|
self.initialized = False
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
|||||||
Reference in New Issue
Block a user