Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/branches/presentationHS14/data/gui/scripts/CampaignMenu.lua @ 10175

Last change on this file since 10175 was 10175, checked in by maxima, 10 years ago

storymodeHS14 merged. You have to change the link to campaign.txt in Mission.cc

File size: 3.7 KB
RevLine 
[10157]1--CampaignMenu.lua
2
3local P = createMenuSheet("CampaignMenu")
4
5function P.onLoad()
6       
7        local MissionTwoButton = winMgr:getWindow("orxonox/MissionTwoButton")
8        if (P.CheckLevel("missionOne.oxw")) then
9        MissionTwoButton:setProperty("Disabled", "False")
10        end
11       
12        local MissionThreeButton = winMgr:getWindow("orxonox/MissionThreeButton")
13        if (P.CheckLevel("fightInOurBack.oxw")) then
14        MissionThreeButton:setProperty("Disabled", "False")
15        end
16
17        local MissionFourButton = winMgr:getWindow("orxonox/MissionFourButton")
18        if (P.CheckLevel("pirateAttack.oxw")) then
19        MissionFourButton:setProperty("Disabled", "False")
20        end
21       
22        local Completed = winMgr:getWindow("orxonox/CampaignMenuCongratulation")
23        if (P.CheckLevel("iJohnVane_TriptoArea51.oxw")) then
24        Completed:setProperty("Visible","True")
25        end
26end
27
28function P.GenerateHelperString(number)
29        local string = ""
30        while number > 1 do
31                string = string.." "
32                number = number-1
33        end
34        string = string.."."
35        return string
36end
37
38function P.FindLevel(filename)
39        local level = nil
40        local templevel = nil
41        local size = orxonox.LevelManager:getInstance():getNumberOfLevels()
42    local index = 0
43    while index < size do
44        templevel = orxonox.LevelManager:getInstance():getAvailableLevelListItem(index)
45        if(templevel:getXMLFilename()==filename) then 
46                level = templevel
47        end
48    index=index+1
49    end
50    return level
51end
52   
53function P.CheckLevel(filename)
54        local file = io.open("/home/pmao/pmao-extra-0/orxonox/storymodeHS14/data/gui/scripts/campaign.txt", "r+")
55        local index = 0
56        local returnvalue = false
57        local numberoflines = 58-string.len(filename)
58        local helpstringfalse = filename.." 0"..P.GenerateHelperString(numberoflines) 
59        local helpstringtrue = filename.." 1"..P.GenerateHelperString(numberoflines)
60        while index < 100 do
61                local line = file:read()
62                if(line == helpstringfalse) then
63                        returnvalue = false 
64                        break
65                end
66                if(line == helpstringtrue) then
67                        returnvalue = true
68                        break
69                end
70                index=index+1
71        end     
72        io.close(file)
73        return returnvalue
74end
75
76function P.MissionOneButton_clicked(e)
77        local level = P.FindLevel("missionOne.oxw")
78                orxonox.execute("startGame " .. level:getXMLFilename())
79                hideAllMenuSheets()
80end
81
82function P.MissionTwoButton_clicked(e)
83        local level = P.FindLevel("fightInOurBack.oxw")
84        if (P.CheckLevel("missionOne.oxw")) then
85                orxonox.execute("startGame " .. level:getXMLFilename())
86                hideAllMenuSheets()
87        end
88end
89
90function P.MissionThreeButton_clicked(e)
91        local level = P.FindLevel("pirateAttack.oxw")
92        if (P.CheckLevel("fightInOurBack.oxw")) then
93                orxonox.execute("startGame " .. level:getXMLFilename())
94                hideAllMenuSheets()
95        else
96                 hideMenuSheet(P.name)
97        end
98end
99
100function P.MissionFourButton_clicked(e)
101        local level = P.FindLevel("iJohnVane_TriptoArea51.oxw")
102        if (P.CheckLevel("pirateAttack.oxw")) then
103                orxonox.execute("startGame " .. level:getXMLFilename())
104                hideAllMenuSheets()
105        else
106                 hideMenuSheet(P.name)
107        end
108end
109
110function P.CampaignMenuRefreshButton_clicked(e)
111        local MissionTwoButton = winMgr:getWindow("orxonox/MissionTwoButton")
112        if (P.CheckLevel("missionOne.oxw")) then
113        MissionTwoButton:setProperty("Disabled", "False")
114        end
115       
116        local MissionThreeButton = winMgr:getWindow("orxonox/MissionThreeButton")
117        if (P.CheckLevel("fightInOurBack.oxw")) then
118        MissionThreeButton:setProperty("Disabled", "False")
119        end
120
121        local MissionFourButton = winMgr:getWindow("orxonox/MissionFourButton")
122        if (P.CheckLevel("pirateAttack.oxw")) then
123        MissionFourButton:setProperty("Disabled", "False")
124        end
125       
126        local Completed = winMgr:getWindow("orxonox/CampaignMenuCongratulation")
127        if (P.CheckLevel("iJohnVane_TriptoArea51.oxw")) then
128        Completed:setProperty("Visible","True")
129        end
130end
131
132function P.CampaignMenuBackButton_clicked(e)
133    hideMenuSheet(P.name)
134end
135
136return P
Note: See TracBrowser for help on using the repository browser.