sendEvent method

Future<void> sendEvent(
  1. PlayableWorldEvent event, {
  2. Channel target = kAnyChannel,
  3. String? worldName,
})

Implementation

Future<void> sendEvent(
  PlayableWorldEvent event, {
  Channel target = kAnyChannel,
  String? worldName,
}) async {
  final world = getWorld(worldName ?? defaultWorldName);
  final pipeTargets = [];
  if (target == kAnyChannel) {
    pipeTargets.addAll(world?.players ?? [kAnyChannel]);
  } else {
    pipeTargets.add(target);
  }
  for (final channel in pipeTargets) {
    await _pipe?.sendMessage(event, channel);
  }
  if (target == kAnyChannel || target == kAuthorityChannel) {
    world?.add(event);
  }
}