Hallo zusammen,
ich versuche derzeit einen Dialog mit einer Checkbox über die Map einzubinden welcher es ermöglicht ein Element "loc_Transmitter" ein- und auszublenden.
Der Dialog soll sich beim öffnen der Map ebenfalls öffnen, jedoch die Map nicht beeinflussen (man kann trotz das der Dialog geöffnet ist Markierungen / ein- auszoomen etc.).
Leider öffnet sich der Dialog nicht ?!
Anbei die Files:
Functions.hpp im Hauptverzeichnis folgendes eingefügt:
MasterHandler.hpp im /dialog/ Ordner folgendes eingefügt:
Neue Dateien im Ordner /core/functions hinzugefügt:
fn_showMarkers.sqf:
- #include "..\..\script_macros.hpp"
- /*
- File : fn_showMarkers.sqf
- Author: wanT
- */
- private["_mode","_state","_Markers"];
- _mode = SEL(_this,0);
- _state = SEL(_this,1);
- switch(_mode) do {
- case "a": {if(EQUAL(_state,1)) then {Life_MapSettings set [0,true]} else {Life_MapSettings set [0,false]};};
- };
- _Markers = allMapMarkers;
- //Clean Map
- {_x setMarkerAlphaLocal 0} forEach _Markers;
- //Kommunikationsanlage ein- und ausblenden
- if (Life_MapSettings select 0) then {{if (getMarkerType _x in ["loc_Transmitter"]) then {_x setMarkerAlphaLocal 1;};} forEach _Markers;};
fn_MarkerMenu.sqf:
- #include "..\..\script_macros.hpp"
- /*
- File : fn_MarkerMenu.sqf
- Author: wanT
- */
- if(isNil "Life_MapSettings") then {
- disableSerialization;
- Life_MapSettings = [true];
- _crtl = (findDisplay 12) ctrlCreate ['RscText', -1];
- _crtl ctrlSetPosition [0 * safezoneW + safezoneX,0.553 * safezoneH + safezoneY,0.098 * safezoneW,0.022 * safezoneH];
- _crtl ctrlsetText "Kommanlage";
- _crtl ctrlSetBackgroundColor [0.875,0.671,0.047,1];
- _crtl ctrlCommit 0;
- _crtl = (findDisplay 12) ctrlCreate ['RscCheckbox', 4001];
- _crtl ctrlSetPosition [0.1 * safezoneW + safezoneX,0.553 * safezoneH + safezoneY,0.015 * safezoneW,0.022 * safezoneH];
- _crtl cbSetChecked (Life_MapSettings select 0);
- _crtl ctrlSetEventHandler ["CheckedChanged","['a',_this select 1] call life_fnc_showMarkers;"];
- _crtl ctrlCommit 0;
- };
- CONTROL(12,4001) cbSetChecked (Life_MapSettings select 0);
neue Datei im /dialog/ Ordner hinzugefügt:
- /*
- File : MapScreen.hpp
- Author: wanT
- */
- class life_MapScreen
- {
- idd = 4000;
- name = "life_MapScreen";
- movingEnable = 0;
- enableSimulation = 1;
- class controlsBackground {
- class Background: Life_RscText
- {
- idc = -1;
- x = 0 * safezoneW + safezoneX;
- y = 0.714 * safezoneH + safezoneY;
- w = 0.128906 * safezoneW;
- h = 0.286 * safezoneH;
- colorBackground[] = {0,0,0,0.7};
- };
- };
- class Controls
- {
- class Text_1: Life_RscText
- {
- idc = -1;
- text = "Kommanlage"; //--- ToDo: Localize;
- sizeEx = "0.02 * safeZoneH";
- x = 0.00499997 * safezoneW + safezoneX;
- y = 0.731 * safezoneH + safezoneY;
- w = 0.0979687 * safezoneW;
- h = 0.022 * safezoneH;
- colorBackground[] = {0.875,0.671,0.047,0.7};
- };
- class Box_1: Life_Checkbox
- {
- idc = 4001;
- onCheckedChanged = "['a',_this select 1] call life_fnc_showMarkers;";
- x = 0.108125 * safezoneW + safezoneX;
- y = 0.731 * safezoneH + safezoneY;
- w = 0.0154688 * safezoneW;
- h = 0.022 * safezoneH;
- };
- };
- };
MasterHandler.hpp im /dialog/ Ordner folgendes eingefügt:
das ganze gibt keinerlei Fehler aus - jedoch öffnet sich die Checkbox / der Dialog auch nicht. So langsam zweifel ich an mir
Eventuell habe ich einfach nur ein kleines aber wichtiges Element übersehen / vergessen...
Vielen Dank für die Hilfe schon jetzt!
//wanT