entities.transmit module¶
Provides entity transmission functionality.
- class entities.transmit.BaseTransmitRules(*args, **kwargs)¶
Bases:
WeakAutoUnload
,instance
- __init__()¶
Raises an exception This class cannot be instantiated from Python
- should_transmit((BaseTransmitRules)self, (_entities._entity.BaseEntity)player, (_entities._entity.BaseEntity)entity) bool : ¶
Returns whether the given entity should be transmitted to the given player.
- Return type:
- property mode¶
Returns the transmit mode for these rules.
- Return type:
- class entities.transmit.TransmitHash(*args, **kwargs)¶
Bases:
BaseTransmitRules
Transmissions rules where contained pairs are never transmitted to each other.
Example:
from entities.transmit import TransmitHash from events import Event from players.entity import Player h = TransmitHash() @Event('player_say') def player_say(game_event): player = Player.from_userid(game_event['userid']) entity = player.view_entity if entity is None: return # Toggle transmissions with aimed entity if h.has_pair(player, entity): h.remove_pair(player, entity) else: h.add_pair(player, entity)
- __init__((object)arg1[, (TransmitMode)mode=_entities._transmit.TransmitMode.PREVENT]) object : ¶
Constructs and initializes the transmit hash.
- Parameters:
mode (TransmitMode) – The transmit mode for these rules.
- add_pair((TransmitHash)self, (_entities._entity.BaseEntity)entity, (_entities._entity.BaseEntity)other) None : ¶
Adds the given entity pair to the hash.
- Raises:
ValueError – If none of the given entities is a player.
- clear((TransmitHash)self) None : ¶
Removes all entities from the hash.
- get_count((TransmitHash)self, (_entities._entity.BaseEntity)entity) int : ¶
Returns the amount of pairs associated with the given entity.
- Return type:
- get_pairs((TransmitHash)self, (_entities._entity.BaseEntity)entity) list : ¶
Returns a list of all entities associated with the given entity.
- Return type:
- has_pair((TransmitHash)self, (_entities._entity.BaseEntity)entity, (_entities._entity.BaseEntity)other) bool : ¶
Returns whether the given pair is in the hash.
- Return type:
- remove_pair((TransmitHash)self, (_entities._entity.BaseEntity)entity, (_entities._entity.BaseEntity)other) None : ¶
Removes the given pair from the hash.
- remove_pairs((TransmitHash)self, (_entities._entity.BaseEntity)entity) None : ¶
Removes all pairs associated with the given entity.
- class entities.transmit.TransmitHook(*args, **kwargs)[source]¶
Bases:
AutoUnload
Decorator used to create transmit hooks that auto unload.
Example:
from entities.transmit import TransmitHook @TransmitHook def transmit_hook(player, indexes, states): # Don't transmit anything to this player except himself player_index = player.index for index in indexes: if index == player_index: continue states[index] = False
- class entities.transmit.TransmitManager¶
Bases:
instance
- __init__()¶
Raises an exception This class cannot be instantiated from Python
- register_hook((TransmitManager)self, (object)callback) None : ¶
Registers a transmit hook.
- Parameters:
callback (function) – Function to register as a transmit hook callback.
- Raises:
ValueError – If the given callback is already registered.
- unregister_hook((TransmitManager)self, (object)callback) None : ¶
Unregisters a transmit hook.
- Parameters:
callback (function) – Function to unregister as a transmit hook callback.
- Raises:
ValueError – If the given callback was not registered.
- class entities.transmit.TransmitMap(*args, **kwargs)¶
Bases:
BaseTransmitRules
Transmission rules that overrides per-player transmission.
Example:
from entities.transmit import TransmitMap from events import Event from players.entity import Player m = TransmitMap() @Event('player_say') def player_say(game_event): player = Player.from_userid(game_event['userid']) entity = player.view_entity if entity is None: return # Toggle one-way transmissions with aimed entity s = m[entity] if player in s: s.remove(player) else: s.add(player)
- __init__((object)arg1[, (TransmitMode)mode=_entities._transmit.TransmitMode.PREVENT]) object : ¶
Constructs and initializes the transmit map.
- Parameters:
mode (TransmitMode) – The transmit mode for these rules.
- clear((TransmitMap)self) None : ¶
Removes all players from the map.
- class entities.transmit.TransmitMode¶
Bases:
enum
- ALLOW = _entities._transmit.TransmitMode.ALLOW¶
- PREVENT = _entities._transmit.TransmitMode.PREVENT¶
- names = {'ALLOW': _entities._transmit.TransmitMode.ALLOW, 'PREVENT': _entities._transmit.TransmitMode.PREVENT}¶
- values = {0: _entities._transmit.TransmitMode.ALLOW, 1: _entities._transmit.TransmitMode.PREVENT}¶
- class entities.transmit.TransmitSet(*args, **kwargs)¶
Bases:
BaseTransmitRules
Transmission rules where contained entities are never transmitted to any player.
Example:
from entities.transmit import TransmitSet from events import Event from players.entity import Player s = TransmitSet() @Event('player_say') def player_say(game_event): player = Player.from_userid(game_event['userid']) entity = player.view_entity if entity is None: return # Toggle transmissions with everything if entity in s: s.remove(entity) else: s.add(entity)
- __init__((object)arg1[, (TransmitMode)mode=_entities._transmit.TransmitMode.PREVENT]) object : ¶
Constructs and initializes the transmit set.
- Parameters:
mode (TransmitMode) – The transmit mode for these rules.
- add((TransmitSet)self, (_entities._entity.BaseEntity)entity) None : ¶
Adds the given entity to the set.
- Raises:
ValueError – If the given entity is not networked.
- clear((TransmitSet)self) None : ¶
Removes all entities from the set.
- remove((TransmitSet)self, (_entities._entity.BaseEntity)entity) None : ¶
Removes the given entity from the set.