载入中...
搜索中...
未找到
Tactics.h
浏览该文件的文档.
52class EVENGINE_API_DOMAINS Tactics : public Module, public IGameplayControlProvider, public IGameplayInstanceCatalog {
99 [[nodiscard]] Result<ecs::EntityHandle> newUnit(ecs::EntityHandle battle, ecs::EntityHandle side,
116 [[nodiscard]] Result<BattlePhase> advance(ecs::EntityHandle battle, const SimulationStep& step);
150 [[nodiscard]] Result<MoveReceipt> moveUnit(ecs::EntityHandle battle, SubjectRef actor, Cell destination);
164 [[nodiscard]] Result<MoveReceipt> previewMove(ecs::EntityHandle battle, SubjectRef actor, Cell destination);
176 [[nodiscard]] Result<Reachability> reachable(ecs::EntityHandle battle, SubjectRef subject, int budget);
181 [[nodiscard]] Result<std::vector<Cell>> cellsInRange(ecs::EntityHandle battle, Cell origin, int minimum,
190 [[nodiscard]] Result<TacticalUnit::TurnResources> unitResources(ecs::EntityHandle battle, SubjectRef unit);
198 [[nodiscard]] Result<void> addEdge(ecs::EntityHandle battle, Cell from, Cell to, EdgeState state = {});
210 [[nodiscard]] Result<std::size_t> openReaction(ecs::EntityHandle battle, std::uint64_t triggerSequence,
213 [[nodiscard]] Result<ReactionReceipt> acceptReaction(ecs::EntityHandle battle, SubjectRef reactor,
237 [[nodiscard]] Result<std::vector<BattleCommand>> commandsFrom(ecs::EntityHandle battle, Revision revision);
239 [[nodiscard]] Result<void> replay(ecs::EntityHandle battle, std::span<const BattleCommand> commands);
285 [[nodiscard]] Result<std::vector<Cell>> visibleCellsInRange(ecs::EntityHandle battle, Cell origin, int minimum,
298 [[nodiscard]] Result<InteractionContext> interactionContext(ecs::EntityHandle battle, SubjectRef controlledUnit);
330 [[nodiscard]] Result<std::vector<PresentationCommand>> presentationIntents(ecs::EntityHandle battle,
350 [[nodiscard]] static Result<TacticsBattleSessionRef> newSession(SubjectRef subject, std::uint64_t seed = 0);
Host-neutral player-equivalent command and observation protocol.
Optional companion surface for gameplay providers that can enumerate instances.
Board interaction state machine that returns intents instead of mutating.
Presentation intents derived from the battle event stream, with an explicit undo.
Explicit Value/Owned/Borrowed semantics at the Squirrel boundary.
Checked battle setup and deterministic phase systems.
Versioned battle snapshots with transactional restore.
Deterministic accepted-command replay.
Multi-provider gameplay boundary consumed by input, scripts and automation.
Definition GameplayControl.h:90
Optional read-only discovery surface implemented beside a gameplay provider.
Definition GameplayInstanceCatalog.h:32
Human-readable, scoped identifier in the form namespace:name.
Definition Identity.h:411
Owns tactics short-root entities and coordinates checked battle setup.
Definition Tactics.h:52
Module_REG(Tactics)
Result< void > replay(const Trace &trace, IEnvironment &environment, double tolerance)
Reset and replay actual actions, checking all observations and failure evidence.
Definition Agent.cpp:258
Definition Interaction.cpp:13
Result< std::vector< Cell > > visibleCellsInRange(const BoardState &board, const ILineOfSightPolicy &policy, Cell origin, int minimum, int maximum, CellRangeMetric metric)
Cells within a metric range of origin that policy can actually see.
Definition LineOfSight.cpp:192
Definition Container.h:602
One discoverable domain action and its owning schema projection.
Definition GameplayControl.h:37
Owning evidence that a gameplay authority accepted one command.
Definition GameplayControl.h:62
One player-semantic command submitted to a domain authority.
Definition GameplayControl.h:52
Owning event projection safe across frames and process boundaries.
Definition GameplayControl.h:71
Immutable owning observation of one authoritative gameplay instance.
Definition GameplayControl.h:43
Owning authorization context shared by player, script and automation adapters.
Definition GameplayControl.h:30
Handle plus owner-lifetime epoch for a non-ECS registry object.
Definition RuntimeRegistry.h:91
Logical board coordinate independent of rendering projection.
Definition TacticsTypes.h:30
Owner tag for script-visible battle-session handles.
Definition Tactics.h:23
Module-owned script session referencing one battle aggregate.
Definition Tactics.h:34
Initial and per-round tactical resource values for one unit.
Definition TacticsTypes.h:139