mirror of
https://github.com/dcs-liberation/dcs_liberation.git
synced 2025-11-10 14:22:26 +00:00
- factor out own class for the iadsnetwork within the conflicttheater - This class will handle all Skynet related things - no specific group_name handling necessary in future - make iadsbuilding own TGO class because SAM & EWRs are Vehicle Groups. IADS Elements dont have any groups attached. - added command center, connection node and power source as Ground objects which can be added by the campaign designer - adjust lua generator to support new iads units - parse the campaign yaml to get the iads network information - use the range as fallback if no yaml information was found - complete rewrite of the skynet lua script - allow destruction of iads network to be persistent over all rounds - modified the presetlocation handling: the wrapper PresetLocation for PointWithHeading now stores the original name from the campaign miz to have the ability to process campaign yaml configurations based on the ground unit - Implementation of the UI representation for the IADS Network - Give user the option to enable or disable advanced iads - Extended the layout system: Implement Sub task handling to support PD
40 lines
1.2 KiB
TypeScript
40 lines
1.2 KiB
TypeScript
import { IadsConnection as IadsConnectionModel } from "../../api/liberationApi";
|
|
import { Polyline as LPolyline } from "leaflet";
|
|
import { useRef } from "react";
|
|
import { Polyline, Tooltip } from "react-leaflet";
|
|
|
|
interface IadsConnectionProps {
|
|
iads_connection: IadsConnectionModel;
|
|
}
|
|
|
|
function IadsConnectionTooltip(props: IadsConnectionProps) {
|
|
var status = props.iads_connection.active ? "Active" : "Inactive";
|
|
if (props.iads_connection.is_power) {
|
|
return <Tooltip>Power Connection ({status})</Tooltip>;
|
|
} else {
|
|
return <Tooltip>Communication Connection ({status})</Tooltip>;
|
|
}
|
|
}
|
|
|
|
|
|
export default function IadsConnection(props: IadsConnectionProps) {
|
|
const color = props.iads_connection.is_power ? "#FFD580" : "#87CEEB";
|
|
const path = useRef<LPolyline | null>();
|
|
const weight = 1
|
|
var opacity = props.iads_connection.active ? 1.0 : 0.5
|
|
var dashArray = props.iads_connection.active ? "" : "20"
|
|
|
|
return (
|
|
<Polyline
|
|
positions={props.iads_connection.points}
|
|
color={color}
|
|
weight={weight}
|
|
opacity={opacity}
|
|
dashArray={dashArray}
|
|
ref={(ref) => (path.current = ref)}
|
|
>
|
|
<IadsConnectionTooltip {...props} />
|
|
</Polyline>
|
|
);
|
|
}
|