feat: New predicting algorithm

This commit is contained in:
Pax1601
2025-03-16 22:33:28 +01:00
parent e2ac37ef18
commit 3aafa26c70
4 changed files with 47 additions and 4 deletions

View File

@@ -50,6 +50,8 @@ import {
import { OlympusConfig } from "../../interfaces";
import { FaCheck, FaQuestionCircle, FaSave, FaSpinner } from "react-icons/fa";
import { OlExpandingTooltip } from "../components/olexpandingtooltip";
import { ftToM } from "../../other/utils";
import { LatLng } from "leaflet";
export function Header() {
const [mapHiddenTypes, setMapHiddenTypes] = useState(MAP_HIDDEN_TYPES_DEFAULTS);
@@ -219,6 +221,18 @@ export function Header() {
/>
</div>
<div className={`h-8 w-0 border-l-[2px] border-gray-700`}></div>
<OlRoundStateButton
onClick={() => {
getApp().getUnitsManager().getSelectedUnits().forEach((unit) => {
let position = new LatLng(unit.getPosition().lat, unit.getPosition().lng);
position.lat += 0.01;
position.alt = ftToM(15000);
unit.fireAtArea(position);
})
}}
checked={false}
icon={faFlag}
/>
<div className={`flex h-fit flex-row items-center justify-start gap-1`}>
{Object.entries({
human: olButtonsVisibilityHuman,

View File

@@ -20,7 +20,9 @@ export abstract class Weapon extends CustomMarker {
#hidden: boolean = false;
#detectionMethods: number[] = [];
#speedVector: number[] = [];
#altitude: number[] = [];
getAlive() {
return this.#alive;
}
@@ -86,6 +88,7 @@ export abstract class Weapon extends CustomMarker {
break;
case DataIndexes.speed:
this.#speed = dataExtractor.extractFloat64();
this.#speedVector.push(this.#speed);
updateMarker = true;
break;
case DataIndexes.heading:
@@ -113,6 +116,9 @@ export abstract class Weapon extends CustomMarker {
setAlive(newAlive: boolean) {
this.#alive = newAlive;
if (this.#speedVector.length > 0 && newAlive === false) {
let asd = 1;
}
}
belongsToCommandedCoalition() {