Files
tx-teleport/README.md
2026-02-09 22:03:11 +03:00

1.2 KiB
Raw Blame History

tx-teleport-example

Пример вынесенного кода по безопасной работе с транзакциями мира и телепортами.

Что внутри

  • txflow/interfaces.go: минимальные интерфейсы (World, Tx, Entity, Handle), чтобы код не зависел от конкретного движка.
  • txflow/adapter.go: адаптер игрока с:
    • WithPlayerTx(...) (предпочитает текущий Tx, fallback через ExecWorld),
    • очередью телепортов (queue + process),
    • безопасным разделением same-world и cross-world телепорта.

Зачем

Ключевая цель: не блокировать world transaction loop повторным ExecWorld изнутри уже выполняющейся транзакции.

Интеграция

  1. Подключить свои реализации интерфейсов из проекта.
  2. Создавать txflow.Adapter на игрока.
  3. Все операции игрока (сообщения, инвентарь, телепорт) запускать через WithPlayerTx или Teleport.