exceptions cleanup and fix ffa spawn

This commit is contained in:
Roman Trapeznikov 2020-05-21 17:05:57 +03:00
parent 5a7bcf4e44
commit 5c6249d8c9
No known key found for this signature in database
GPG Key ID: 827DD41DACE1E018
3 changed files with 11 additions and 10 deletions

View File

@ -166,14 +166,14 @@ class Activity(DependencyComponent, Generic[PlayerType, TeamType]):
session = _ba.getsession()
if session is None:
raise Exception('No current session')
raise RuntimeError('No current session')
self._session = weakref.ref(session)
# Preloaded data for actors, maps, etc; indexed by type.
self.preloads: Dict[Type, Any] = {}
if not isinstance(settings, dict):
raise Exception('expected dict for settings')
raise TypeError('expected dict for settings')
if _ba.getactivity(doraise=False) is not self:
raise Exception('invalid context state')
@ -292,8 +292,8 @@ class Activity(DependencyComponent, Generic[PlayerType, TeamType]):
(internal)
"""
if self.has_begun():
raise Exception('This should only be called for Activities'
'that have not yet begun.')
raise RuntimeError('This should only be called for Activities'
'that have not yet begun.')
if not self._should_end_immediately or force:
self._should_end_immediately = True
self._should_end_immediately_results = results
@ -340,7 +340,7 @@ class Activity(DependencyComponent, Generic[PlayerType, TeamType]):
"""
from ba import _actor as bsactor
if not isinstance(actor, bsactor.Actor):
raise Exception('non-actor passed to _retain_actor')
raise TypeError('non-actor passed to retain_actor')
if (self.has_transitioned_in()
and _ba.time() - self._last_prune_dead_actors_time > 10.0):
print_error('it looks like nodes/actors are not'
@ -356,7 +356,7 @@ class Activity(DependencyComponent, Generic[PlayerType, TeamType]):
"""
from ba import _actor as bsactor
if not isinstance(actor, bsactor.Actor):
raise Exception('non-actor passed to _add_actor_weak_ref')
raise TypeError('non-actor passed to add_actor_weak_ref')
if (self.has_transitioned_in()
and _ba.time() - self._last_prune_dead_actors_time > 10.0):
print_error('it looks like nodes/actors are '

View File

@ -965,7 +965,7 @@ class GameActivity(Activity[PlayerType, TeamType]):
The default implementation simply calls spawn_player_spaz().
"""
if not player:
raise Exception('spawn_player() called for nonexistent player')
raise TypeError('spawn_player() called for nonexistent player')
return self.spawn_player_spaz(player)

View File

@ -365,11 +365,12 @@ class Map(Actor):
player_pts = []
for player in players:
try:
if player.node:
if player and player.node:
pnt = _ba.Vec3(player.node.position)
player_pts.append(pnt)
except Exception as exc:
print('EXC in get_ffa_start_position:', exc)
except Exception:
from ba import _error
_error.print_exception()
def _getpt() -> Sequence[float]:
point = self.ffa_spawn_points[self._next_ffa_start_index]