Mission = {
};


function Mission:OnInit()
	-- you may want to load a string-table etc. here...
end

function Mission:OnUpdate()
	local i;
	local bFinished=1;
	for i,objective in Mission do
		if (type(objective)~="function") then
			if (objective==0) then 
				bFinished=0;				
			else
			end
		end	
	end
	if (bFinished==1) then	
		self.Finish();
	end
end


function Mission:Finish()
	-- go to next mission...
end

function Mission:moveplayercam(cameraname)
--	System:LogToConsole("Event_moveplayer");
	local camera=System:GetEntityByName(cameraname);
	if((camera)and(_localplayer))then
		local camerapos=camera:GetPos();
		camerapos.z=camerapos.z-1.7;
		_localplayer:SetPos(camerapos);
		_localplayer:SetAngles(camera:GetAngles());
	end
end



function Mission:Event_moveplayer()
         Mission:moveplayercam("trapcam")
end



function Mission:Event_moveplayer1()
         Mission:moveplayercam("Explosioncam")
end


function Mission:Event_moveplayer2()
         Mission:moveplayercam("Airfieldcam")
end


function Mission:Event_moveplayer3()
         Mission:moveplayercam("Endcam")
end


function Mission:Event_Beginning()
Movie:PlaySequence("Beginning");
end



function Mission:Event_Trap()
Movie:PlaySequence("Trap");
end



function Mission:Event_Explosion()
Movie:PlaySequence("Explosion");
end



function Mission:Event_Lighthouse()
Movie:PlaySequence("Lighthouse");
end


function Mission:Event_Sinking_Ship()
Movie:PlaySequence("Sinking_Ship");
end


function Mission:Event_Bridge()
Movie:PlaySequence("Bridge");
end


function Mission:Event_Airfield_Explosion()
Movie:PlaySequence("Airfield_Explosion");
end



function Mission:Event_Airfield()
Movie:PlaySequence("Airfield");
end



function Mission:Event_c130()
Movie:PlaySequence("c130");
end



function Mission:Event_Gate_Cam()
Movie:PlaySequence("Gate_Cam");
end


function Mission:Event_Open_Gate()
Movie:PlaySequence("Open_Gate");
end


function Mission:Event_The_End()
Movie:PlaySequence("Ending");
end


function Mission:Event_MissionStart()
Hud:AddMessage("Neues Ziel",10);
Hud:PushObjective({},"Nimm Dir die Waffe");
Hud:SetRadarObjective("Mission_Point1");
end


function Mission:Event_Weapon()
Hud:AddMessage("Neues Ziel",10);
Hud:PushObjective({},"Suche nach Ausruestung");
Hud:CompleteObjective ("Nimm Dir die Waffe");
Hud:SetRadarObjective("Mission_Point2");
end


function Mission:Event_Camp()
Hud:AddMessage("Neues Ziel",10);
Hud:PushObjective({},"Gehe zum Lager auf der anderen Seite der Insel");
Hud:CompleteObjective ("Suche nach Ausruestung");
Hud:SetRadarObjective("Mission_Point3");
end



function Mission:Event_Explosive()
Hud:AddMessage("Neues Ziel",10);
Hud:PushObjective({}, "Entwende den Sprengstoff aus dem Munitionsbunker");
Hud:CompleteObjective ("Gehe zum Lager auf der anderen Seite der Insel");
Hud:SetRadarObjective("Mission_Point4");
end


function Mission:Event_Bunker()
Hud:AddMessage("Neues Ziel",10);
Hud:PushObjective({}, "Sprenge die Kommunikationsanlage");
Hud:CompleteObjective ("Entwende den Sprengstoff aus dem Munitionsbunker");
Hud:SetRadarObjective("Mission_Point5");
end 




function Mission:Event_Harbour()
Hud:AddMessage("Neues Ziel",10);
Hud:PushObjective({}, "Gehe zum Hafen auf der anderen Insel");
Hud:CompleteObjective ("Sprenge die Kommunikationsanlage");
Hud:SetRadarObjective("Mission_Point6");
end



function Mission:Event_Island()
Hud:AddMessage("Neues Ziel",10);
Hud:PushObjective({}, "Versuche unbemerkt in der kleinen Bucht zu landen");
Hud:SetRadarObjective("Mission_Point7");
end




function Mission:Event_Bay()
Hud:CompleteObjective ("Versuche unbemerkt in der kleinen Bucht zu landen");
Hud:SetRadarObjective("Mission_Point6");
end




function Mission:Event_Papers()
Hud:AddMessage("Neues Ziel",10);
Hud:PushObjective({}, "Entwende die Schiffspapiere");
Hud:CompleteObjective ("Gehe zum Hafen auf der anderen Insel");
Hud:SetRadarObjective("Mission_Point8");
end



function Mission:Event_Ship()
Hud:AddMessage("Neues Ziel",10);
Hud:PushObjective({}, "Versenke das Schiff");
Hud:CompleteObjective ("Entwende die Schiffspapiere");
Hud:SetRadarObjective("Mission_Point9");
end



function Mission:Event_Airfield()
Hud:AddMessage("Neues Ziel",10);
Hud:PushObjective({}, "Gehe zum Flugfeld");
Hud:CompleteObjective ("Versenke das Schiff");
Hud:SetRadarObjective("Mission_Point10");
end



function Mission:Event_WayIn()
Hud:AddMessage("Neues Ziel",10);
Hud:PushObjective({}, "Nimm den diskreten Weg oder ramme das Tor");
Hud:CompleteObjective ("Gehe zum Flugfeld");
end



function Mission:Event_LastBomb()
Hud:AddMessage("Neues Ziel",10);
Hud:PushObjective({}, "Lege die letzte Sprengladung");
Hud:CompleteObjective ("Nimm den diskreten Weg oder ramme das Tor");
Hud:SetRadarObjective("Mission_Point11");
end



function Mission:Event_End()
Hud:AddMessage("Neues Ziel",10);
Hud:PushObjective({}, "Oeffne das Tor und sieh zu das Du wegkommst");
Hud:CompleteObjective ("Lege die letzte Sprengladung");
Hud:SetRadarObjective("Mission_Point12");
end



function Mission:Event_NextLevel()
Hud:AddMessage("Neues Ziel",10);
Hud:PushObjective({}, "Jetzt verschwinde");
Hud:CompleteObjective ("Oeffne das Tor und sieh zu das Du wegkommst");
Hud:SetRadarObjective("Mission_Point13");
end



function Mission:Event_MissionFinished1()
	Game:SendMessage("StartLevelFade Training");
end



function Mission:Event_MissionFinished2()
	Game:SendMessage("StartLevel Training");
end
