/*%FSM*/ /*%FSM*/ /* item0[] = {"Init",0,250,65.361679,-140.426117,155.361542,-90.426193,0.000000,"Init"}; item1[] = {"Update_Income",2,4346,-66.836029,-56.267544,23.163887,-6.267582,0.000000,"Update Income"}; item2[] = {"End",1,250,-218.006683,15.304325,-128.006653,65.304314,0.000000,"End"}; item3[] = {"Loop",4,218,65.605347,-56.267605,155.605377,-6.267574,0.000000,"Loop"}; item4[] = {"Gameover",4,218,-216.668854,-56.267559,-126.668869,-6.267574,0.000000,"Gameover"}; link0[] = {0,3}; link1[] = {1,3}; link2[] = {1,4}; link3[] = {3,1}; link4[] = {4,2}; globals[] = {0.000000,0,0,0,0,640,480,1,14,6316128,1,-365.650940,391.210938,85.220795,-348.477112,758,514,1}; window[] = {0,-1,-1,-1,-1,734,100,1360,100,1,776}; *//*%FSM*/ class FSM { fsmName = "resources_cli"; class States { /*%FSM*/ class Init { name = "Init"; init = /*%FSM*/"_pside = _this;" \n "" \n "_lastUpdate = time;" \n "" \n "_is = 'WFBE_INCOMESYSTEM' Call GetNamespace;" \n "_ii = 'WFBE_INCOMEINTERVAL' Call GetNamespace;"/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { /*%FSM*/ class Loop { priority = 0.000000; to="Update_Income"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"time - _lastUpdate > _ii && !gameOver"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ }; }; /*%FSM*/ /*%FSM*/ class Update_Income { name = "Update_Income"; init = /*%FSM*/"_lastUpdate = time;" \n "" \n "_income = 0;" \n "" \n "//--- Income Getter." \n "{" \n " _side = (_x getVariable ""sideID"") Call GetSideFromID;" \n " _supply = _x getVariable ""supplyValue"";" \n " if (_side == _pside) then {_income = _income + (_supply / _is)};" \n "} forEach towns;" \n "" \n "//--- Only change the funds if needed." \n "if (_income > 0) then {" \n " (_income) Call ChangePlayerFunds;" \n "};"/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { /*%FSM*/ class Gameover { priority = 0.000000; to="End"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"gameOver"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ /*%FSM*/ class Loop { priority = 0.000000; to="Update_Income"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"time - _lastUpdate > _ii && !gameOver"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ }; }; /*%FSM*/ /*%FSM*/ class End { name = "End"; init = /*%FSM*/""/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { }; }; /*%FSM*/ }; initState="Init"; finalStates[] = { "End", }; }; /*%FSM*/