mirror of
https://github.com/openfrontio/OpenFrontIO.git
synced 2026-07-21 14:07:25 +00:00
Bomb Direction (#2435)
Resolves #2434 ## Description: Allows bomb direction to be inverted by pressing a hotkey - currently "U". **Check the issue for screenshots / videos.** ## Please complete the following: - [x] I have added screenshots for all UI updates - [x] I process any text displayed to the user through translateText() and I've added it to the en.json file - [x] I have added relevant tests to the test directory - [x] I confirm I have thoroughly tested these changes and take full responsibility for any bugs introduced ## Please put your Discord username so you can be contacted if a bug or regression is found: w.o.n --------- Co-authored-by: Evan <evanpelle@gmail.com> Co-authored-by: iamlewis <lewismmmm@gmail.com>
This commit is contained in:
@@ -3,8 +3,13 @@ import { UnitType } from "../../../core/game/Game";
|
||||
import { TileRef } from "../../../core/game/GameMap";
|
||||
import { GameView } from "../../../core/game/GameView";
|
||||
import { ParabolaPathFinder } from "../../../core/pathfinding/PathFinding";
|
||||
import { GhostStructureChangedEvent, MouseMoveEvent } from "../../InputHandler";
|
||||
import {
|
||||
GhostStructureChangedEvent,
|
||||
MouseMoveEvent,
|
||||
SwapRocketDirectionEvent,
|
||||
} from "../../InputHandler";
|
||||
import { TransformHandler } from "../TransformHandler";
|
||||
import { UIState } from "../UIState";
|
||||
import { Layer } from "./Layer";
|
||||
|
||||
/**
|
||||
@@ -27,6 +32,7 @@ export class NukeTrajectoryPreviewLayer implements Layer {
|
||||
private game: GameView,
|
||||
private eventBus: EventBus,
|
||||
private transformHandler: TransformHandler,
|
||||
private uiState: UIState,
|
||||
) {}
|
||||
|
||||
shouldTransform(): boolean {
|
||||
@@ -50,6 +56,12 @@ export class NukeTrajectoryPreviewLayer implements Layer {
|
||||
this.cachedSpawnTile = null;
|
||||
}
|
||||
});
|
||||
this.eventBus.on(SwapRocketDirectionEvent, () => {
|
||||
// Toggle rocket direction
|
||||
this.uiState.rocketDirectionUp = !this.uiState.rocketDirectionUp;
|
||||
// Force trajectory recalculation
|
||||
this.lastTargetTile = null;
|
||||
});
|
||||
}
|
||||
|
||||
tick() {
|
||||
@@ -210,6 +222,7 @@ export class NukeTrajectoryPreviewLayer implements Layer {
|
||||
targetTile,
|
||||
speed,
|
||||
distanceBasedHeight,
|
||||
this.uiState.rocketDirectionUp,
|
||||
);
|
||||
|
||||
this.trajectoryPoints = pathFinder.allTiles();
|
||||
|
||||
Reference in New Issue
Block a user