|
- from gui_aux import *
- from gui_TextureDescription import *
- from llm import *
- from memory_Context import *
-
- # Generate textures descriptions
- #
- # Conditions:
- # 1. tileImage or tileImageCount or tileImageHeight or tileImageWidth has just changed
- # 2. tileImage, tileImageCount, tileImageHeight, tileImageWidth are not empty
- @llm_by_value
- def gui_generateTextureDescriptions(
- c: memory_Context
- ) -> memory_Context:
- if (
- c.recentField == "tileImage" or
- c.recentField == "tileImageCount" or
- c.recentField == "tileImageHeight" or
- c.recentField == "tileImageWidth"
- ):
- tds: list[gui_TextureDescription] = []
- for id in range(0, c.tileImageCount):
- td = gui_createTextureDescription()
- td.fileName = c.tileImage
- td.height = c.tileImageHeight
- td.width = c.tileImageWidth
- td.x = id * c.tileImageWidth
- td.y = 0
- tds.append(td)
- #}
- c.textureDescriptions = tds
- c.recentField = "textureDescriptions"
- return c
- #}
-
- c.recentField = "none"
- return c
- #}
-
- # Generate tile positions
- #
- # Conditions:
- # 1. cellSize, playField, windowHeight, or windowWidth has changed and none of them is zero
- @llm_by_value
- def gui_generateTilePositions(
- c: memory_Context
- ) -> memory_Context:
- if (
- (
- c.recentField != "cellSize" and
- c.recentField != "playfieldSize" and
- c.recentField != "windowHeight" and
- c.recentField != "windowWidth"
- ) or
- (
- c.cellSize == 0 or
- c.playfieldSize == 0 or
- c.windowHeight == 0 or
- c.windowWidth == 0
- )
- ):
- c.recentField = "none"
- return c
- #}
-
- positions = gui_aux_cellPositions(c.playfieldSize)
-
- ps = []
- for i in range(0, len(positions)):
- p = positions[i]
- x = p[0] * c.cellSize
- y = c.windowHeight - p[1] * c.cellSize
- ps.append([x, y])
- #}
-
- c.tilePositions = ps
- c.recentField = "tilePositions"
- return c
- #}
|