overhaul to the collision system... should have maybe made more commits.

This commit is contained in:
=
2026-03-11 12:14:45 -04:00
parent ebfffe5c09
commit 55f20a950f
11 changed files with 386 additions and 152 deletions

38
transform.py Normal file
View File

@@ -0,0 +1,38 @@
from dataclasses import dataclass
from math import pi
import pygame as pg
@dataclass
class Transform:
position: pg.Vector2
rotation: pg.Vector2 = 0.0
scale: float = 1.0
parent: 'Transform' = None
@property
def global_position(self):
if self.parent is None:
return self.position
return self.position + self.parent.global_position
@property
def global_rotation(self):
if self.parent is None:
return self.rotation
return self.position + self.parent.global_rotation
@property
def global_scale(self):
if self.parent is None:
return self.scale
return self.scale * self.parent.global_scale
@property
def global_degrees(self):
return self.global_rotation * (180.0 / pi)
@property
def degrees(self):
return self.rotation * (180.0 / pi)