Brick icon

A3 OnDisplayCreated FSM

Brick | PRO | 05/13/18 12:17:31 PM UTC | 0 ⭐ | 6522 👁️ | Never ⏰ | []
SQF |

5.8 KB

|

None

|

0 👍

/

0 👎

/*%FSM<COMPILE "X:\Games\Steam\steamapps\common\Arma 3 Tools\FSMEditor\scriptedFSM.cfg, OnDisplayCreated">*/
/*%FSM<HEAD>*/
/*
item0[] = {"init",0,250,-178.610596,-221.868256,-88.610580,-171.868271,0.000000,"init"};
item1[] = {"Closed",2,250,-178.014099,-95.142662,-88.014069,-45.142662,0.000000,"Closed"};
item2[] = {"WaitForOpen",4,218,-81.049820,-51.554138,8.950180,-1.554138,0.000000,"WaitForOpen"};
item3[] = {"Opened",2,250,-177.543823,-0.838074,-87.543793,49.161926,0.000000,"Opened"};
item4[] = {"WaitForClose",4,218,-272.152405,-50.613510,-182.152435,-0.613510,0.000000,"WaitForClose"};
item5[] = {"_",8,218,-177.332642,-161.043228,-87.332642,-111.043213,0.000000,""};
link0[] = {0,5};
link1[] = {1,2};
link2[] = {2,3};
link3[] = {3,4};
link4[] = {4,1};
link5[] = {5,1};
globals[] = {0.000000,0,0,0,0,640,480,1,65,6316128,1,-318.503601,198.373108,228.692810,-248.099594,980,904,1};
window[] = {0,-1,-1,-1,-1,1340,1049,2421,264,1,998};
*//*%FSM</HEAD>*/
class FSM
{
        fsmName = "OnDisplayCreated";
        class States
        {
                /*%FSM<STATE "init">*/
                class init
                {
                        name = "init";
                        itemno = 0;
                        init = /*%FSM<STATEINIT""">*/"private _identifier = param [0];" \n
                         "private _callback = param [1];" \n
                         "" \n
                         "private _findDisplay = switch (typename _identifier) do" \n
                         "{" \n
                         "    case (typename """"):" \n
                         "    {" \n
                         "        {" \n
                         "            uiNamespace getVariable [_this, displayNull];" \n
                         "        };" \n
                         "    };" \n
                         "" \n
                         "    case (typename 0):" \n
                         "    {" \n
                         "        {" \n
                         "            findDisplay _this;" \n
                         "        };" \n
                         "    };" \n
                         "};" \n
                         ""/*%FSM</STATEINIT""">*/;
                        precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
                        class Links
                        {
                                /*%FSM<LINK "_">*/
                                class _
                                {
                                        itemno = 5;
                                        priority = 0.000000;
                                        to="Closed";
                                        precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
                                        condition=/*%FSM<CONDITION""">*/""/*%FSM</CONDITION""">*/;
                                        action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
                                };
                                /*%FSM</LINK>*/
                        };
                };
                /*%FSM</STATE>*/
                /*%FSM<STATE "Closed">*/
                class Closed
                {
                        name = "Closed";
                        itemno = 1;
                        init = /*%FSM<STATEINIT""">*/""/*%FSM</STATEINIT""">*/;
                        precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
                        class Links
                        {
                                /*%FSM<LINK "WaitForOpen">*/
                                class WaitForOpen
                                {
                                        itemno = 2;
                                        priority = 0.000000;
                                        to="Opened";
                                        precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
                                        condition=/*%FSM<CONDITION""">*/"private _display = _identifier call _findDisplay;" \n
                                         "" \n
                                         "!isNull (_display);"/*%FSM</CONDITION""">*/;
                                        action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
                                };
                                /*%FSM</LINK>*/
                        };
                };
                /*%FSM</STATE>*/
                /*%FSM<STATE "Opened">*/
                class Opened
                {
                        name = "Opened";
                        itemno = 3;
                        init = /*%FSM<STATEINIT""">*/"_display call _callback;"/*%FSM</STATEINIT""">*/;
                        precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
                        class Links
                        {
                                /*%FSM<LINK "WaitForClose">*/
                                class WaitForClose
                                {
                                        itemno = 4;
                                        priority = 0.000000;
                                        to="Closed";
                                        precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
                                        condition=/*%FSM<CONDITION""">*/"isNull (_identifier call _findDisplay);"/*%FSM</CONDITION""">*/;
                                        action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
                                };
                                /*%FSM</LINK>*/
                        };
                };
                /*%FSM</STATE>*/
        };
        initState="init";
        finalStates[] =
        {
        };
};
/*%FSM</COMPILE>*/

Comments

  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎

    
        
  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎

    
        
  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎