1.2 KiB
1.2 KiB
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 изнутри уже выполняющейся транзакции.
Интеграция
- Подключить свои реализации интерфейсов из проекта.
- Создавать
txflow.Adapterна игрока. - Все операции игрока (сообщения, инвентарь, телепорт) запускать через
WithPlayerTxилиTeleport.