Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/branches/storymodeHS14/data/gui/scripts/CampaignMenu.lua @ 10157

Last change on this file since 10157 was 10157, checked in by maxima, 9 years ago

Changes of Phillip. He couldn't upload himself. New Campaign Menu added.

File size: 3.7 KB
Line 
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.