def onEnterWorld(self, prereqs): self.setGameTeamIndex(self.teamIndex) self._initDBSettings() self.prepareMatrices() self.__createEvents() self._createControllers() movementStrategy = self.controllers.get('movementStrategy', None) if hasattr(self._settings, 'alignToGround'): self.alignToGround = self._settings.alignToGround if movementStrategy and movementStrategy.matrixProvider: self.filter = movementStrategy.createFilter() elif self.alignToGround: self.filter = BigWorld.AvatarDropFilter() self.filter.alignToGround = True elif self.filter.__class__ != BigWorld.PredictionFilter: self.filter = BigWorld.PredictionFilter() self.updateLocalizedName() self._checkStateSettings() self._notifyModelManipulatorOwnerChanged(self) self.controllers['modelManipulator'].updatePartsFlags(self.partFlags) self.controllers['modelManipulator'].updateStatesNet( self.partStates, True) self.eTeamIndexChanged += self.updateCompoundColour self.controllers[ 'modelManipulator'].eCompoundLoaded += self.updateCompoundColour self.updateCompoundColour() self.eOnTeamObjectEnterWorld(self) debug_observable.startObserv(self) return