batframework 1.0.8a7__py3-none-any.whl → 1.0.8a9__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.
Files changed (70) hide show
  1. batFramework/__init__.py +51 -68
  2. batFramework/action.py +99 -126
  3. batFramework/actionContainer.py +9 -53
  4. batFramework/animatedSprite.py +82 -141
  5. batFramework/audioManager.py +26 -69
  6. batFramework/camera.py +69 -259
  7. batFramework/constants.py +54 -16
  8. batFramework/cutscene.py +29 -39
  9. batFramework/cutsceneBlocks.py +43 -36
  10. batFramework/debugger.py +48 -0
  11. batFramework/dynamicEntity.py +9 -18
  12. batFramework/easing.py +71 -0
  13. batFramework/entity.py +97 -48
  14. batFramework/gui/__init__.py +2 -10
  15. batFramework/gui/button.py +78 -9
  16. batFramework/gui/constraints.py +204 -0
  17. batFramework/gui/container.py +32 -174
  18. batFramework/gui/debugger.py +43 -131
  19. batFramework/gui/frame.py +19 -0
  20. batFramework/gui/image.py +20 -56
  21. batFramework/gui/indicator.py +21 -38
  22. batFramework/gui/interactiveWidget.py +13 -192
  23. batFramework/gui/label.py +74 -309
  24. batFramework/gui/layout.py +63 -231
  25. batFramework/gui/root.py +38 -134
  26. batFramework/gui/shape.py +57 -237
  27. batFramework/gui/toggle.py +51 -101
  28. batFramework/gui/widget.py +250 -358
  29. batFramework/manager.py +19 -52
  30. batFramework/particles.py +77 -0
  31. batFramework/scene.py +123 -281
  32. batFramework/sceneManager.py +116 -178
  33. batFramework/stateMachine.py +8 -11
  34. batFramework/time.py +58 -145
  35. batFramework/transition.py +124 -195
  36. batFramework/transitionManager.py +0 -0
  37. batFramework/triggerZone.py +1 -1
  38. batFramework/utils.py +147 -112
  39. batframework-1.0.8a9.dist-info/METADATA +53 -0
  40. batframework-1.0.8a9.dist-info/RECORD +42 -0
  41. {batframework-1.0.8a7.dist-info → batframework-1.0.8a9.dist-info}/WHEEL +1 -1
  42. batFramework/character.py +0 -27
  43. batFramework/easingController.py +0 -58
  44. batFramework/enums.py +0 -113
  45. batFramework/fontManager.py +0 -65
  46. batFramework/gui/clickableWidget.py +0 -220
  47. batFramework/gui/constraints/__init__.py +0 -1
  48. batFramework/gui/constraints/constraints.py +0 -815
  49. batFramework/gui/dialogueBox.py +0 -99
  50. batFramework/gui/draggableWidget.py +0 -40
  51. batFramework/gui/meter.py +0 -74
  52. batFramework/gui/radioButton.py +0 -84
  53. batFramework/gui/slider.py +0 -240
  54. batFramework/gui/style.py +0 -10
  55. batFramework/gui/styleManager.py +0 -48
  56. batFramework/gui/textInput.py +0 -247
  57. batFramework/object.py +0 -123
  58. batFramework/particle.py +0 -115
  59. batFramework/renderGroup.py +0 -67
  60. batFramework/resourceManager.py +0 -100
  61. batFramework/scrollingSprite.py +0 -114
  62. batFramework/sprite.py +0 -51
  63. batFramework/templates/__init__.py +0 -2
  64. batFramework/templates/character.py +0 -44
  65. batFramework/templates/states.py +0 -166
  66. batFramework/tileset.py +0 -46
  67. batframework-1.0.8a7.dist-info/LICENCE +0 -21
  68. batframework-1.0.8a7.dist-info/METADATA +0 -43
  69. batframework-1.0.8a7.dist-info/RECORD +0 -62
  70. {batframework-1.0.8a7.dist-info → batframework-1.0.8a9.dist-info}/top_level.txt +0 -0
@@ -1,114 +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:
65
- size[0] = self.rect.w
66
- if size[1] is None:
67
- size[1] = self.rect.h
68
-
69
- self.surface = pygame.Surface(size).convert_alpha()
70
- self.rect = self.surface.get_frect(topleft=self.rect.topleft)
71
- return self
72
-
73
- def _get_mosaic_rect_list(self) -> Iterator[pygame.Rect]:
74
- # Use integer values for the starting points, converted from floating point scroll values
75
- start_x = int(self.scroll_value.x % self.original_width)
76
- start_y = int(self.scroll_value.y % self.original_height)
77
-
78
- # Adjust start_x and start_y to begin tiling off-screen to the top-left, covering all visible area
79
- if start_x != 0:
80
- start_x -= self.original_width
81
- if start_y != 0:
82
- start_y -= self.original_height
83
-
84
- # Set the region in which to tile
85
- end_x = self.rect.w
86
- end_y = self.rect.h
87
-
88
- # Starting y_position for the inner loop
89
- y_position = start_y
90
-
91
- # 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)
92
- # Generate all necessary rectangles
93
- x = start_x
94
- while x < end_x:
95
- y = y_position
96
- while y < end_y:
97
- yield pygame.Rect(x, y, self.original_width, self.original_height)
98
- y += self.original_height
99
- x += self.original_width
100
- return self
101
-
102
- def draw(self, camera: bf.Camera) -> None:
103
- if not (
104
- self.visible
105
- and (self.surface is not None)
106
- and camera.rect.colliderect(self.rect)
107
- ):
108
- return
109
- # self.surface.fill((0, 0, 0, 0))
110
- camera.surface.fblits(
111
- [(self.original_surface, r.move(self.rect.x-camera.rect.x,self.rect.y-camera.rect.y)) for r in self._get_mosaic_rect_list()]
112
- )
113
- # camera.surface.blit(self.surface, camera.world_to_screen(self.rect))
114
- return
batFramework/sprite.py DELETED
@@ -1,51 +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
- def set_size(self, size: tuple[float, float]) -> Self:
22
- if size == self.rect.size:
23
- return self
24
- self.rect.size = size
25
- self.surface = pygame.Surface(
26
- (int(self.rect.w), int(self.rect.h)), self.surface_flags
27
- )
28
- if self.convert_alpha:
29
- self.surface = self.surface.convert_alpha()
30
- self.surface.fill((0, 0, 0, 0 if self.convert_alpha else 255))
31
- self.surface.blit(
32
- pygame.transform.scale(self.original_surface, self.rect.size), (0, 0)
33
- )
34
- return self
35
-
36
- def from_path(self, path: str) -> Self:
37
- tmp = bf.ResourceManager().get_image(path, self.convert_alpha)
38
- if tmp is None:
39
- return self
40
- self.original_surface = tmp
41
- size = self.original_surface.get_size()
42
- self.set_size(size)
43
- return self
44
-
45
- def from_surface(self, surface: pygame.Surface) -> Self:
46
- if surface is None:
47
- return self
48
- self.original_surface = surface
49
- size = self.original_surface.get_size()
50
- self.set_size(size)
51
- return self
@@ -1,2 +0,0 @@
1
- from .character import *
2
- from .states import *
@@ -1,44 +0,0 @@
1
- import batFramework as bf
2
- import pygame
3
- from .states import *
4
-
5
- class Platform2DCharacter(bf.Character):
6
- def __init__(self):
7
- super().__init__()
8
- self.actions = bf.ActionContainer(
9
- *bf.DirectionalKeyControls(),
10
- bf.Action("jump").add_key_control(pygame.K_SPACE).set_holding()
11
- )
12
- self.on_ground : bool = False
13
- self.max_jumps = 2
14
- self.jump_counter = 0
15
- self.jump_force = 150
16
- self.speed = 100
17
- self.acceleration = 30
18
- self.friction = 0.7
19
- self.gravity = 300
20
- self.terminal_velocity = 1000
21
- self.state_machine.set_state("idle")
22
-
23
-
24
- def do_setup_animations(self):
25
- self.add_animation(bf.Animation("idle"))
26
- self.add_animation(bf.Animation("run"))
27
- self.add_animation(bf.Animation("jump"))
28
- self.add_animation(bf.Animation("fall"))
29
-
30
-
31
- def do_setup_states(self):
32
- self.state_machine.add_state(Platform2DIdle())
33
- self.state_machine.add_state(Platform2DRun())
34
- self.state_machine.add_state(Platform2DJump())
35
- self.state_machine.add_state(Platform2DFall())
36
-
37
-
38
-
39
- def do_reset_actions(self) -> None:
40
- self.actions.reset()
41
-
42
- def do_process_actions(self, event: pygame.Event) -> None:
43
- self.actions.process_event(event)
44
-
@@ -1,166 +0,0 @@
1
- import batFramework as bf
2
- from typing import TYPE_CHECKING
3
-
4
- if TYPE_CHECKING:
5
- from .character import Platform2DCharacter
6
-
7
-
8
- class CharacterState(bf.State):
9
- def set_parent(self, parent):
10
- """Initialize the parent character."""
11
- res = super().set_parent(parent)
12
- if res:
13
- self.parent: Platform2DCharacter = parent
14
- return res
15
-
16
- def on_enter(self):
17
- """Handle state entry."""
18
- self.parent.set_animation(self.name)
19
-
20
- def handle_input(self):
21
- """Process input and update movement direction."""
22
- if self.parent.actions.is_active("right"):
23
- self._apply_horizontal_input(self.parent.acceleration, self.parent.speed)
24
- if self.parent.actions.is_active("left"):
25
- self._apply_horizontal_input(-self.parent.acceleration, -self.parent.speed)
26
-
27
- if self.parent.velocity.x > 0:
28
- self.parent.set_flipX(False)
29
- elif self.parent.velocity.x < 0:
30
- self.parent.set_flipX(True)
31
-
32
-
33
- def _apply_horizontal_input(self, acceleration, limit):
34
- """Apply input acceleration and enforce speed limit."""
35
-
36
- self.parent.velocity.x += acceleration
37
- if abs(self.parent.velocity.x) > abs(limit):
38
- self.parent.velocity.x = limit
39
-
40
- def apply_friction(self):
41
- """Apply friction to horizontal velocity."""
42
- if (self.parent.actions.is_active("right") or self.parent.actions.is_active("left")):
43
- return
44
-
45
- if abs(self.parent.velocity.x) < 0.01: # Threshold for negligible velocity
46
- self.parent.velocity.x = 0
47
- else:
48
- self.parent.velocity.x *= self.parent.friction
49
-
50
- def apply_gravity(self, dt):
51
- """Apply gravity to vertical velocity."""
52
- self.parent.velocity.y += self.parent.gravity * dt
53
- self.parent.velocity.y = min(self.parent.velocity.y, self.parent.terminal_velocity)
54
-
55
- def move_character(self, dt):
56
- """Move the character based on velocity."""
57
- self.parent.rect.x += self.parent.velocity.x * dt
58
- self.parent.rect.y += self.parent.velocity.y * dt
59
-
60
- def update(self, dt):
61
- """Update the character state."""
62
- self.handle_input()
63
- self.apply_physics(dt)
64
- self.handle_collision()
65
-
66
- def apply_physics(self, dt):
67
- """Apply all physics effects."""
68
- self.apply_friction()
69
- self.move_character(dt)
70
- if self.parent.on_ground:
71
- self.parent.velocity.y = 0 # Stop downward movement on ground
72
-
73
- def handle_collision(self):
74
- """Placeholder for collision detection and resolution."""
75
- pass # Future collision code goes here
76
-
77
-
78
- class Platform2DIdle(CharacterState):
79
- def __init__(self) -> None:
80
- super().__init__("idle")
81
-
82
- def on_enter(self):
83
- self.parent.jump_counter = 0
84
- super().on_enter()
85
-
86
- def update(self, dt):
87
- super().update(dt)
88
-
89
- if not self.parent.on_ground:
90
- self.parent.set_state("fall")
91
- elif self.parent.velocity.x != 0:
92
- self.parent.set_state("run")
93
- elif self.parent.actions.is_active("jump"):
94
- self.parent.set_state("jump")
95
-
96
-
97
- class Platform2DRun(CharacterState):
98
- def __init__(self) -> None:
99
- super().__init__("run")
100
-
101
-
102
- def on_enter(self):
103
- self.parent.jump_counter = 0
104
- super().on_enter()
105
-
106
- def update(self, dt):
107
- super().update(dt)
108
-
109
- if self.parent.velocity.x :
110
- if (self.parent.actions.is_active("right") or self.parent.actions.is_active("left")):
111
- if self.parent.get_current_animation().name != "run" : self.parent.set_animation("run")
112
- else:
113
- if self.parent.get_current_animation().name != "idle" : self.parent.set_animation("idle")
114
-
115
- if self.parent.actions.is_active("jump"):
116
- self.parent.set_state("jump")
117
- elif self.parent.velocity.x == 0:
118
- if not (self.parent.actions.is_active("right") or self.parent.actions.is_active("left")):
119
- self.parent.set_state("idle")
120
- elif not self.parent.on_ground:
121
- self.parent.set_state("fall")
122
-
123
-
124
-
125
-
126
- class Platform2DJump(CharacterState):
127
- def __init__(self) -> None:
128
- super().__init__("jump")
129
-
130
- def on_enter(self):
131
- super().on_enter()
132
- self.parent.on_ground = False
133
- self.parent.velocity.y = -self.parent.jump_force
134
- self.parent.jump_counter += 1
135
-
136
- def update(self, dt):
137
- super().update(dt)
138
- self.apply_gravity(dt)
139
-
140
-
141
- if self.parent.jump_counter < self.parent.max_jumps:
142
- if self.parent.actions.is_active("jump") and (self.parent.velocity.y//10)*10 == 0:
143
- self.parent.set_state("jump")
144
- return
145
-
146
-
147
- if self.parent.velocity.y > 0:
148
- self.parent.set_state("fall")
149
-
150
-
151
- class Platform2DFall(CharacterState):
152
- def __init__(self) -> None:
153
- super().__init__("fall")
154
-
155
- def update(self, dt):
156
- super().update(dt)
157
- self.apply_gravity(dt)
158
-
159
- if self.parent.on_ground:
160
- if abs(self.parent.velocity.x) > 0.01:
161
- self.parent.set_state("run")
162
- else:
163
- self.parent.set_state("idle")
164
-
165
- if self.parent.actions.is_active("jump") and self.parent.jump_counter < self.parent.max_jumps:
166
- self.parent.set_state("jump")
batFramework/tileset.py DELETED
@@ -1,46 +0,0 @@
1
- import pygame
2
- from .resourceManager import ResourceManager
3
- import batFramework as bf
4
-
5
-
6
- class Tileset:
7
- def __init__(self, source: pygame.Surface, tilesize: tuple[int, int]) -> None:
8
- self.surface = source
9
- self.tile_size = tilesize
10
- self.tile_width = source.get_width() // tilesize[0]
11
- self.tile_height = source.get_height() // tilesize[1]
12
- # Create flipped versions of the tileset surface
13
- self.flipped_surfaces = {
14
- (False, False): self.surface,
15
- (False, True): pygame.transform.flip(self.surface, False, True),
16
- (True, False): pygame.transform.flip(self.surface, True, False),
17
- (True, True): pygame.transform.flip(self.surface, True, True),
18
- }
19
-
20
- # Split each of the surfaces into tiles
21
- self.tile_dict = {}
22
- for flip_state, surf in self.flipped_surfaces.items():
23
- tiles = bf.utils.split_surface(surf, self.tile_size)
24
- for coord, tile in tiles.items():
25
- if coord not in self.tile_dict:
26
- self.tile_dict[coord] = {}
27
- self.tile_dict[coord][flip_state] = tile
28
-
29
- def __str__(self) -> str:
30
- num_tiles = 0
31
- if self.tile_dict:
32
- num_tiles = len(self.tile_dict.values())
33
- return f"{num_tiles} tiles | Tile size : {self.tile_size}"
34
-
35
- def get_tile(
36
- self, x: int, y: int, flipX=False, flipY=False
37
- ) -> pygame.Surface | None:
38
- if flipX:
39
- x = self.tile_width - 1 - x
40
- if flipY:
41
- y = self.tile_height - 1 - y
42
- tile_data = self.tile_dict.get((x, y), None)
43
- if tile_data is None:
44
- return None
45
-
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,43 +0,0 @@
1
- Metadata-Version: 2.1
2
- Name: batframework
3
- Version: 1.0.8a7
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
16
-
17
- Welcome to the `batFramework`. This README provides an overview of the game 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
-
42
-
43
-
@@ -1,62 +0,0 @@
1
- batFramework/__init__.py,sha256=ZMA14nsYaYN4_0a0J1la_Mq-fvFe7TBVfN25dP-pMSY,2556
2
- batFramework/action.py,sha256=919IVYKviLyVYDtQL7oZvlVuE_aodjJCuwz6fGi5sCk,8420
3
- batFramework/actionContainer.py,sha256=qy6-YY3iX26KJ8NqFMSYo6JExohD8HFk0sC1qhb7qA8,2602
4
- batFramework/animatedSprite.py,sha256=Y77nakxq_UIAogeJRrs0VCK9n8teFHjsK5GE4sZ0q3U,6011
5
- batFramework/audioManager.py,sha256=8tKSf4huZe5tgH98qHlKoFNjXPGDQNJho6PKfSCe7JA,3869
6
- batFramework/camera.py,sha256=u1EPSitZ9mEEa32yQB7K6ywnWgWCSumbhrc4HRjimEY,9406
7
- batFramework/character.py,sha256=IRsDclTTkA-sb51-LgcVjQW3slfA-8H_8wMA5LL-KlA,760
8
- batFramework/constants.py,sha256=5PyZQZ4fCcLA8k_Upby9KGVF-3pnV2ZZ6t26CxiocPM,1102
9
- batFramework/cutscene.py,sha256=Jh2g-zC3zaUSQoO2uVOsirWkuLAUFugu2T8B_ob9IPQ,4007
10
- batFramework/cutsceneBlocks.py,sha256=3jtmTpV48NKCu-Qgjg7KN5KnwXn0kycIQ7t7G3RH3VE,4862
11
- batFramework/dynamicEntity.py,sha256=6WcI6OveFNmrtOUYzmVMlT35Hz4MXeeRKzd1M3meL1Q,876
12
- batFramework/easingController.py,sha256=4N8GIp1fsaWBUlDxXx3SMwOq1Mrhn10MZZIO51_CRnk,1677
13
- batFramework/entity.py,sha256=34gYC6uEMmLkqWtoTG9bgMWRmHRSxhQfxXZKzWS7H2o,2127
14
- batFramework/enums.py,sha256=re12gHw2g-5qtCNmGOfZbEC5cL5E8-FA79hfKGrI6-I,2078
15
- batFramework/fontManager.py,sha256=iCVavr4hpn0T4xsaUAzdNd01j5ebpcj30fvFHzm1g-M,2246
16
- batFramework/manager.py,sha256=LilVu1M42-tWNQeFjGXdPTTPHot1z8bRBoIFzNbxXUw,2754
17
- batFramework/object.py,sha256=_3sfRxrjaiDuVyz5Yk-fYJqYx-Ehq_3-dA4eDTb9kok,3329
18
- batFramework/particle.py,sha256=SD_DRqfhzlEeWlORDVPh1R__2_RplNcBujmqovN9Mww,3079
19
- batFramework/renderGroup.py,sha256=_VDvmP4iB-XarFJo_Uh5YKwWq1cazHmOBmTXZkqKk40,2020
20
- batFramework/resourceManager.py,sha256=0cOIAFXT7UzzvgHn9QkWcXsTp8H2bIS70NvvgpBL2_4,3554
21
- batFramework/scene.py,sha256=2fXxwle68jzHwR2irKeWJYL95uAVmmU2edexo9p7fu4,12197
22
- batFramework/sceneManager.py,sha256=Jb51KksIDrZrXUafs0bgX73tY-8rglWW89Co48YGdCM,8037
23
- batFramework/scrollingSprite.py,sha256=PPEieAaFcOLE_Lm7cnm3xc7XyLKopCPcDbXEfyThO48,4133
24
- batFramework/sprite.py,sha256=t_kSyUXGOSXQbSBwrKgBUTp5mITeFQbAKNzugjL5SgY,1625
25
- batFramework/stateMachine.py,sha256=wC-5xbKvf-vGm_N16X9KhgMya5915GyVXL79uk5Bapw,1359
26
- batFramework/tileset.py,sha256=3AJBWHx90PC43BdLYCBFm811XBrMvWoB-nsUgyo6s-I,1728
27
- batFramework/time.py,sha256=iLDuHPQVNcPrNfqN6UP67d34HuC8Y42s6cdiTE53o7o,4989
28
- batFramework/transition.py,sha256=-1cyk-7Fbm0U2Z4Y2jjpLHwJ2khM1VxIMcfk2bBEo-M,6655
29
- batFramework/triggerZone.py,sha256=wIxkvO0cVVupQsJIPOD_-ofqwLnu1TLNK-n6oNXB1E8,579
30
- batFramework/utils.py,sha256=kj0qaOwpwvvPMD1DyOQTZLYeV-1lJ0dobeU2E49Rwg8,5215
31
- batFramework/gui/__init__.py,sha256=17ij7mrCBCoehqCq1PV6MSXPOfMoLPmrV_G8d6ax4Tk,687
32
- batFramework/gui/button.py,sha256=Ozs6VKHf9FCQXQODDiLQywGN3hwfXtQ6s2I-rzdjnQg,429
33
- batFramework/gui/clickableWidget.py,sha256=2vS9GFSI3uufYQbaosXxTMs81vyVfQGz71AeZmf8vcY,7049
34
- batFramework/gui/container.py,sha256=wXjuhwCJc71KKSgY2cYgoRscAKB_hIw5N4njJk3Z9lk,5925
35
- batFramework/gui/debugger.py,sha256=XogxF3J31GO-DZZn6YBrgwpYA5WjadzEfHkQHeMLU7o,3925
36
- batFramework/gui/dialogueBox.py,sha256=3Z76l9obrpQImI8hjoBS_8G9sY3UILj2d3nJsaxtaI4,3221
37
- batFramework/gui/draggableWidget.py,sha256=SKG7oMInZ_GTnrbv2T0aqlppuiuLX1tkVSCQJtRMlk8,1392
38
- batFramework/gui/image.py,sha256=7IRvalA6QQz7SYI9h4y4-ryWa9EOxZM3sc10-OZyCPc,1770
39
- batFramework/gui/indicator.py,sha256=leCvxsGxt00-oTn0N5MTmLstLH9uLG3RjQ02KlXtZCQ,1549
40
- batFramework/gui/interactiveWidget.py,sha256=FAZnSlMIohduZIDTZh5U-_mh1AbgTF4sz-0oig4LWIQ,5760
41
- batFramework/gui/label.py,sha256=RcC0XY4hOuMkzBqRi1JeYPAykJ-bXjP37xqmr257FbY,11818
42
- batFramework/gui/layout.py,sha256=vGEifD5HZqz3fd6TRU0Xr7_1czLlpqe450mam48cLk0,8587
43
- batFramework/gui/meter.py,sha256=RFzAhSzR3O-Pw0wjdfApWGWFQSJoYa4WohkiREDAAJc,2395
44
- batFramework/gui/radioButton.py,sha256=rROl9mtUa-m220R5qZ85NBPZS7nPVx-azhqijJ-XhCo,2411
45
- batFramework/gui/root.py,sha256=K75814ct6AF4LF8cyzmtUmnTmSflJRnHVMGbpUXwmkE,5084
46
- batFramework/gui/shape.py,sha256=Ros_-Mm2Q2CFauZFqFPh1QyyuZnNmg7C2PYbs7Cq41k,9347
47
- batFramework/gui/slider.py,sha256=5d3rfTYjDCDiM5prKu6DTemlGgji2FQ_vGuLzxoa5gU,8335
48
- batFramework/gui/style.py,sha256=OeLbft0RkIslQ2IcZpBeF6TaQDONIoBcAHj_Bkh9gFw,131
49
- batFramework/gui/styleManager.py,sha256=rALKJ-AmRbDAiyu8hVAYRAlkQxw677DiPoNKJZ4xtJ4,1245
50
- batFramework/gui/textInput.py,sha256=aTegghN6O3djL0eBEEij9DsEuZ1MyE61P51IzaLUUEg,9324
51
- batFramework/gui/toggle.py,sha256=XLFzCRaY7uOkKFVtR3y01wsNjLjZqrS1748IcvBRN2Q,3969
52
- batFramework/gui/widget.py,sha256=HGusTCgh3oAjtvrShzn2YxhFTGgNLsqGGhNilvRx-oo,13883
53
- batFramework/gui/constraints/__init__.py,sha256=qqXE8nnSrEvCSeHdqY8UYPZLetqdubFPI7IdZuh35QE,26
54
- batFramework/gui/constraints/constraints.py,sha256=nyPew0HIJ24rl4JcdBjUYu2aFynTryN9wqv1wKCo4ew,26873
55
- batFramework/templates/__init__.py,sha256=8XN-7JwYFKTRx_lnUL_If3spwgn5_2b7bwmrRRBPON0,46
56
- batFramework/templates/character.py,sha256=S-EkKYrMPg6539r1I5xNf9_bNVIC5-wISIJundbTlBQ,1319
57
- batFramework/templates/states.py,sha256=WeomVrQ10vHxVCj9Wnk1PcinKyb871uV910mQe287kI,5370
58
- batframework-1.0.8a7.dist-info/LICENCE,sha256=A65iXbMDbOxQLDNOODJLqA7o5RxszYlEqIgNSzBQRf4,1073
59
- batframework-1.0.8a7.dist-info/METADATA,sha256=EsDCpa49QmycSsO8TtwQ9H5itEhzhlilsVGubgyqRxA,1694
60
- batframework-1.0.8a7.dist-info/WHEEL,sha256=cVxcB9AmuTcXqmwrtPhNK88dr7IR_b6qagTj0UvIEbY,91
61
- batframework-1.0.8a7.dist-info/top_level.txt,sha256=vxAKBIk1oparFTxeXGBrgfIO7iq_YR5Fv1JvPVAIwmA,13
62
- batframework-1.0.8a7.dist-info/RECORD,,