d
This commit is contained in:
47
main.py
Normal file
47
main.py
Normal file
@@ -0,0 +1,47 @@
|
||||
import os
|
||||
import sys
|
||||
|
||||
SCRIPT_DIR = os.path.dirname(os.path.realpath(sys.argv[0]))
|
||||
|
||||
sys.path.append(f"{SCRIPT_DIR}/../cross-language-dialect/ctx")
|
||||
sys.path.append(f"{SCRIPT_DIR}/../cross-language-dialect/lib")
|
||||
sys.path.append(f"{SCRIPT_DIR}/py")
|
||||
|
||||
import arcade
|
||||
from cld import *
|
||||
from ctx import *
|
||||
from desktop_Platform import *
|
||||
from desktop_Window import *
|
||||
from ht_Context import *
|
||||
|
||||
ctrl = ctx_Controller(ht_createContext())
|
||||
ctrl.registerFunctions([
|
||||
])
|
||||
|
||||
def printDbg(c):
|
||||
print(f"Dbg key/value: '{c.recentField}'/'{c.field(c.recentField)}'")
|
||||
ctrl.registerCallback(printDbg)
|
||||
|
||||
p = desktop_Platform()
|
||||
p.ctrl = ctrl
|
||||
|
||||
# Bind platform to context changes.
|
||||
def process(c):
|
||||
# Copy context to platform.
|
||||
p.c = c
|
||||
# Perform context dependent calls of desktop functions.
|
||||
# Similar to context functions, but no platform is returned.
|
||||
### desktop_deselectMismatchedTiles(p)
|
||||
ctrl.registerCallback(process)
|
||||
|
||||
ctrl.set("windowWidth", 900)
|
||||
ctrl.set("windowHeight", 600)
|
||||
ctrl.set("windowAntialiasing", False)
|
||||
ctrl.set("windowBackgroundColor", "#ffffff")
|
||||
ctrl.set("windowTitle", "Прототип: Отель")
|
||||
|
||||
#desktop_loadTextures(p)
|
||||
|
||||
wnd = desktop_Window(p)
|
||||
ctrl.set("didLaunch", True)
|
||||
arcade.run()
|
||||
BIN
py/__pycache__/desktop_Platform.cpython-312.pyc
Normal file
BIN
py/__pycache__/desktop_Platform.cpython-312.pyc
Normal file
Binary file not shown.
BIN
py/__pycache__/desktop_Window.cpython-312.pyc
Normal file
BIN
py/__pycache__/desktop_Window.cpython-312.pyc
Normal file
Binary file not shown.
BIN
py/__pycache__/ht_Context.cpython-312.pyc
Normal file
BIN
py/__pycache__/ht_Context.cpython-312.pyc
Normal file
Binary file not shown.
9
py/desktop_Platform.py
Normal file
9
py/desktop_Platform.py
Normal file
@@ -0,0 +1,9 @@
|
||||
import arcade
|
||||
|
||||
class desktop_Platform:
|
||||
def __init__(self):
|
||||
self.c = None
|
||||
self.ctrl = None
|
||||
self.mousePosition = []
|
||||
self.dbgSprites = arcade.SpriteList()
|
||||
self.dbgTextures = []
|
||||
23
py/desktop_Window.py
Normal file
23
py/desktop_Window.py
Normal file
@@ -0,0 +1,23 @@
|
||||
import arcade
|
||||
|
||||
class desktop_Window(arcade.Window):
|
||||
def __init__(self, p):
|
||||
super().__init__(
|
||||
p.c.windowWidth,
|
||||
p.c.windowHeight,
|
||||
p.c.windowTitle,
|
||||
)
|
||||
self.antialiasing = p.c.windowAntialiasing
|
||||
self.background_color = arcade.color_from_hex_string(p.c.windowBackgroundColor)
|
||||
self.p = p
|
||||
|
||||
def on_draw(self):
|
||||
arcade.start_render()
|
||||
self.p.dbgSprites.draw()
|
||||
|
||||
def on_mouse_press(self, x, y, button, key_modifiers):
|
||||
print("mouse press:", x, y)
|
||||
pass
|
||||
|
||||
def on_update(self, delta):
|
||||
pass
|
||||
17
py/ht_Context.py
Normal file
17
py/ht_Context.py
Normal file
@@ -0,0 +1,17 @@
|
||||
class ht_Context:
|
||||
def __init__(self):
|
||||
self.didLaunch = False
|
||||
self.recentField = "none"
|
||||
self.windowBackgroundColor = "#000000"
|
||||
self.windowHeight = 0
|
||||
self.windowTitle = ""
|
||||
self.windowWidth = 0
|
||||
|
||||
def field(self, fieldName):
|
||||
return getattr(self, fieldName)
|
||||
|
||||
def setField(self, fieldName, value):
|
||||
setattr(self, fieldName, value)
|
||||
|
||||
def ht_createContext():
|
||||
return ht_Context()
|
||||
Reference in New Issue
Block a user