show missileToOwnshipLow on minimap
This commit is contained in:
parent
9100629df0
commit
071540eb5d
@ -115,6 +115,7 @@ const Prototype = () => {
|
||||
return; */
|
||||
|
||||
// dispatch action to add new widget
|
||||
console.log('Deploying widget:', widgetToDeploy);
|
||||
dispatch(addWidget(widgetToDeploy));
|
||||
dispatch(addWidgetToSection(sectionID));
|
||||
}
|
||||
|
@ -1,6 +1,7 @@
|
||||
import type { Widget as WidgetType } from 'src/types/widget';
|
||||
import TinderWidget from './TinderWidget';
|
||||
import VehicleWidget from './VehicleWidget';
|
||||
import { TextElement } from 'src/types/element';
|
||||
|
||||
type WidgetProps = {
|
||||
widget: WidgetType;
|
||||
@ -13,6 +14,22 @@ const Widget = ({ widget }: WidgetProps) => {
|
||||
return <VehicleWidget widget={widget} />;
|
||||
case 'tinder':
|
||||
return <TinderWidget widget={widget} />;
|
||||
case 'highWarning':
|
||||
return <div style={{
|
||||
height: widget.h,
|
||||
width: widget.w,
|
||||
top: widget.y,
|
||||
left: widget.x,
|
||||
...widget.style,
|
||||
}}>
|
||||
<p style={{
|
||||
height: widget.elements[0].h,
|
||||
width: widget.elements[0].w,
|
||||
top: widget.elements[0].yWidget,
|
||||
left: widget.elements[0].xWidget,
|
||||
...widget.elements[0].style,
|
||||
}}>{'text' in widget.elements[0] && widget.elements[0].text}</p>
|
||||
</div>;
|
||||
default:
|
||||
return <div>Unknown Widget</div>;
|
||||
}
|
||||
|
@ -1,28 +1,23 @@
|
||||
import { useEffect, useRef, useState } from 'react';
|
||||
import type { Message } from 'src/types/schema-types';
|
||||
|
||||
type IncomingMessage = {
|
||||
message: Message;
|
||||
stressLevel: number;
|
||||
};
|
||||
import type { Message, SimToCmMessage, Range } from 'src/types/schema-types';
|
||||
|
||||
const useWorldSim = () => {
|
||||
const [messages, setMessages] = useState<Message[]>([]);
|
||||
const [stressLevel, setStressLevel] = useState<number>(0);
|
||||
const [stressLevel, setStressLevel] = useState<Range<0,1>>(0);
|
||||
const socket = useRef<WebSocket | null>();
|
||||
|
||||
useEffect(() => {
|
||||
socket.current = new WebSocket('ws://localhost:6969');
|
||||
|
||||
socket.current.addEventListener('open', (event) => {
|
||||
socket.current.addEventListener('open', (_event) => {
|
||||
console.log('\x1b[32mconnection opened\x1b[0m');
|
||||
});
|
||||
|
||||
socket.current.addEventListener('message', (event) => {
|
||||
// console.log('\x1b[34mmessage received:\x1b[0m', event.data);
|
||||
const { message, stressLevel }: IncomingMessage = JSON.parse(event.data);
|
||||
setMessages((prevMessages) => [...prevMessages, message]);
|
||||
setStressLevel(stressLevel);
|
||||
const { message, stressLevel }: SimToCmMessage = JSON.parse(event.data);
|
||||
setMessages((prevMessages) => [...prevMessages, message!]);
|
||||
setStressLevel(stressLevel!);
|
||||
});
|
||||
|
||||
socket.current.addEventListener('close', (event) => {
|
||||
|
@ -5,7 +5,7 @@ import lpdHelper from "src/utils/lpdHelper";
|
||||
const requestApprovalToAttackMessageLow = () => {
|
||||
return {
|
||||
sections: [],
|
||||
widgets: [lpdHelper.generateWidget(
|
||||
possibleWidgets: [lpdHelper.generateWidget(
|
||||
'request',
|
||||
'request',
|
||||
100,
|
||||
@ -23,7 +23,7 @@ const requestApprovalToAttackMessageLow = () => {
|
||||
const acaFuelLowMessageLow = () => {
|
||||
return {
|
||||
sections: [],
|
||||
widgets: [lpdHelper.generateWidget(
|
||||
possibleWidgets: [lpdHelper.generateWidget(
|
||||
'message',
|
||||
'message',
|
||||
500,
|
||||
@ -41,8 +41,8 @@ const acaFuelLowMessageLow = () => {
|
||||
const missileToOwnshipDetectedMessageLow = () => {
|
||||
return {
|
||||
sections: [],
|
||||
widgets: [lpdHelper.generateWidget(
|
||||
'highWarning',
|
||||
possibleWidgets: [lpdHelper.generateWidget(
|
||||
'missileDetected',
|
||||
'highWarning',
|
||||
100,
|
||||
100,
|
||||
@ -51,7 +51,34 @@ const missileToOwnshipDetectedMessageLow = () => {
|
||||
false,
|
||||
true,
|
||||
1,
|
||||
[],
|
||||
[
|
||||
lpdHelper.generateTextElement(
|
||||
lpdHelper.generateBaseElement(
|
||||
'textElement',
|
||||
'visual',
|
||||
100,
|
||||
100,
|
||||
0,
|
||||
0,
|
||||
undefined,
|
||||
undefined,
|
||||
undefined,
|
||||
undefined,
|
||||
undefined,
|
||||
undefined,
|
||||
undefined,
|
||||
{
|
||||
fontSize: '20px',
|
||||
fontWeight: 'bold',
|
||||
color: 'black',
|
||||
border: 'solid',
|
||||
borderColor: 'black',
|
||||
// borderColor: '#16fd22',
|
||||
},
|
||||
),
|
||||
'Missile Detected!',
|
||||
),
|
||||
],
|
||||
)],
|
||||
};
|
||||
}
|
||||
@ -59,7 +86,7 @@ const missileToOwnshipDetectedMessageLow = () => {
|
||||
const acaDefectMessageLow = () => {
|
||||
return {
|
||||
sections: [],
|
||||
widgets: [lpdHelper.generateWidget(
|
||||
possibleWidgets: [lpdHelper.generateWidget(
|
||||
'highWarning',
|
||||
'highWarning',
|
||||
500,
|
||||
@ -77,7 +104,7 @@ const acaDefectMessageLow = () => {
|
||||
const acaHeadingToBaseMessageLow = () => {
|
||||
return {
|
||||
sections: [],
|
||||
widgets: [lpdHelper.generateWidget(
|
||||
possibleWidgets: [lpdHelper.generateWidget(
|
||||
'message',
|
||||
'message',
|
||||
500,
|
||||
|
@ -14,11 +14,7 @@ import mediumLPD from "./lpd/stress/mediumLPD";
|
||||
import highLPD from "./lpd/stress/highLPD";
|
||||
import initialLPD from "./lpd/initialLPD";
|
||||
|
||||
const stressLevelLPDFunctions: any = {
|
||||
"low": lowLPD,
|
||||
"medium": mediumLPD,
|
||||
"high": highLPD,
|
||||
}
|
||||
const stressLevelLPDFunctions = [lowLPD, mediumLPD, highLPD];
|
||||
|
||||
type SelectorProps = {
|
||||
message?: Message;
|
||||
@ -32,8 +28,10 @@ type SelectorProps = {
|
||||
*/
|
||||
const selector = ({ message, stressLevel }: SelectorProps = {}) => {
|
||||
// Call the LPD function that corresponds to the stress level from the message
|
||||
if (message && stressLevel) {
|
||||
return stressLevelLPDFunctions[stressLevel](message);
|
||||
if (message && stressLevel ) {
|
||||
// Transform range of stress levels from 0-1 to 0-2 only returning integers
|
||||
stressLevel = Math.floor(stressLevel * 3);
|
||||
return stressLevelLPDFunctions[0](message);
|
||||
} else {
|
||||
// If no message is provided, return the initial LPD
|
||||
return initialLPD;
|
||||
|
Loading…
Reference in New Issue
Block a user