From 8676eff3418dddb6ac9be15de85043d2ddb6d181 Mon Sep 17 00:00:00 2001 From: Den <31878959+dv1x3r@users.noreply.github.com> Date: Mon, 16 Feb 2026 20:28:07 +0200 Subject: [PATCH 1/2] refactor UnityVersion __getitem__ --- UnityPy/helpers/UnityVersion.py | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/UnityPy/helpers/UnityVersion.py b/UnityPy/helpers/UnityVersion.py index 53046fc9..a6fbc403 100644 --- a/UnityPy/helpers/UnityVersion.py +++ b/UnityPy/helpers/UnityVersion.py @@ -78,17 +78,14 @@ def __repr__(self) -> str: return f"UnityVersion {self.major}.{self.minor}{self.type_str}{self.type_number}" def __getitem__(self, idx: int) -> int: - if idx == 0: - return self.major - elif idx == 1: - return self.minor - elif idx == 2: - return self.build - elif idx == 3: - return self.type.value - elif idx == 4: - return self.type_number - raise IndexError("Invalid UnityVersion index") + values = ( + self.major, + self.minor, + self.build, + self.type.value, + self.type_number, + ) + return values[idx] def as_tuple(self) -> Tuple[int, int, int, int, int]: return (self.major, self.minor, self.build, self.type.value, self.type_number) From bca615ef42c317a565ee9b2a7a73f998c945976f Mon Sep 17 00:00:00 2001 From: Den <31878959+dv1x3r@users.noreply.github.com> Date: Mon, 16 Feb 2026 21:11:38 +0200 Subject: [PATCH 2/2] update __getitem__ annotations --- UnityPy/helpers/UnityVersion.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/UnityPy/helpers/UnityVersion.py b/UnityPy/helpers/UnityVersion.py index a6fbc403..480fc20e 100644 --- a/UnityPy/helpers/UnityVersion.py +++ b/UnityPy/helpers/UnityVersion.py @@ -77,7 +77,7 @@ def from_str(cls, version: str): def __repr__(self) -> str: return f"UnityVersion {self.major}.{self.minor}{self.type_str}{self.type_number}" - def __getitem__(self, idx: int) -> int: + def __getitem__(self, idx: Union[int, slice]) -> Union[int, Tuple[int, ...]]: values = ( self.major, self.minor,