Skip to content

Commit 96d303b

Browse files
committed
Make sure base Entity/Player/Weapon classes always resolve to their game/engine overrides.
1 parent 672559c commit 96d303b

File tree

3 files changed

+33
-9
lines changed

3 files changed

+33
-9
lines changed

addons/source-python/packages/source-python/entities/entity.py

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,17 @@
55
# =============================================================================
66
# >> IMPORTS
77
# =============================================================================
8+
# Python Imports
9+
# Importlib
810
from importlib import import_module
11+
12+
# Source.Python Imports
13+
# Core
914
from core import GAME_NAME
1015
from core import SOURCE_ENGINE
16+
# Entities
17+
import entities._base
18+
# Paths
1119
from paths import SP_PACKAGES_PATH
1220

1321

@@ -35,7 +43,7 @@
3543
).isfile():
3644

3745
# Import the game-specific 'Entity' class
38-
Entity = import_module(
46+
Entity = entities._base = import_module(
3947
'entities.engines.{engine}.{game}'.format(
4048
engine=SOURCE_ENGINE,
4149
game=GAME_NAME,
@@ -47,7 +55,7 @@
4755
).isfile():
4856

4957
# Import the engine-specific 'Entity' class
50-
Entity = import_module(
58+
Entity = entities._base = import_module(
5159
'entities.engines.{engine}'.format(
5260
engine=SOURCE_ENGINE,
5361
)
@@ -56,4 +64,4 @@
5664
else:
5765

5866
# Import the base 'Entity' class
59-
from entities._base import Entity
67+
Entity = entities._base.Entity

addons/source-python/packages/source-python/players/entity.py

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,18 @@
55
# =============================================================================
66
# >> IMPORTS
77
# =============================================================================
8+
# Python Imports
9+
# Importlib
810
from importlib import import_module
11+
12+
# Source.Python Imports
13+
# Core
914
from core import GAME_NAME
1015
from core import SOURCE_ENGINE
16+
# Paths
1117
from paths import SP_PACKAGES_PATH
18+
# Players
19+
import players._base
1220

1321

1422
# =============================================================================
@@ -26,7 +34,7 @@
2634
).isfile():
2735

2836
# Import the game-specific 'Player' class
29-
Player = import_module(
37+
Player = players._base.Player = import_module(
3038
'players.engines.{engine}.{game}'.format(
3139
engine=SOURCE_ENGINE,
3240
game=GAME_NAME,
@@ -38,7 +46,7 @@
3846
).isfile():
3947

4048
# Import the engine-specific 'Player' class
41-
Player = import_module(
49+
Player = players._base.Player = import_module(
4250
'players.engines.{engine}'.format(
4351
engine=SOURCE_ENGINE,
4452
)
@@ -47,4 +55,4 @@
4755
else:
4856

4957
# Import the base 'Player' class
50-
from players._base import Player
58+
Player = players._base.Player

addons/source-python/packages/source-python/weapons/entity.py

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,18 @@
55
# =============================================================================
66
# >> IMPORTS
77
# =============================================================================
8+
# Python Imports
9+
# Importlib
810
from importlib import import_module
11+
12+
# Source.Python Imports
13+
# Core
914
from core import GAME_NAME
1015
from core import SOURCE_ENGINE
16+
# Paths
1117
from paths import SP_PACKAGES_PATH
18+
# Weapons
19+
import weapons._base
1220

1321

1422
# =============================================================================
@@ -26,7 +34,7 @@
2634
).isfile():
2735

2836
# Import the game-specific 'Weapon' class
29-
Weapon = import_module(
37+
Weapon = weapons._base = import_module(
3038
'weapons.engines.{engine}.{game}'.format(
3139
engine=SOURCE_ENGINE,
3240
game=GAME_NAME,
@@ -38,7 +46,7 @@
3846
).isfile():
3947

4048
# Import the engine-specific 'Weapon' class
41-
Weapon = import_module(
49+
Weapon = weapons._base = import_module(
4250
'weapons.engines.{engine}'.format(
4351
engine=SOURCE_ENGINE,
4452
)
@@ -47,4 +55,4 @@
4755
else:
4856

4957
# Import the base 'Weapon' class
50-
from weapons._base import Weapon
58+
Weapon = weapons._base.Weapon

0 commit comments

Comments
 (0)