Compare commits

..

2 Commits

Author SHA1 Message Date
joylink_fanyuhong
8260753cf7 Merge branch 'develop' of https://gitea.joylink.club/joylink/rtss-simulation-app-client into develop 2024-10-29 13:29:38 +08:00
joylink_fanyuhong
3f240a7b57 代码提交 2024-10-29 13:29:36 +08:00
10 changed files with 963 additions and 5 deletions

View File

@ -134,4 +134,10 @@
<symbol id="icon-stabilized-pressure-pump" viewBox="0 0 1024 1024" fill="#ffffff" width="24" height="24"> <symbol id="icon-stabilized-pressure-pump" viewBox="0 0 1024 1024" fill="#ffffff" width="24" height="24">
<path d="M630.162024 748.306329V354.468353c-43.444787 0-78.774682 31.963456-78.774683 71.652006V676.831505c0 39.475932 35.223587 71.474824 78.774683 71.474824z m39.369623-393.837976h354.432917v54.748936H669.531647v-54.748936z m0 212.298301h354.432917v78.774682H669.531647v-78.774682z m0-118.144306h354.432917v78.774683H669.531647V448.622348z m472.612659 228.067412v-250.604838c0-39.511368-35.329896-71.616569-78.774683-71.616569v393.837976c43.551095 0 78.774682-31.998893 78.774683-71.616569zM748.306329 315.063294h196.918989c21.793266 0 39.405059-17.611794 39.405059-39.40506V196.918988h-275.658235V275.693671a39.273945 39.273945 0 0 0 39.334187 39.369623zM315.09873 157.513929h78.774682V78.739246H315.09873V0H236.288611v78.774682H157.513929v78.774683l157.584801-0.035436z m0 0" p-id="7999"></path><path d="M984.630377 866.450635v-78.774682h39.369623v-102.729557H669.531647v102.764993h39.405059v78.774682H315.09873v-196.954424h78.774682v-78.774683h39.40506v39.40506h78.774682v-157.513929h-78.774682v39.405059h-39.40506v-78.774682H315.09873V275.693671h78.774682V196.954424h-236.359483v78.774683h78.774682v157.549365h-39.334187v236.288611H236.359484v118.179742H78.774682C35.29446 787.746825 0.035436 822.970412 0 866.486071v157.513929h1181.655674v-157.549365h-197.025297z m-78.774683 0h-118.179741v-78.774682h118.179741v78.774682z m0 0" p-id="8000"></path><path d="M157.549365 669.531647v-236.288611c-43.480223 0.035436-78.739246 35.29446-78.774683 78.774682H0v78.774683h78.774682c-0.035436 20.907361 8.256636 40.964252 23.033533 55.741149s34.833789 23.068969 55.74115 22.998097z m0 0" p-id="8001"></path> <path d="M630.162024 748.306329V354.468353c-43.444787 0-78.774682 31.963456-78.774683 71.652006V676.831505c0 39.475932 35.223587 71.474824 78.774683 71.474824z m39.369623-393.837976h354.432917v54.748936H669.531647v-54.748936z m0 212.298301h354.432917v78.774682H669.531647v-78.774682z m0-118.144306h354.432917v78.774683H669.531647V448.622348z m472.612659 228.067412v-250.604838c0-39.511368-35.329896-71.616569-78.774683-71.616569v393.837976c43.551095 0 78.774682-31.998893 78.774683-71.616569zM748.306329 315.063294h196.918989c21.793266 0 39.405059-17.611794 39.405059-39.40506V196.918988h-275.658235V275.693671a39.273945 39.273945 0 0 0 39.334187 39.369623zM315.09873 157.513929h78.774682V78.739246H315.09873V0H236.288611v78.774682H157.513929v78.774683l157.584801-0.035436z m0 0" p-id="7999"></path><path d="M984.630377 866.450635v-78.774682h39.369623v-102.729557H669.531647v102.764993h39.405059v78.774682H315.09873v-196.954424h78.774682v-78.774683h39.40506v39.40506h78.774682v-157.513929h-78.774682v39.405059h-39.40506v-78.774682H315.09873V275.693671h78.774682V196.954424h-236.359483v78.774683h78.774682v157.549365h-39.334187v236.288611H236.359484v118.179742H78.774682C35.29446 787.746825 0.035436 822.970412 0 866.486071v157.513929h1181.655674v-157.549365h-197.025297z m-78.774683 0h-118.179741v-78.774682h118.179741v78.774682z m0 0" p-id="8000"></path><path d="M157.549365 669.531647v-236.288611c-43.480223 0.035436-78.739246 35.29446-78.774683 78.774682H0v78.774683h78.774682c-0.035436 20.907361 8.256636 40.964252 23.033533 55.741149s34.833789 23.068969 55.74115 22.998097z m0 0" p-id="8001"></path>
</symbol> </symbol>
<symbol id="icon-afc" width="28" height="28" viewBox="0 0 31 37" fill="none">
<path d="M1.65057 24H0.357955L4.09659 13.8182H5.36932L9.10795 24H7.81534L4.77273 15.429H4.69318L1.65057 24ZM2.12784 20.0227H7.33807V21.1165H2.12784V20.0227ZM10.6939 24V13.8182H16.799V14.9119H11.9268V18.3523H16.3416V19.446H11.9268V24H10.6939ZM27.1039 17H25.8709C25.798 16.6454 25.6704 16.3338 25.4881 16.0653C25.3091 15.7969 25.0904 15.5715 24.8319 15.3892C24.5766 15.2036 24.2933 15.0644 23.9817 14.9716C23.6702 14.8788 23.3453 14.8324 23.0073 14.8324C22.3908 14.8324 21.8323 14.9882 21.3319 15.2997C20.8347 15.6113 20.4386 16.0703 20.1436 16.6768C19.852 17.2834 19.7061 18.0275 19.7061 18.9091C19.7061 19.7907 19.852 20.5348 20.1436 21.1413C20.4386 21.7479 20.8347 22.2069 21.3319 22.5185C21.8323 22.83 22.3908 22.9858 23.0073 22.9858C23.3453 22.9858 23.6702 22.9394 23.9817 22.8466C24.2933 22.7538 24.5766 22.6162 24.8319 22.4339C25.0904 22.2483 25.3091 22.0213 25.4881 21.7528C25.6704 21.4811 25.798 21.1695 25.8709 20.8182H27.1039C27.0111 21.3385 26.842 21.8042 26.5968 22.2152C26.3515 22.6262 26.0466 22.9759 25.682 23.2642C25.3174 23.5492 24.9081 23.7663 24.454 23.9155C24.0033 24.0646 23.521 24.1392 23.0073 24.1392C22.1389 24.1392 21.3667 23.9271 20.6905 23.5028C20.0144 23.0786 19.4824 22.4754 19.0946 21.6932C18.7069 20.911 18.513 19.983 18.513 18.9091C18.513 17.8352 18.7069 16.9072 19.0946 16.125C19.4824 15.3428 20.0144 14.7396 20.6905 14.3153C21.3667 13.8911 22.1389 13.679 23.0073 13.679C23.521 13.679 24.0033 13.7536 24.454 13.9027C24.9081 14.0518 25.3174 14.2706 25.682 14.5589C26.0466 14.844 26.3515 15.192 26.5968 15.603C26.842 16.0107 27.0111 16.4763 27.1039 17Z" fill="white"/>
</symbol>
<symbol id="icon-acs" width="28" height="28" viewBox="0 0 31 37" fill="none">
<path d="M1.65057 24H0.357955L4.09659 13.8182H5.36932L9.10795 24H7.81534L4.77273 15.429H4.69318L1.65057 24ZM2.12784 20.0227H7.33807V21.1165H2.12784V20.0227ZM18.4086 17H17.1756C17.1027 16.6454 16.9751 16.3338 16.7928 16.0653C16.6138 15.7969 16.3951 15.5715 16.1365 15.3892C15.8813 15.2036 15.598 15.0644 15.2864 14.9716C14.9748 14.8788 14.65 14.8324 14.312 14.8324C13.6955 14.8324 13.137 14.9882 12.6365 15.2997C12.1394 15.6113 11.7433 16.0703 11.4483 16.6768C11.1567 17.2834 11.0108 18.0275 11.0108 18.9091C11.0108 19.7907 11.1567 20.5348 11.4483 21.1413C11.7433 21.7479 12.1394 22.2069 12.6365 22.5185C13.137 22.83 13.6955 22.9858 14.312 22.9858C14.65 22.9858 14.9748 22.9394 15.2864 22.8466C15.598 22.7538 15.8813 22.6162 16.1365 22.4339C16.3951 22.2483 16.6138 22.0213 16.7928 21.7528C16.9751 21.4811 17.1027 21.1695 17.1756 20.8182H18.4086C18.3158 21.3385 18.1467 21.8042 17.9015 22.2152C17.6562 22.6262 17.3513 22.9759 16.9867 23.2642C16.6221 23.5492 16.2128 23.7663 15.7587 23.9155C15.3079 24.0646 14.8257 24.1392 14.312 24.1392C13.4436 24.1392 12.6713 23.9271 11.9952 23.5028C11.3191 23.0786 10.7871 22.4754 10.3993 21.6932C10.0115 20.911 9.81765 19.983 9.81765 18.9091C9.81765 17.8352 10.0115 16.9072 10.3993 16.125C10.7871 15.3428 11.3191 14.7396 11.9952 14.3153C12.6713 13.8911 13.4436 13.679 14.312 13.679C14.8257 13.679 15.3079 13.7536 15.7587 13.9027C16.2128 14.0518 16.6221 14.2706 16.9867 14.5589C17.3513 14.844 17.6562 15.192 17.9015 15.603C18.1467 16.0107 18.3158 16.4763 18.4086 17ZM25.9691 16.3636C25.9094 15.8598 25.6675 15.4688 25.2433 15.1903C24.819 14.9119 24.2987 14.7727 23.6822 14.7727C23.2314 14.7727 22.837 14.8456 22.4989 14.9915C22.1642 15.1373 21.9023 15.3378 21.7134 15.593C21.5278 15.8482 21.435 16.1383 21.435 16.4631C21.435 16.7348 21.4996 16.9685 21.6289 17.1641C21.7615 17.3563 21.9305 17.517 22.136 17.6463C22.3415 17.7723 22.5569 17.8767 22.7823 17.9595C23.0077 18.0391 23.2148 18.1037 23.4038 18.1534L24.4379 18.4318C24.703 18.5014 24.998 18.5975 25.3228 18.7202C25.6509 18.8428 25.9641 19.0102 26.2624 19.2223C26.564 19.4311 26.8126 19.6996 27.0082 20.0277C27.2037 20.3558 27.3015 20.7585 27.3015 21.2358C27.3015 21.786 27.1573 22.2831 26.869 22.7273C26.5839 23.1714 26.1663 23.5244 25.6161 23.7862C25.0692 24.0481 24.4047 24.179 23.6225 24.179C22.8933 24.179 22.262 24.0613 21.7283 23.826C21.198 23.5907 20.7804 23.2625 20.4755 22.8416C20.1739 22.4207 20.0032 21.9318 19.9634 21.375H21.2362C21.2693 21.7595 21.3986 22.0777 21.6239 22.3295C21.8526 22.5781 22.141 22.7637 22.489 22.8864C22.8403 23.0057 23.2182 23.0653 23.6225 23.0653C24.0932 23.0653 24.5157 22.9891 24.8903 22.8366C25.2648 22.6809 25.5614 22.4654 25.7802 22.1903C25.9989 21.9119 26.1083 21.5871 26.1083 21.2159C26.1083 20.8778 26.0138 20.6027 25.8249 20.3906C25.636 20.1785 25.3874 20.0062 25.0792 19.8736C24.771 19.741 24.4379 19.625 24.0799 19.5256L22.8271 19.1676C22.0316 18.9389 21.4019 18.6125 20.9379 18.1882C20.4738 17.764 20.2418 17.2088 20.2418 16.5227C20.2418 15.9527 20.396 15.4555 20.7042 15.0312C21.0157 14.6037 21.4334 14.2723 21.957 14.0369C22.484 13.7983 23.0723 13.679 23.7219 13.679C24.3782 13.679 24.9615 13.7966 25.4719 14.032C25.9824 14.264 26.3867 14.5821 26.685 14.9865C26.9866 15.3909 27.1457 15.8499 27.1623 16.3636H25.9691Z" fill="white"/>
</symbol>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 32 KiB

View File

@ -0,0 +1,38 @@
import * as pb_1 from 'google-protobuf';
import { GraphicDataBase } from '../GraphicDataBase';
import { Afc, IAfcData } from 'src/graphics/FAS/afc/Afc';
import { iscsGraphicData } from 'src/protos/iscs_graphic_data';
export class AfcData extends GraphicDataBase implements IAfcData {
constructor(data?: iscsGraphicData.Afc) {
let afc;
if (data) {
afc = data;
} else {
afc = new iscsGraphicData.Afc({
common: GraphicDataBase.defaultCommonInfo(Afc.Type),
});
}
super(afc);
}
public get data(): iscsGraphicData.Afc {
return this.getData<iscsGraphicData.Afc>();
}
get code(): string {
return this.data.code;
}
set code(v: string) {
this.data.code = v;
}
clone(): AfcData {
return new AfcData(this.data.cloneMessage());
}
copyFrom(data: AfcData): void {
pb_1.Message.copyInto(data.data, this.data);
}
eq(other: AfcData): boolean {
return pb_1.Message.equals(this.data, other.data);
}
}

View File

@ -89,6 +89,9 @@ import {
import { AcsDraw } from 'src/graphics/FAS/acs/AcsAssistant'; import { AcsDraw } from 'src/graphics/FAS/acs/AcsAssistant';
import { Acs, AcsTemplate } from 'src/graphics/FAS/acs/Acs'; import { Acs, AcsTemplate } from 'src/graphics/FAS/acs/Acs';
import { AcsData } from './graphics/FAS/AcsInteraction'; import { AcsData } from './graphics/FAS/AcsInteraction';
import { AfcDraw } from 'src/graphics/FAS/afc/AfcAssistant';
import { Afc, AfcTemplate } from 'src/graphics/FAS/afc/Afc';
import { AfcData } from './graphics/FAS/AfcInteraction';
// import { getOnlyToken } from 'src/configs/TokenManage'; // import { getOnlyToken } from 'src/configs/TokenManage';
let drawApp: IDrawApp | null = null; let drawApp: IDrawApp | null = null;
@ -153,6 +156,7 @@ export function initIscsDrawApp(): IDrawApp {
new StabilizedPressurePumpTemplate(new StabilizedPressurePumpData()) new StabilizedPressurePumpTemplate(new StabilizedPressurePumpData())
); );
new AcsDraw(app, new AcsTemplate(new AcsData())); new AcsDraw(app, new AcsTemplate(new AcsData()));
new AfcDraw(app, new AfcTemplate(new AfcData()));
app.addKeyboardListener( app.addKeyboardListener(
new KeyListener({ new KeyListener({
@ -354,6 +358,9 @@ export async function loadDrawDatas(): Promise<IGraphicStorage> {
fasOfPlatformAlarm.acs.forEach((acs) => { fasOfPlatformAlarm.acs.forEach((acs) => {
datas.push(new AcsData(acs)); datas.push(new AcsData(acs));
}); });
fasOfPlatformAlarm.afc.forEach((afc) => {
datas.push(new AfcData(afc));
});
break; break;
} }
} }
@ -512,6 +519,9 @@ export function saveDrawDatas(app: IDrawApp) {
} else if (g instanceof Acs) { } else if (g instanceof Acs) {
const acsData = g.saveData(); const acsData = g.saveData();
fasStorage.acs.push((acsData as AcsData).data); fasStorage.acs.push((acsData as AcsData).data);
} else if (g instanceof Afc) {
const afcData = g.saveData();
fasStorage.afc.push((afcData as AfcData).data);
} }
}); });
storage.fasOfPlatformAlarmStorages[i] = fasStorage; storage.fasOfPlatformAlarmStorages[i] = fasStorage;

View File

@ -28,7 +28,6 @@ export class Acs extends JlGraphic {
rectGraphic: Graphics = new Graphics(); rectGraphic: Graphics = new Graphics();
textGraphic: VectorText = new VectorText(); textGraphic: VectorText = new VectorText();
constructor() { constructor() {
console.log('22222222');
super(Acs.Type); super(Acs.Type);
this.addChild(this.rectGraphic); this.addChild(this.rectGraphic);
this.addChild(this.textGraphic); this.addChild(this.textGraphic);
@ -38,7 +37,6 @@ export class Acs extends JlGraphic {
return this.getDatas<IAcsData>(); return this.getDatas<IAcsData>();
} }
doRepaint(): void { doRepaint(): void {
console.log('111111111');
const rectGraphic = this.rectGraphic; const rectGraphic = this.rectGraphic;
rectGraphic.clear(); rectGraphic.clear();
rectGraphic.beginFill(acsConsts.rectBackground); rectGraphic.beginFill(acsConsts.rectBackground);

View File

@ -13,7 +13,7 @@ import { IAcsData, Acs, AcsTemplate } from './Acs';
export class AcsDraw extends GraphicDrawAssistant<AcsTemplate, IAcsData> { export class AcsDraw extends GraphicDrawAssistant<AcsTemplate, IAcsData> {
_acs: Acs | null = null; _acs: Acs | null = null;
constructor(app: IDrawApp, template: AcsTemplate) { constructor(app: IDrawApp, template: AcsTemplate) {
super(app, template, 'svguse:../drawIcon.svg#icon-fas-alarm', 'ACS'); super(app, template, 'svguse:../drawIcon.svg#icon-acs', 'ACS');
AcsInteraction.init(app); AcsInteraction.init(app);
} }
@ -35,7 +35,6 @@ export class AcsDraw extends GraphicDrawAssistant<AcsTemplate, IAcsData> {
} }
redraw(cp: Point): void { redraw(cp: Point): void {
console.log(this.acs, '===');
this.acs.position.copyFrom(cp); this.acs.position.copyFrom(cp);
} }
onLeftUp(e: FederatedMouseEvent): void { onLeftUp(e: FederatedMouseEvent): void {
@ -53,7 +52,7 @@ export class AcsDraw extends GraphicDrawAssistant<AcsTemplate, IAcsData> {
/** /**
* 线 * 线
* @param fasAlarm * @param acs
*/ */
function buildAbsorbablePositions(acs: Acs): AbsorbablePosition[] { function buildAbsorbablePositions(acs: Acs): AbsorbablePosition[] {
const aps: AbsorbablePosition[] = []; const aps: AbsorbablePosition[] = [];

View File

@ -0,0 +1,68 @@
import { Graphics } from 'pixi.js';
import {
GraphicData,
JlGraphic,
JlGraphicTemplate,
VectorText,
} from 'jl-graphic';
export interface IAfcData extends GraphicData {
get code(): string; // 编号
set code(v: string);
clone(): IAfcData;
copyFrom(data: IAfcData): void;
eq(other: IAfcData): boolean;
}
const afcConsts = {
rectWidth: 64,
rectHeight: 24,
rectBackground: '0x99ccff',
textColor: '0x33cc00',
text: 'AFC联动',
fontSize: 12,
};
export class Afc extends JlGraphic {
static Type = 'Afc';
rectGraphic: Graphics = new Graphics();
textGraphic: VectorText = new VectorText();
constructor() {
super(Afc.Type);
this.addChild(this.rectGraphic);
this.addChild(this.textGraphic);
}
get datas(): IAfcData {
return this.getDatas<IAfcData>();
}
doRepaint(): void {
const rectGraphic = this.rectGraphic;
rectGraphic.clear();
rectGraphic.beginFill(afcConsts.rectBackground);
rectGraphic.drawRect(0, 0, afcConsts.rectWidth, afcConsts.rectHeight);
rectGraphic.endFill();
this.textGraphic.text = afcConsts.text;
this.textGraphic.setVectorFontSize(afcConsts.fontSize);
this.textGraphic.anchor.set(0.5);
this.textGraphic.style.fill = afcConsts.textColor;
this.textGraphic.position.set(
afcConsts.rectWidth / 2,
afcConsts.rectHeight / 2
);
}
}
export class AfcTemplate extends JlGraphicTemplate<Afc> {
constructor(dataTemplate: IAfcData) {
super(Afc.Type, {
dataTemplate,
});
}
new(): Afc {
const afc = new Afc();
afc.loadData(this.datas);
return afc;
}
}

View File

@ -0,0 +1,111 @@
import { DisplayObject, FederatedMouseEvent, Point } from 'pixi.js';
import {
AbsorbableLine,
AbsorbablePosition,
GraphicDrawAssistant,
GraphicInteractionPlugin,
GraphicTransformEvent,
IDrawApp,
JlGraphic,
} from 'jl-graphic';
import { IAfcData, Afc, AfcTemplate } from './Afc';
export class AfcDraw extends GraphicDrawAssistant<AfcTemplate, IAfcData> {
_afc: Afc | null = null;
constructor(app: IDrawApp, template: AfcTemplate) {
super(app, template, 'svguse:../drawIcon.svg#icon-afc', 'Afc');
AfcInteraction.init(app);
}
bind(): void {
super.bind();
if (!this._afc) {
this._afc = this.graphicTemplate.new();
this.container.addChild(this._afc);
this._afc.doRepaint();
}
}
public get afc(): Afc {
if (!this._afc) {
this._afc = this.graphicTemplate.new();
this.container.addChild(this._afc);
}
return this._afc;
}
redraw(cp: Point): void {
this.afc.position.copyFrom(cp);
}
onLeftUp(e: FederatedMouseEvent): void {
this.afc.position.copyFrom(this.toCanvasCoordinates(e.global));
this.createAndStore(true);
}
prepareData(data: IAfcData): boolean {
data.transform = this.afc.saveTransform();
return true;
}
onEsc(): void {
this.finish();
}
}
/**
* 线
* @param afc
*/
function buildAbsorbablePositions(afc: Afc): AbsorbablePosition[] {
const aps: AbsorbablePosition[] = [];
const afcs = afc.queryStore.queryByType<Afc>(Afc.Type);
const canvas = afc.getCanvas();
afcs.forEach((item) => {
if (item.id === afc.id) {
return;
}
const ala = new AbsorbableLine(
new Point(item.x, 0),
new Point(item.x, canvas.height)
);
const alb = new AbsorbableLine(
new Point(0, item.y),
new Point(canvas.width, item.y)
);
aps.push(ala);
aps.push(alb);
});
return aps;
}
export class AfcInteraction extends GraphicInteractionPlugin<Afc> {
static Name = 'afc_transform';
constructor(app: IDrawApp) {
super(AfcInteraction.Name, app);
}
static init(app: IDrawApp) {
return new AfcInteraction(app);
}
filter(...grahpics: JlGraphic[]): Afc[] | undefined {
return grahpics.filter((g) => g.type === Afc.Type).map((g) => g as Afc);
}
bind(g: Afc): void {
g.eventMode = 'static';
g.cursor = 'pointer';
g.scalable = true;
g.rotatable = true;
g.on('transformstart', this.transformstart, this);
}
unbind(g: Afc): void {
g.eventMode = 'none';
g.scalable = false;
g.rotatable = false;
g.off('transformstart', this.transformstart, this);
}
transformstart(e: GraphicTransformEvent) {
const target = e.target as DisplayObject;
const afc = target.getGraphic() as Afc;
afc.getGraphicApp().setOptions({
absorbablePositions: buildAbsorbablePositions(afc),
});
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 118 KiB

View File

@ -0,0 +1,725 @@
{
"frames": {
"fasFailureControlHostNormal.png": {
"frame": { "x": 0, "y": 0, "w": 32, "h": 32 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 },
"sourceSize": { "w": 512, "h": 194 },
"anchor": { "x": 0.5, "y": 0.5 }
},
"fasFailureControlHostFault.png": {
"frame": { "x": 32, "y": 0, "w": 32, "h": 32 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 },
"sourceSize": { "w": 512, "h": 194 },
"anchor": { "x": 0.5, "y": 0.5 }
},
"fasFailureControlHostInterruption": {
"frame": { "x": 64, "y": 0, "w": 32, "h": 32 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 },
"sourceSize": { "w": 512, "h": 194 },
"anchor": { "x": 0.5, "y": 0.5 }
},
"smokeDetectorFireAlarm": {
"frame": { "x": 96, "y": 0, "w": 32, "h": 32 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 },
"sourceSize": { "w": 512, "h": 194 },
"anchor": { "x": 0.5, "y": 0.5 }
},
"smokeDetectorNormal": {
"frame": { "x": 128, "y": 0, "w": 32, "h": 32 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 },
"sourceSize": { "w": 512, "h": 194 },
"anchor": { "x": 0.5, "y": 0.5 }
},
"smokeDetectorIsolate": {
"frame": { "x": 160, "y": 0, "w": 32, "h": 32 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 },
"sourceSize": { "w": 512, "h": 194 },
"anchor": { "x": 0.5, "y": 0.5 }
},
"smokeDetectorFault": {
"frame": { "x": 192, "y": 0, "w": 32, "h": 32 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 },
"sourceSize": { "w": 512, "h": 194 },
"anchor": { "x": 0.5, "y": 0.5 }
},
"smokeDetectorForewarning": {
"frame": { "x": 224, "y": 0, "w": 32, "h": 32 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 },
"sourceSize": { "w": 512, "h": 194 },
"anchor": { "x": 0.5, "y": 0.5 }
},
"smokeDetectorInterruption": {
"frame": { "x": 256, "y": 0, "w": 32, "h": 32 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 },
"sourceSize": { "w": 512, "h": 194 },
"anchor": { "x": 0.5, "y": 0.5 }
},
"temperatureDetectorFireAlarm": {
"frame": { "x": 288, "y": 0, "w": 32, "h": 32 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 },
"sourceSize": { "w": 512, "h": 194 },
"anchor": { "x": 0.5, "y": 0.5 }
},
"temperatureDetectorNormal": {
"frame": { "x": 320, "y": 0, "w": 32, "h": 32 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 },
"sourceSize": { "w": 512, "h": 194 },
"anchor": { "x": 0.5, "y": 0.5 }
},
"temperatureDetectorIsolate": {
"frame": { "x": 352, "y": 0, "w": 32, "h": 32 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 },
"sourceSize": { "w": 512, "h": 194 },
"anchor": { "x": 0.5, "y": 0.5 }
},
"temperatureDetectorFault": {
"frame": { "x": 384, "y": 0, "w": 32, "h": 32 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 },
"sourceSize": { "w": 512, "h": 194 },
"anchor": { "x": 0.5, "y": 0.5 }
},
"temperatureDetectorForewarning": {
"frame": { "x": 416, "y": 0, "w": 32, "h": 32 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 },
"sourceSize": { "w": 512, "h": 194 },
"anchor": { "x": 0.5, "y": 0.5 }
},
"temperatureDetectorInterruption": {
"frame": { "x": 448, "y": 0, "w": 32, "h": 32 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 },
"sourceSize": { "w": 512, "h": 194 },
"anchor": { "x": 0.5, "y": 0.5 }
},
"manualAlarmButtonFireAlarm": {
"frame": { "x": 0, "y": 32, "w": 32, "h": 32 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 },
"sourceSize": { "w": 512, "h": 194 },
"anchor": { "x": 0.5, "y": 0.5 }
},
"manualAlarmButtonNormal": {
"frame": { "x": 32, "y": 32, "w": 32, "h": 32 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 },
"sourceSize": { "w": 512, "h": 194 },
"anchor": { "x": 0.5, "y": 0.5 }
},
"manualAlarmButtonIsolate": {
"frame": { "x": 64, "y": 32, "w": 32, "h": 32 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 },
"sourceSize": { "w": 512, "h": 194 },
"anchor": { "x": 0.5, "y": 0.5 }
},
"manualAlarmButtonFault": {
"frame": { "x": 96, "y": 32, "w": 32, "h": 32 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 },
"sourceSize": { "w": 512, "h": 194 },
"anchor": { "x": 0.5, "y": 0.5 }
},
"manualAlarmButtonInterruption": {
"frame": { "x": 128, "y": 32, "w": 32, "h": 32 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 },
"sourceSize": { "w": 512, "h": 194 },
"anchor": { "x": 0.5, "y": 0.5 }
},
"gasExtinguishingNormal": {
"frame": { "x": 160, "y": 32, "w": 32, "h": 32 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 },
"sourceSize": { "w": 512, "h": 194 },
"anchor": { "x": 0.5, "y": 0.5 }
},
"gasExtinguishingFault": {
"frame": { "x": 192, "y": 32, "w": 32, "h": 32 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 },
"sourceSize": { "w": 512, "h": 194 },
"anchor": { "x": 0.5, "y": 0.5 }
},
"gasExtinguishingIsolate": {
"frame": { "x": 224, "y": 32, "w": 32, "h": 32 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 },
"sourceSize": { "w": 512, "h": 194 },
"anchor": { "x": 0.5, "y": 0.5 }
},
"gasExtinguishingForewarning": {
"frame": { "x": 256, "y": 32, "w": 32, "h": 32 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 },
"sourceSize": { "w": 512, "h": 194 },
"anchor": { "x": 0.5, "y": 0.5 }
},
"gasExtinguishingAlarm": {
"frame": { "x": 288, "y": 32, "w": 32, "h": 32 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 },
"sourceSize": { "w": 512, "h": 194 },
"anchor": { "x": 0.5, "y": 0.5 }
},
"gasExtinguishingInterruption": {
"frame": { "x": 320, "y": 32, "w": 32, "h": 32 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 },
"sourceSize": { "w": 512, "h": 194 },
"anchor": { "x": 0.5, "y": 0.5 }
},
"fasAlarmAlarm": {
"frame": { "x": 356, "y": 32, "w": 32, "h": 32 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 },
"sourceSize": { "w": 512, "h": 194 },
"anchor": { "x": 0.5, "y": 0.5 }
},
"fasAlarmNormal": {
"frame": { "x": 388, "y": 32, "w": 32, "h": 32 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 },
"sourceSize": { "w": 512, "h": 194 },
"anchor": { "x": 0.5, "y": 0.5 }
},
"fasAlarmIsolate": {
"frame": { "x": 420, "y": 32, "w": 32, "h": 32 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 },
"sourceSize": { "w": 512, "h": 194 },
"anchor": { "x": 0.5, "y": 0.5 }
},
"fasAlarmFault": {
"frame": { "x": 456, "y": 32, "w": 32, "h": 32 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 },
"sourceSize": { "w": 512, "h": 194 },
"anchor": { "x": 0.5, "y": 0.5 }
},
"fasAlarmInterruption": {
"frame": { "x": 488, "y": 32, "w": 32, "h": 32 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 },
"sourceSize": { "w": 512, "h": 194 },
"anchor": { "x": 0.5, "y": 0.5 }
},
"fireShutterNormal": {
"frame": { "x": 0, "y": 64, "w": 32, "h": 32 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 },
"sourceSize": { "w": 512, "h": 194 },
"anchor": { "x": 0.5, "y": 0.5 }
},
"fireShutterAlarm": {
"frame": { "x": 32, "y": 64, "w": 32, "h": 32 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 },
"sourceSize": { "w": 512, "h": 194 },
"anchor": { "x": 0.5, "y": 0.5 }
},
"fireShutterFall": {
"frame": { "x": 64, "y": 64, "w": 32, "h": 32 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 },
"sourceSize": { "w": 512, "h": 194 },
"anchor": { "x": 0.5, "y": 0.5 }
},
"fireShutterInterruption": {
"frame": { "x": 96, "y": 64, "w": 32, "h": 32 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 },
"sourceSize": { "w": 512, "h": 194 },
"anchor": { "x": 0.5, "y": 0.5 }
},
"fireShutterHalfFall": {
"frame": { "x": 128, "y": 64, "w": 32, "h": 32 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 },
"sourceSize": { "w": 512, "h": 194 },
"anchor": { "x": 0.5, "y": 0.5 }
},
"firePumpRun": {
"frame": { "x": 160, "y": 64, "w": 32, "h": 32 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 },
"sourceSize": { "w": 512, "h": 194 },
"anchor": { "x": 0.5, "y": 0.5 }
},
"firePumpStop": {
"frame": { "x": 192, "y": 64, "w": 32, "h": 32 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 },
"sourceSize": { "w": 512, "h": 194 },
"anchor": { "x": 0.5, "y": 0.5 }
},
"firePumpFault": {
"frame": { "x": 224, "y": 64, "w": 32, "h": 32 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 },
"sourceSize": { "w": 512, "h": 194 },
"anchor": { "x": 0.5, "y": 0.5 }
},
"firePumpInterruption": {
"frame": { "x": 256, "y": 64, "w": 32, "h": 32 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 },
"sourceSize": { "w": 512, "h": 194 },
"anchor": { "x": 0.5, "y": 0.5 }
},
"sprayPumpRun": {
"frame": { "x": 288, "y": 64, "w": 32, "h": 32 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 },
"sourceSize": { "w": 512, "h": 194 },
"anchor": { "x": 0.5, "y": 0.5 }
},
"sprayPumpStop": {
"frame": { "x": 320, "y": 64, "w": 32, "h": 32 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 },
"sourceSize": { "w": 512, "h": 194 },
"anchor": { "x": 0.5, "y": 0.5 }
},
"sprayPumpFault": {
"frame": { "x": 356, "y": 64, "w": 32, "h": 32 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 },
"sourceSize": { "w": 512, "h": 194 },
"anchor": { "x": 0.5, "y": 0.5 }
},
"sprayPumpInterruption": {
"frame": { "x": 388, "y": 64, "w": 32, "h": 32 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 },
"sourceSize": { "w": 512, "h": 194 },
"anchor": { "x": 0.5, "y": 0.5 }
},
"stabilizedPressurePumpRun": {
"frame": { "x": 0, "y": 96, "w": 32, "h": 32 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 },
"sourceSize": { "w": 512, "h": 194 },
"anchor": { "x": 0.5, "y": 0.5 }
},
"stabilizedPressurePumpStop": {
"frame": { "x": 32, "y": 96, "w": 32, "h": 32 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 },
"sourceSize": { "w": 512, "h": 194 },
"anchor": { "x": 0.5, "y": 0.5 }
},
"stabilizedPressurePumpFault": {
"frame": { "x": 64, "y": 96, "w": 32, "h": 32 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 },
"sourceSize": { "w": 512, "h": 194 },
"anchor": { "x": 0.5, "y": 0.5 }
},
"stabilizedPressurePumpInterruption": {
"frame": { "x": 96, "y": 96, "w": 32, "h": 32 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 },
"sourceSize": { "w": 512, "h": 194 },
"anchor": { "x": 0.5, "y": 0.5 }
},
"nonFirePowerSupplyRun": {
"frame": { "x": 128, "y": 96, "w": 32, "h": 32 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 },
"sourceSize": { "w": 512, "h": 194 },
"anchor": { "x": 0.5, "y": 0.5 }
},
"nonFirePowerSupplyNormal": {
"frame": { "x": 160, "y": 96, "w": 32, "h": 32 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 },
"sourceSize": { "w": 512, "h": 194 },
"anchor": { "x": 0.5, "y": 0.5 }
},
"nonFirePowerSupplyFault": {
"frame": { "x": 192, "y": 96, "w": 32, "h": 32 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 },
"sourceSize": { "w": 512, "h": 194 },
"anchor": { "x": 0.5, "y": 0.5 }
},
"nonFirePowerSupplyInterruption": {
"frame": { "x": 224, "y": 96, "w": 32, "h": 32 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 },
"sourceSize": { "w": 512, "h": 194 },
"anchor": { "x": 0.5, "y": 0.5 }
},
"waterFlowIndicatorRun": {
"frame": { "x": 256, "y": 96, "w": 32, "h": 32 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 },
"sourceSize": { "w": 512, "h": 194 },
"anchor": { "x": 0.5, "y": 0.5 }
},
"waterFlowIndicatorNormal": {
"frame": { "x": 288, "y": 96, "w": 32, "h": 32 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 },
"sourceSize": { "w": 512, "h": 194 },
"anchor": { "x": 0.5, "y": 0.5 }
},
"waterFlowIndicatorStop": {
"frame": { "x": 320, "y": 96, "w": 32, "h": 32 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 },
"sourceSize": { "w": 512, "h": 194 },
"anchor": { "x": 0.5, "y": 0.5 }
},
"waterFlowIndicatorInterruption": {
"frame": { "x": 352, "y": 96, "w": 32, "h": 32 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 },
"sourceSize": { "w": 512, "h": 194 },
"anchor": { "x": 0.5, "y": 0.5 }
},
"signalButterflyValveRun": {
"frame": { "x": 384, "y": 96, "w": 32, "h": 32 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 },
"sourceSize": { "w": 512, "h": 194 },
"anchor": { "x": 0.5, "y": 0.5 }
},
"signalButterflyValveNormal": {
"frame": { "x": 384, "y": 96, "w": 32, "h": 32 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 },
"sourceSize": { "w": 512, "h": 194 },
"anchor": { "x": 0.5, "y": 0.5 }
},
"signalButterflyValveStop": {
"frame": { "x": 384, "y": 96, "w": 32, "h": 32 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 },
"sourceSize": { "w": 512, "h": 194 },
"anchor": { "x": 0.5, "y": 0.5 }
},
"signalButterflyValveInterruption": {
"frame": { "x": 384, "y": 96, "w": 32, "h": 32 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 },
"sourceSize": { "w": 512, "h": 194 },
"anchor": { "x": 0.5, "y": 0.5 }
},
"pressureSwitchRun": {
"frame": { "x": 0, "y": 128, "w": 32, "h": 32 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 },
"sourceSize": { "w": 512, "h": 194 },
"anchor": { "x": 0.5, "y": 0.5 }
},
"pressureSwitchNormal": {
"frame": { "x": 32, "y": 128, "w": 32, "h": 32 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 },
"sourceSize": { "w": 512, "h": 194 },
"anchor": { "x": 0.5, "y": 0.5 }
},
"pressureSwitchFault": {
"frame": { "x": 64, "y": 128, "w": 32, "h": 32 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 },
"sourceSize": { "w": 512, "h": 194 },
"anchor": { "x": 0.5, "y": 0.5 }
},
"pressureSwitchInterruption": {
"frame": { "x": 96, "y": 128, "w": 32, "h": 32 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 },
"sourceSize": { "w": 512, "h": 194 },
"anchor": { "x": 0.5, "y": 0.5 }
},
"faultValveRun": {
"frame": { "x": 128, "y": 128, "w": 32, "h": 32 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 },
"sourceSize": { "w": 512, "h": 194 },
"anchor": { "x": 0.5, "y": 0.5 }
},
"faultValveNormal": {
"frame": { "x": 160, "y": 128, "w": 32, "h": 32 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 },
"sourceSize": { "w": 512, "h": 194 },
"anchor": { "x": 0.5, "y": 0.5 }
},
"faultValveFault": {
"frame": { "x": 192, "y": 128, "w": 32, "h": 32 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 },
"sourceSize": { "w": 512, "h": 194 },
"anchor": { "x": 0.5, "y": 0.5 }
},
"faultValveInterruption": {
"frame": { "x": 224, "y": 128, "w": 32, "h": 32 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 },
"sourceSize": { "w": 512, "h": 194 },
"anchor": { "x": 0.5, "y": 0.5 }
},
"emergencyLightingRun": {
"frame": { "x": 256, "y": 128, "w": 32, "h": 32 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 },
"sourceSize": { "w": 512, "h": 194 },
"anchor": { "x": 0.5, "y": 0.5 }
},
"emergencyLightingNormal": {
"frame": { "x": 288, "y": 128, "w": 32, "h": 32 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 },
"sourceSize": { "w": 512, "h": 194 },
"anchor": { "x": 0.5, "y": 0.5 }
},
"emergencyLightingFault": {
"frame": { "x": 320, "y": 128, "w": 32, "h": 32 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 },
"sourceSize": { "w": 512, "h": 194 },
"anchor": { "x": 0.5, "y": 0.5 }
},
"emergencyLightingInterruption": {
"frame": { "x": 352, "y": 128, "w": 32, "h": 32 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 },
"sourceSize": { "w": 512, "h": 194 },
"anchor": { "x": 0.5, "y": 0.5 }
},
"elevatorLiftToTopFireFault": {
"frame": { "x": 384, "y": 128, "w": 32, "h": 32 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 },
"sourceSize": { "w": 512, "h": 194 },
"anchor": { "x": 0.5, "y": 0.5 }
},
"elevatorLiftToTopNormal": {
"frame": { "x": 416, "y": 128, "w": 32, "h": 32 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 },
"sourceSize": { "w": 512, "h": 194 },
"anchor": { "x": 0.5, "y": 0.5 }
},
"elevatorLiftToTopFault": {
"frame": { "x": 448, "y": 128, "w": 32, "h": 32 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 },
"sourceSize": { "w": 512, "h": 194 },
"anchor": { "x": 0.5, "y": 0.5 }
},
"elevatorLiftToTopInterruption": {
"frame": { "x": 480, "y": 128, "w": 32, "h": 32 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 },
"sourceSize": { "w": 512, "h": 194 },
"anchor": { "x": 0.5, "y": 0.5 }
},
"electricButterflyValveFireAlarm": {
"frame": { "x": 0, "y": 160, "w": 32, "h": 32 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 },
"sourceSize": { "w": 512, "h": 194 },
"anchor": { "x": 0.5, "y": 0.5 }
},
"electricButterflyValveNormal": {
"frame": { "x": 32, "y": 160, "w": 32, "h": 32 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 },
"sourceSize": { "w": 512, "h": 194 },
"anchor": { "x": 0.5, "y": 0.5 }
},
"electricButterflyValveFault": {
"frame": { "x": 64, "y": 160, "w": 32, "h": 32 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 },
"sourceSize": { "w": 512, "h": 194 },
"anchor": { "x": 0.5, "y": 0.5 }
},
"electricButterflyValveInterruption": {
"frame": { "x": 96, "y": 160, "w": 32, "h": 32 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 },
"sourceSize": { "w": 512, "h": 194 },
"anchor": { "x": 0.5, "y": 0.5 }
},
"fireValveFireAlarm": {
"frame": { "x": 128, "y": 160, "w": 32, "h": 32 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 },
"sourceSize": { "w": 512, "h": 194 },
"anchor": { "x": 0.5, "y": 0.5 }
},
"fireValveNormal": {
"frame": { "x": 160, "y": 160, "w": 32, "h": 32 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 },
"sourceSize": { "w": 512, "h": 194 },
"anchor": { "x": 0.5, "y": 0.5 }
},
"fireValveIsolate": {
"frame": { "x": 192, "y": 160, "w": 32, "h": 32 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 },
"sourceSize": { "w": 512, "h": 194 },
"anchor": { "x": 0.5, "y": 0.5 }
},
"fireValveFault": {
"frame": { "x": 224, "y": 160, "w": 32, "h": 32 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 },
"sourceSize": { "w": 512, "h": 194 },
"anchor": { "x": 0.5, "y": 0.5 }
},
"fireValveInterruption": {
"frame": { "x": 256, "y": 160, "w": 32, "h": 32 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 },
"sourceSize": { "w": 512, "h": 194 },
"anchor": { "x": 0.5, "y": 0.5 }
},
"electricFireExtinguishingValveFireAlarm": {
"frame": { "x": 288, "y": 160, "w": 32, "h": 32 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 },
"sourceSize": { "w": 512, "h": 194 },
"anchor": { "x": 0.5, "y": 0.5 }
},
"electricFireExtinguishingValveNormal": {
"frame": { "x": 320, "y": 160, "w": 32, "h": 32 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 },
"sourceSize": { "w": 512, "h": 194 },
"anchor": { "x": 0.5, "y": 0.5 }
},
"electricFireExtinguishingValveFault": {
"frame": { "x": 352, "y": 160, "w": 32, "h": 32 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 },
"sourceSize": { "w": 512, "h": 194 },
"anchor": { "x": 0.5, "y": 0.5 }
},
"electricFireExtinguishingValveInterruption": {
"frame": { "x": 352, "y": 160, "w": 32, "h": 32 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 },
"sourceSize": { "w": 512, "h": 194 },
"anchor": { "x": 0.5, "y": 0.5 }
}
},
"meta": {
"app": "https://www.codeandweb.com/texturepacker",
"version": "1.1",
"image": "FasDevice.png",
"format": "RGBA8888",
"size": { "w": 512, "h": 194 },
"scale": "1",
"smartupdate": "$TexturePacker:SmartUpdate:e7620bd2d73cc0b3e2deea9704e7eefc:f129a1d9e4b9ba57720b3861c22b155b:eb2d421f7759984b7713aa4aa5354134$"
}
}

View File

@ -276,6 +276,7 @@
@click="drawSelect(ctl.value)" @click="drawSelect(ctl.value)"
:icon="ctl.icon" :icon="ctl.icon"
> >
<q-tooltip>{{ ctl.tip }}</q-tooltip>
</q-btn> </q-btn>
</template> </template>
</div> </div>
@ -328,6 +329,7 @@ import { SprayPump } from 'src/graphics/FAS/sprayPump/SprayPump';
import { StabilizedPressurePump } from 'src/graphics/FAS/stabilizedPressurePump/StabilizedPressurePump'; import { StabilizedPressurePump } from 'src/graphics/FAS/stabilizedPressurePump/StabilizedPressurePump';
import { Acs } from 'src/graphics/FAS/acs/Acs'; import { Acs } from 'src/graphics/FAS/acs/Acs';
import { VerticalElevator } from 'src/graphics/BAS/verticalElevator/VerticalElevator'; import { VerticalElevator } from 'src/graphics/BAS/verticalElevator/VerticalElevator';
import { Afc } from 'src/graphics/FAS/afc/Afc';
const $q = useQuasar(); const $q = useQuasar();
const route = useRoute(); const route = useRoute();
@ -422,6 +424,7 @@ function handleUtilsOption() {
drawAssistantsTypes.push(SprayPump.Type); drawAssistantsTypes.push(SprayPump.Type);
drawAssistantsTypes.push(StabilizedPressurePump.Type); drawAssistantsTypes.push(StabilizedPressurePump.Type);
drawAssistantsTypes.push(Acs.Type); drawAssistantsTypes.push(Acs.Type);
drawAssistantsTypes.push(Afc.Type);
break; break;
} }
drawAssistantsTypes.forEach((type) => { drawAssistantsTypes.forEach((type) => {