batframework 1.0.8a1__py3-none-any.whl → 1.0.8a2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- batFramework/__init__.py +50 -53
- batFramework/action.py +105 -116
- batFramework/actionContainer.py +11 -53
- batFramework/animatedSprite.py +65 -115
- batFramework/audioManager.py +26 -70
- batFramework/camera.py +68 -253
- batFramework/constants.py +54 -16
- batFramework/cutscene.py +25 -34
- batFramework/cutsceneBlocks.py +42 -37
- batFramework/debugger.py +48 -0
- batFramework/dynamicEntity.py +7 -9
- batFramework/easing.py +71 -0
- batFramework/entity.py +98 -42
- batFramework/gui/__init__.py +2 -8
- batFramework/gui/button.py +79 -7
- batFramework/gui/constraints.py +204 -0
- batFramework/gui/container.py +31 -155
- batFramework/gui/debugger.py +43 -124
- batFramework/gui/frame.py +19 -0
- batFramework/gui/image.py +17 -41
- batFramework/gui/indicator.py +21 -41
- batFramework/gui/interactiveWidget.py +13 -116
- batFramework/gui/label.py +73 -278
- batFramework/gui/layout.py +61 -148
- batFramework/gui/root.py +37 -102
- batFramework/gui/shape.py +57 -258
- batFramework/gui/toggle.py +46 -97
- batFramework/gui/widget.py +254 -268
- batFramework/manager.py +19 -40
- batFramework/particles.py +77 -0
- batFramework/scene.py +107 -214
- batFramework/sceneManager.py +107 -150
- batFramework/stateMachine.py +0 -1
- batFramework/time.py +57 -117
- batFramework/transition.py +126 -184
- batFramework/transitionManager.py +0 -0
- batFramework/utils.py +161 -34
- batframework-1.0.8a2.dist-info/METADATA +58 -0
- batframework-1.0.8a2.dist-info/RECORD +42 -0
- {batframework-1.0.8a1.dist-info → batframework-1.0.8a2.dist-info}/WHEEL +1 -1
- batFramework/easingController.py +0 -58
- batFramework/enums.py +0 -104
- batFramework/fontManager.py +0 -65
- batFramework/gui/clickableWidget.py +0 -206
- batFramework/gui/constraints/__init__.py +0 -1
- batFramework/gui/constraints/constraints.py +0 -378
- batFramework/gui/dialogueBox.py +0 -96
- batFramework/gui/draggableWidget.py +0 -38
- batFramework/gui/meter.py +0 -76
- batFramework/gui/radioButton.py +0 -62
- batFramework/gui/slider.py +0 -220
- batFramework/gui/textInput.py +0 -134
- batFramework/object.py +0 -115
- batFramework/particle.py +0 -101
- batFramework/renderGroup.py +0 -62
- batFramework/resourceManager.py +0 -84
- batFramework/scrollingSprite.py +0 -113
- batFramework/sprite.py +0 -45
- batFramework/tileset.py +0 -46
- batframework-1.0.8a1.dist-info/LICENCE +0 -21
- batframework-1.0.8a1.dist-info/METADATA +0 -55
- batframework-1.0.8a1.dist-info/RECORD +0 -56
- {batframework-1.0.8a1.dist-info → batframework-1.0.8a2.dist-info}/top_level.txt +0 -0
batFramework/resourceManager.py
DELETED
@@ -1,84 +0,0 @@
|
|
1
|
-
import batFramework as bf
|
2
|
-
import os
|
3
|
-
import pygame
|
4
|
-
import sys
|
5
|
-
import json
|
6
|
-
from .utils import Singleton
|
7
|
-
|
8
|
-
if getattr(sys, "frozen", False):
|
9
|
-
# If the application is run as a bundle, the PyInstaller bootloader
|
10
|
-
# extends the sys module by a flag frozen=True and sets the app
|
11
|
-
# path into variable _MEIPASS'.
|
12
|
-
application_path = sys._MEIPASS
|
13
|
-
else:
|
14
|
-
application_path = os.getcwd()
|
15
|
-
|
16
|
-
|
17
|
-
class ResourceManager(metaclass=Singleton):
|
18
|
-
def __init__(self):
|
19
|
-
self.convert_image_cache = {}
|
20
|
-
self.convert_alpha_image_cache = {}
|
21
|
-
self.sound_cache = {}
|
22
|
-
self.RESOURCE_PATH = "."
|
23
|
-
|
24
|
-
def load_dir(self, path) -> None:
|
25
|
-
for root, dirs, files in os.walk(path):
|
26
|
-
files = [f for f in files if not f[0] == "."]
|
27
|
-
dirs[:] = [d for d in dirs if not d[0] == "."]
|
28
|
-
|
29
|
-
for file in files:
|
30
|
-
file_path = os.path.join(root, file)
|
31
|
-
if file.lower().endswith((".png", ".jpg", ".jpeg", ".gif")):
|
32
|
-
self.load_image(file_path)
|
33
|
-
# print(f"Loaded image : '{file_path}'")
|
34
|
-
|
35
|
-
elif file.lower().endswith((".mp3", ".wav")):
|
36
|
-
bf.AudioManager().load_sound(file.lower().split(".")[0], file_path)
|
37
|
-
# print(f"Loaded sound : '{file_path}'")
|
38
|
-
|
39
|
-
elif file.lower().endswith((".ttf", ".otf")):
|
40
|
-
bf.FontManager().load_font(file_path, file.lower().split(".")[0])
|
41
|
-
# print(f"Loaded font : '{file_path}'")
|
42
|
-
|
43
|
-
print(f"Loaded resources in directory : '{path}'")
|
44
|
-
|
45
|
-
def set_resource_path(self, path: str):
|
46
|
-
self.RESOURCE_PATH = os.path.join(application_path, path)
|
47
|
-
print(f"Resource path : '{self.RESOURCE_PATH}'")
|
48
|
-
|
49
|
-
def get_path(self, path: str) -> str:
|
50
|
-
# Normalize path separators
|
51
|
-
normalized_path = path.replace("/", os.sep).replace("\\", os.sep)
|
52
|
-
return os.path.join(self.RESOURCE_PATH, normalized_path)
|
53
|
-
|
54
|
-
def load_image(self, path) -> None:
|
55
|
-
key = self.get_path(path)
|
56
|
-
if key in self.convert_image_cache:
|
57
|
-
return
|
58
|
-
self.convert_image_cache[key] = pygame.image.load(path).convert()
|
59
|
-
self.convert_alpha_image_cache[key] = pygame.image.load(path).convert_alpha()
|
60
|
-
|
61
|
-
def get_image(self, path, convert_alpha: bool = False) -> pygame.Surface | None:
|
62
|
-
key = self.get_path(path)
|
63
|
-
return (
|
64
|
-
self.convert_alpha_image_cache.get(key, None)
|
65
|
-
if convert_alpha
|
66
|
-
else self.convert_image_cache.get(key, None)
|
67
|
-
)
|
68
|
-
|
69
|
-
def load_json_from_file(self, path: str) -> dict | None:
|
70
|
-
try:
|
71
|
-
with open(self.get_path(path), "r") as file:
|
72
|
-
data = json.load(file)
|
73
|
-
return data
|
74
|
-
except FileNotFoundError:
|
75
|
-
print(f"File '{path}' not found")
|
76
|
-
return None
|
77
|
-
|
78
|
-
def save_json_to_file(self, path: str, data) -> bool:
|
79
|
-
try:
|
80
|
-
with open(self.get_path(path), "w") as file:
|
81
|
-
json.dump(data, file, indent=2)
|
82
|
-
return True
|
83
|
-
except FileNotFoundError:
|
84
|
-
return False
|
batFramework/scrollingSprite.py
DELETED
@@ -1,113 +0,0 @@
|
|
1
|
-
from typing import Self, Iterator
|
2
|
-
from pygame.math import Vector2
|
3
|
-
import batFramework as bf
|
4
|
-
import pygame
|
5
|
-
|
6
|
-
|
7
|
-
class ScrollingSprite(bf.Sprite):
|
8
|
-
def __init__(
|
9
|
-
self,
|
10
|
-
data: pygame.Surface | str,
|
11
|
-
size: None | tuple[int, int] = None,
|
12
|
-
convert_alpha: bool = True,
|
13
|
-
):
|
14
|
-
self.scroll_value = Vector2(0, 0)
|
15
|
-
self.auto_scroll = Vector2(0, 0)
|
16
|
-
|
17
|
-
# Use integer values for the starting points, converted from floating point scroll values
|
18
|
-
|
19
|
-
super().__init__(data, size, convert_alpha)
|
20
|
-
self.original_width, self.original_height = self.original_surface.get_size()
|
21
|
-
|
22
|
-
def get_debug_outlines(self):
|
23
|
-
yield from super().get_debug_outlines()
|
24
|
-
for r in self._get_mosaic_rect_list():
|
25
|
-
yield r.move(*self.rect.topleft)
|
26
|
-
|
27
|
-
def set_image(
|
28
|
-
self, data: pygame.Surface | str, size: None | tuple[int, int] = None
|
29
|
-
) -> Self:
|
30
|
-
super().set_image(data, size)
|
31
|
-
self.original_width, self.original_height = self.original_surface.get_size()
|
32
|
-
return self
|
33
|
-
|
34
|
-
def set_autoscroll(self, x: float, y: float) -> Self:
|
35
|
-
self.auto_scroll.update(x, y)
|
36
|
-
return self
|
37
|
-
|
38
|
-
def set_scroll(self, x: float = None, y: float = None) -> Self:
|
39
|
-
self.scroll_value.update(
|
40
|
-
x if x else self.scroll_value.x, y if y else self.scroll_value.y
|
41
|
-
)
|
42
|
-
return self
|
43
|
-
|
44
|
-
def scroll(self, x: float, y: float) -> Self:
|
45
|
-
self.scroll_value += x, y
|
46
|
-
return self
|
47
|
-
|
48
|
-
def update(self, dt: float) -> None:
|
49
|
-
if self.auto_scroll:
|
50
|
-
self.scroll(*self.auto_scroll * dt)
|
51
|
-
original_width, original_height = self.original_surface.get_size()
|
52
|
-
|
53
|
-
# Use integer values for the starting points, converted from floating point scroll values
|
54
|
-
|
55
|
-
if self.scroll_value.x > self.original_width:
|
56
|
-
self.scroll_value.x -= self.original_width
|
57
|
-
if self.scroll_value.y > self.original_height:
|
58
|
-
self.scroll_value.y -= self.original_height
|
59
|
-
|
60
|
-
super().update(dt)
|
61
|
-
|
62
|
-
def set_size(self, size: tuple[int | None, int | None]) -> Self:
|
63
|
-
size = list(size)
|
64
|
-
if size[0] is None: size[0] = self.rect.w
|
65
|
-
if size[1] is None: size[1] = self.rect.h
|
66
|
-
|
67
|
-
self.surface = pygame.Surface(size).convert_alpha()
|
68
|
-
self.rect = self.surface.get_frect(center=self.rect.center)
|
69
|
-
return self
|
70
|
-
|
71
|
-
def _get_mosaic_rect_list(self) -> Iterator[pygame.Rect]:
|
72
|
-
# Use integer values for the starting points, converted from floating point scroll values
|
73
|
-
start_x = int(self.scroll_value.x % self.original_width)
|
74
|
-
start_y = int(self.scroll_value.y % self.original_height)
|
75
|
-
|
76
|
-
# Adjust start_x and start_y to begin tiling off-screen to the top-left, covering all visible area
|
77
|
-
if start_x != 0:
|
78
|
-
start_x -= self.original_width
|
79
|
-
if start_y != 0:
|
80
|
-
start_y -= self.original_height
|
81
|
-
|
82
|
-
# Set the region in which to tile
|
83
|
-
end_x = self.rect.w
|
84
|
-
end_y = self.rect.h
|
85
|
-
|
86
|
-
# Starting y_position for the inner loop
|
87
|
-
y_position = start_y
|
88
|
-
|
89
|
-
# if self.rect.w-1 < self.scroll_value.x < self.rect.w+1 : print(self.scroll_value.x,int(self.scroll_value.x % self.rect.w),start_x,self.rect.w,original_width)
|
90
|
-
# Generate all necessary rectangles
|
91
|
-
x = start_x
|
92
|
-
while x < end_x:
|
93
|
-
y = y_position
|
94
|
-
while y < end_y:
|
95
|
-
yield pygame.Rect(x, y, self.original_width, self.original_height)
|
96
|
-
y += self.original_height
|
97
|
-
x += self.original_width
|
98
|
-
return self
|
99
|
-
|
100
|
-
def draw(self, camera: bf.Camera) -> int:
|
101
|
-
if not (
|
102
|
-
self.visible
|
103
|
-
and (self.surface is not None)
|
104
|
-
and camera.rect.colliderect(self.rect)
|
105
|
-
):
|
106
|
-
return 0
|
107
|
-
self.surface.fill((0, 0, 0, 0))
|
108
|
-
self.surface.fblits(
|
109
|
-
[(self.original_surface, r) for r in self._get_mosaic_rect_list()]
|
110
|
-
)
|
111
|
-
# pygame.draw.rect(camera.surface,"green",next(self._get_mosaic_rect_list()).move(*self.rect.topleft),1)
|
112
|
-
camera.surface.blit(self.surface, camera.world_to_screen(self.rect))
|
113
|
-
return 1
|
batFramework/sprite.py
DELETED
@@ -1,45 +0,0 @@
|
|
1
|
-
import batFramework as bf
|
2
|
-
import pygame
|
3
|
-
from typing import Self
|
4
|
-
|
5
|
-
|
6
|
-
class Sprite(bf.Entity):
|
7
|
-
def __init__(
|
8
|
-
self,
|
9
|
-
path=None,
|
10
|
-
size: None | tuple[int, int] = None,
|
11
|
-
convert_alpha: bool = True,
|
12
|
-
):
|
13
|
-
self.original_surface: pygame.Surface = None
|
14
|
-
|
15
|
-
super().__init__(convert_alpha = convert_alpha)
|
16
|
-
if path is not None:
|
17
|
-
self.from_path(path)
|
18
|
-
if size is not None and self.original_surface:
|
19
|
-
self.set_size(self.original_surface.get_size())
|
20
|
-
|
21
|
-
|
22
|
-
def set_size(self,size:tuple[float,float]) -> Self:
|
23
|
-
if size == self.rect.size : return self
|
24
|
-
self.rect.size = size
|
25
|
-
self.surface = pygame.Surface((int(self.rect.w),int(self.rect.h)),self.surface_flags)
|
26
|
-
if self.convert_alpha : self.surface = self.surface.convert_alpha()
|
27
|
-
self.surface.fill((0,0,0,0 if self.convert_alpha else 255))
|
28
|
-
self.surface.blit(pygame.transform.scale(self.original_surface,self.rect.size),(0,0))
|
29
|
-
return self
|
30
|
-
|
31
|
-
def from_path(self,path:str)->Self:
|
32
|
-
tmp = bf.ResourceManager().get_image(path,self.convert_alpha)
|
33
|
-
if tmp is None:
|
34
|
-
return self
|
35
|
-
self.original_surface = tmp
|
36
|
-
size = self.original_surface.get_size()
|
37
|
-
self.set_size(size)
|
38
|
-
return self
|
39
|
-
|
40
|
-
def from_surface(self,surface: pygame.Surface)->Self:
|
41
|
-
if surface is None : return self
|
42
|
-
self.original_surface = surface
|
43
|
-
size = self.original_surface.get_size()
|
44
|
-
self.set_size(size)
|
45
|
-
return self
|
batFramework/tileset.py
DELETED
@@ -1,46 +0,0 @@
|
|
1
|
-
import pygame
|
2
|
-
from .resourceManager import ResourceManager
|
3
|
-
import batFramework as bf
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
class Tileset:
|
8
|
-
def __init__(self, source: pygame.Surface, tilesize: tuple[int, int]) -> None:
|
9
|
-
self.surface = source
|
10
|
-
self.tile_size = tilesize
|
11
|
-
self.tile_width = source.get_width() // tilesize[0]
|
12
|
-
self.tile_height = source.get_height() // tilesize[1]
|
13
|
-
# Create flipped versions of the tileset surface
|
14
|
-
self.flipped_surfaces = {
|
15
|
-
(False, False): self.surface,
|
16
|
-
(False, True): pygame.transform.flip(self.surface, False, True),
|
17
|
-
(True, False): pygame.transform.flip(self.surface, True, False),
|
18
|
-
(True, True): pygame.transform.flip(self.surface, True, True),
|
19
|
-
}
|
20
|
-
|
21
|
-
# Split each of the surfaces into tiles
|
22
|
-
self.tile_dict = {}
|
23
|
-
for flip_state, surf in self.flipped_surfaces.items():
|
24
|
-
tiles = bf.utils.split_surface(surf, self.tile_size)
|
25
|
-
for coord, tile in tiles.items():
|
26
|
-
if coord not in self.tile_dict:
|
27
|
-
self.tile_dict[coord] = {}
|
28
|
-
self.tile_dict[coord][flip_state] = tile
|
29
|
-
|
30
|
-
|
31
|
-
def __str__(self)->str:
|
32
|
-
num_tiles = 0
|
33
|
-
if self.tile_dict:
|
34
|
-
num_tiles = len(self.tile_dict.values())
|
35
|
-
return f"{num_tiles} tiles | Tile size : {self.tile_size}"
|
36
|
-
|
37
|
-
def get_tile(self, x, y, flipX=False, flipY=False) -> pygame.Surface | None:
|
38
|
-
|
39
|
-
if flipX:
|
40
|
-
x = self.tile_width - 1 - x
|
41
|
-
if flipY:
|
42
|
-
y = self.tile_height - 1 - y
|
43
|
-
tile_data = self.tile_dict.get((x, y), None)
|
44
|
-
if tile_data is None:
|
45
|
-
return None
|
46
|
-
return tile_data.get((flipX, flipY), None)
|
@@ -1,21 +0,0 @@
|
|
1
|
-
MIT License
|
2
|
-
|
3
|
-
Copyright (c) [2023] [TURAN BATURAY]
|
4
|
-
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
7
|
-
in the Software without restriction, including without limitation the rights
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
10
|
-
furnished to do so, subject to the following conditions:
|
11
|
-
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
13
|
-
copies or substantial portions of the Software.
|
14
|
-
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
21
|
-
SOFTWARE.
|
@@ -1,55 +0,0 @@
|
|
1
|
-
Metadata-Version: 2.1
|
2
|
-
Name: batframework
|
3
|
-
Version: 1.0.8a1
|
4
|
-
Summary: Pygame framework for making games easier.
|
5
|
-
Author-email: Turan Baturay <baturayturan@gmail.com>
|
6
|
-
Project-URL: Homepage, https://github.com/TuranBaturay/batFramework
|
7
|
-
Classifier: Programming Language :: Python :: 3
|
8
|
-
Classifier: License :: OSI Approved :: MIT License
|
9
|
-
Classifier: Operating System :: OS Independent
|
10
|
-
Requires-Python: >=3.11
|
11
|
-
Description-Content-Type: text/markdown
|
12
|
-
License-File: LICENCE
|
13
|
-
Requires-Dist: pygame-ce
|
14
|
-
|
15
|
-
# batFramework & gamejam Project
|
16
|
-
|
17
|
-
Welcome to the `batFramework` and the accompanying `gamejam` project. This README provides an overview of both the game framework and the specific game project developed using the framework.
|
18
|
-
|
19
|
-
## batFramework
|
20
|
-
|
21
|
-
The `batFramework` is a Python game development framework based on pygame, designed to streamline the process of creating 2D games. It provides a set of tools and components to handle scenes, transitions, cutscenes, audio, sprites, and more. The framework is built with flexibility in mind, allowing you to focus on game design while abstracting away low-level details.
|
22
|
-
|
23
|
-
### Features
|
24
|
-
|
25
|
-
- Scene management
|
26
|
-
- Cutscene support
|
27
|
-
- Audio management (music and sound effects with volume control)
|
28
|
-
- Entity, sprite, and animated sprite handling
|
29
|
-
- Transition effects
|
30
|
-
- Utility modules (time management, constants, etc.)
|
31
|
-
- No external dependency except for pygame
|
32
|
-
|
33
|
-
### Explore batFramework
|
34
|
-
|
35
|
-
1. Install Python (version 3.11 or higher) and the latest stable version of pygame-ce.
|
36
|
-
2. Clone or download this repository.
|
37
|
-
4. Explore the framework's modules in the `batFramework` directory and integrate them into your own game project.
|
38
|
-
|
39
|
-
For more detailed information on how to use the framework, refer to the documentation (if available) or explore the source code in the `batFramework` directory.
|
40
|
-
|
41
|
-
## gamejam Project
|
42
|
-
|
43
|
-
The `gamejam` project is a specific game developed using the `batFramework`. It serves as an example of how the framework can be used to create a game from scratch.
|
44
|
-
|
45
|
-
### Play the gamejam Project
|
46
|
-
|
47
|
-
1. Install Python (version 3.10 or higher) and the latest stable version of pygame-ce.
|
48
|
-
2. Clone or download this repository.
|
49
|
-
3. Navigate to the `gamejam` directory.
|
50
|
-
4. Run the game by executing the main script (e.g., `python main.py`).
|
51
|
-
5. Play the game and have fun!
|
52
|
-
|
53
|
-
Feel free to explore the code in the `gamejam` directory to see how the `batFramework` is utilized to create the game. You can modify, extend, or use the project as a starting point for your own games.
|
54
|
-
|
55
|
-
|
@@ -1,56 +0,0 @@
|
|
1
|
-
batFramework/__init__.py,sha256=5KS96Y0uDx8sue3NyDl2HTFh-CqEZc9otmnUXRCHXws,2189
|
2
|
-
batFramework/action.py,sha256=vVr4LjlIHnA6I1_OM6IXM8DGCeruDcdHLIU9pfrQy3Q,7950
|
3
|
-
batFramework/actionContainer.py,sha256=TVmfyBYILCkAKUnNsCIIaCXezffNZ_VK5H207ab1r3I,2587
|
4
|
-
batFramework/animatedSprite.py,sha256=1KmhUCX8q2JTyOr0ClLovJ21i6c2SkllTtqygmDSZvo,5168
|
5
|
-
batFramework/audioManager.py,sha256=BxSWDYqYy3IgNA9sBaJFspdjcUJWudBSV0OpCNR92Is,3886
|
6
|
-
batFramework/camera.py,sha256=ZgASlCwXGDU8-hljAz5WlVU3v4XPQ5mU0--kaOsRun0,9331
|
7
|
-
batFramework/constants.py,sha256=5PyZQZ4fCcLA8k_Upby9KGVF-3pnV2ZZ6t26CxiocPM,1102
|
8
|
-
batFramework/cutscene.py,sha256=WX2yXawR3NjL8db09SsRXtJtdJU_xlcHYtntRcJhtKs,3896
|
9
|
-
batFramework/cutsceneBlocks.py,sha256=Uezggx1XgmLvXW1GnuVkGj3tOM8AOxXYx1F9nFGvL-w,4788
|
10
|
-
batFramework/dynamicEntity.py,sha256=zp5ShM6fQ-a_hXTHA6UthbInfJl2XazsN6C2hll9nK8,665
|
11
|
-
batFramework/easingController.py,sha256=4N8GIp1fsaWBUlDxXx3SMwOq1Mrhn10MZZIO51_CRnk,1677
|
12
|
-
batFramework/entity.py,sha256=L3koW9q35Dpwsz9h9YWMuGal4PkowqsWklKZpZj7hM8,2003
|
13
|
-
batFramework/enums.py,sha256=lywBwvxsUTOXUhHCoau5P9LC9UNIx_E6hjvx3Zba-iw,2069
|
14
|
-
batFramework/fontManager.py,sha256=_pVcTmf1c42HPHfWZwvkEsAY46MljsTYFvl6h4f7Q8E,2240
|
15
|
-
batFramework/manager.py,sha256=YRKKv5qWVUs7D8ZqP8ZkfUeTCc3lHxfCfJSYdO5Ep8A,2375
|
16
|
-
batFramework/object.py,sha256=ErR1XxqIlI5jv_kZnDrt3jkyRZSba3aVGuMBNwExIq0,3045
|
17
|
-
batFramework/particle.py,sha256=yGGKjGtwzL-m48akGNsReLM82IPV1DzrsDy5SN_kMAw,2672
|
18
|
-
batFramework/renderGroup.py,sha256=DZCtO6cRO4qkIcVACexvitIcAaPdW6PZFhQX7XYUIeo,1979
|
19
|
-
batFramework/resourceManager.py,sha256=8ysiVDMVRKOGo_kNRH2BiqiUj07kddgi04iNcTt9T-Q,3094
|
20
|
-
batFramework/scene.py,sha256=66Xoy-7mq6WuFzAiJXicspbo0xH_ZbL_idYZuyV8wL4,10543
|
21
|
-
batFramework/sceneManager.py,sha256=hTqn_RCken49oDg21ZVybk0wwgmw693CgSiAB_4Oj9E,7053
|
22
|
-
batFramework/scrollingSprite.py,sha256=vNPWJV6QOf-wbuAgv-eLv1kiaOZiXt_2pqt6EEfg2Vk,4159
|
23
|
-
batFramework/sprite.py,sha256=nSfdhn6oH6Zm2y9XyzBR1vPlHrPiyLIqBds9sxy0jVA,1543
|
24
|
-
batFramework/stateMachine.py,sha256=er7WB7I4V81jgUrd-9ftfyYczKpPsEbgdWRXzYl6e9k,1339
|
25
|
-
batFramework/tileset.py,sha256=Iu32btkBs0_kkQjN5FKX76WmRnEIQGDY4OfoaOtGelc,1704
|
26
|
-
batFramework/time.py,sha256=IGRIY_g9kpdJxR5wt1lOnLsY9gMReuBJZqnpWRyR-CQ,3963
|
27
|
-
batFramework/transition.py,sha256=ioxT5KQQmgSY5yPXDV1CEAj6J_62D6YVU5NUk_Fude0,6442
|
28
|
-
batFramework/triggerZone.py,sha256=ikOOlJT1KIND0MO2xiilCHuKlb1eQhkCMEhZTi1btsI,586
|
29
|
-
batFramework/utils.py,sha256=GZMWNhkOcCuvmfTHVAbrXttU9LrwEdCp-kKM-2t2L08,1718
|
30
|
-
batFramework/gui/__init__.py,sha256=__IMtrybY8qFKvvv9lEEra2wLzfbDrDPyJucnc8q4zo,622
|
31
|
-
batFramework/gui/button.py,sha256=W5mKG-41F3J6hjrqhoTIRXyWPMk7hxFWK_g_XgjFfdU,354
|
32
|
-
batFramework/gui/clickableWidget.py,sha256=pG2UAGYATDH6ugEexiCL_XYstCaCVcNm4nwGwLk0QpU,6810
|
33
|
-
batFramework/gui/container.py,sha256=k3ExxMiJzhzdCVzhdvupJhB7LiALt5HbCUjlSFdeNVM,5315
|
34
|
-
batFramework/gui/debugger.py,sha256=1_QlUF1YRQqNSyM3UtLkYzjOL5iXkwg4PD3tVYF4--Q,3921
|
35
|
-
batFramework/gui/dialogueBox.py,sha256=8nHGlhznO2WL8pQilH0lzlAIMpnKGRSCaYPJrsoj1xk,3172
|
36
|
-
batFramework/gui/draggableWidget.py,sha256=iAZ1gGELOG5dmuA01SW8qw-hE4VdYQGQfDpuPqrood0,1358
|
37
|
-
batFramework/gui/image.py,sha256=fSyRaJH1D_yCohk-b7ZWl_eZ1o8uULjDQG1gCk3fofc,1513
|
38
|
-
batFramework/gui/indicator.py,sha256=Q_vbkHbTODwrk0WUytygnuHdXdqlORKBEfh_4DjRT4o,1561
|
39
|
-
batFramework/gui/interactiveWidget.py,sha256=-X9aCFOtwG7EdOdooH6QzcxiZGavyCIhavZoijLxJBU,3317
|
40
|
-
batFramework/gui/label.py,sha256=0NqzBQ_lBWnBgMuiFa4jnGEpWt6v8WllKC5N5EC34EA,10525
|
41
|
-
batFramework/gui/layout.py,sha256=mcYbXbQQmOqjGVWSb6PXAaPBBkYcod5B4fCl4aYIhoc,6201
|
42
|
-
batFramework/gui/meter.py,sha256=F8xVvFopIoqCQn0Qyj1LgSCAEupXdWOzZtcsIZ74UuY,2321
|
43
|
-
batFramework/gui/radioButton.py,sha256=ORfV242Iadn86y2uKzSFOhOWZIpnT2_Idn6ACGF8vcA,1976
|
44
|
-
batFramework/gui/root.py,sha256=_WtCwY3J51MdUDEVZc-grGJflDH959uApxVxiiSU8MM,4122
|
45
|
-
batFramework/gui/shape.py,sha256=54rFVur9xXc0v_0r3JNc9XAJJ92U0N0Ei3YBYFeCFkU,9702
|
46
|
-
batFramework/gui/slider.py,sha256=g0hfzxunLV5W-R39DT08__72pq1hzZSdKwaRDx1-Rmg,8199
|
47
|
-
batFramework/gui/textInput.py,sha256=SWJMvhtqKhGEDL2xlvfNehaz4DhHnJGUQ7FBp7jheTI,4569
|
48
|
-
batFramework/gui/toggle.py,sha256=UVBdRixgJwo4FsgWCitrIDrtc9ECa4u_ulPAqjHSGeo,4251
|
49
|
-
batFramework/gui/widget.py,sha256=9LYsSHy8FhzKyikDZG84cQdW9LMctaBIRDMXinZ9eWQ,11154
|
50
|
-
batFramework/gui/constraints/__init__.py,sha256=qqXE8nnSrEvCSeHdqY8UYPZLetqdubFPI7IdZuh35QE,26
|
51
|
-
batFramework/gui/constraints/constraints.py,sha256=TShcFnelbmNKWAJnpxAbLyKC6qMllo54fWjQPUbbvIs,13756
|
52
|
-
batframework-1.0.8a1.dist-info/LICENCE,sha256=A65iXbMDbOxQLDNOODJLqA7o5RxszYlEqIgNSzBQRf4,1073
|
53
|
-
batframework-1.0.8a1.dist-info/METADATA,sha256=yavYY6taCina5Brp4PEQVHp8k4tRu_WrDw5Cb-n1oAo,2501
|
54
|
-
batframework-1.0.8a1.dist-info/WHEEL,sha256=cpQTJ5IWu9CdaPViMhC9YzF8gZuS5-vlfoFihTBC86A,91
|
55
|
-
batframework-1.0.8a1.dist-info/top_level.txt,sha256=vxAKBIk1oparFTxeXGBrgfIO7iq_YR5Fv1JvPVAIwmA,13
|
56
|
-
batframework-1.0.8a1.dist-info/RECORD,,
|
File without changes
|