2026-02-09 22:03:11 +03:00
2026-02-09 22:03:11 +03:00
2026-02-09 22:03:11 +03:00
2026-02-09 22:03:11 +03:00
2026-02-09 22:03:11 +03:00

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.
Description
No description provided
Readme 28 KiB
Languages
Go 100%