Needs a lot of cleanup. Data has been de-duplicated, and where identical copies existed, one of them has been replaced with a symlink. Some files have been excluded, such as binaries, installers and debug dumps. Some of that may still be present.
79 lines
3.7 KiB
JavaScript
79 lines
3.7 KiB
JavaScript
// Creates Intro panel with information before gameplay
|
|
|
|
Script.include(["pd_utils.js", "pd_hudPanel.js"]);
|
|
|
|
Intro = function()
|
|
{
|
|
this.isFinished = false;
|
|
this.introPanel = this.createIntroPanel();
|
|
this.introText = [];
|
|
this.introText.push("<< INCOMING TRANSMISSION >>\n\nSerik here.\n\n\nDo you copy?");
|
|
this.introText.push("Great!\n\nHopefully you've arrived on the surface of the planet, Pomona-1, intact.\n\nOf course, I'm still safely up here in orbit above the planet so don't worry, I've got your back. :)");
|
|
this.introText.push("Currently the P.E.A, Pomona-1 Ecological Authority, has authorized only eco-target sampling and counts.\n\nHopefully when we prove that we're the team to get the job done they'll trust a little more.")
|
|
this.introText.push("You can't really blame them for caution can you?\n\nPomona-1 was racked by brutal resource extraction wars for so many years...\n\nIf I were in charge of restoring ecological balance to this planet I'd be careful who I hired too!");
|
|
this.introText.push("I believe our team can help bring this planet back from the brink of ecological collapse. I hope you do too.\n\nThere's plenty of work to be done, and that's why your down there.");
|
|
this.introText.push("We're starting with the basics:\n\nSoil and water samples,\nbio-census,\nThat kind of thing.\n\nAt least for now.");
|
|
this.introText.push("I trust your equipment didn't get damaged on the trip down there?\n\nRemember your bio-scanner can be toggled on and off with [ m key ].\n\nOnce scanning just move the targeting reticle near objects of interest using the normal steering controls.\nThen use [space bar] to do a scan or take a sample.");
|
|
this.introText.push("Remember to toggle out of scanning mode with [ m key ] to continue moving and exploring.");
|
|
this.introText.push("The P.E.A has requested three unique samples per scientist so...\n\nExplore the area.\n\nScan anything that looks interesting.\n\nGood luck down there!");
|
|
|
|
this._textIndex = 0;
|
|
this._presenting = false;
|
|
}
|
|
|
|
Intro.prototype.createIntroPanel = function()
|
|
{
|
|
var frameUrl = "http://nerdchallenge.com/hifi/images/introFrame.png";
|
|
var hudPanel = new HudPanel({x:Window.innerWidth/2 - 150, y:130}, {x:300, y:420}, {x:10,y:0});
|
|
var titleColor = {red:255, green:255, blue:255};
|
|
var spacebarColor = {red:255, green:40, blue:40};
|
|
var textColor = {red:40, green:200, blue:40 };
|
|
|
|
hudPanel.addRectangle("bgRectangle", {x:0, y:0}, hudPanel.size.x, hudPanel.size.y, {red:20, green:20, blue:20} );
|
|
hudPanel.addStaticText("lbl_howToPlay", "Mission Briefing", {x:90, y:50}, hudPanel.size.x, titleColor );
|
|
hudPanel.addImageFrame("frame", {x:-23, y:-21}, hudPanel.size.x + 47, hudPanel.size.y + 43, frameUrl );
|
|
|
|
hudPanel.addDynamicText("mainText", "", {x:0, y:90}, hudPanel.size.x, textColor );
|
|
hudPanel.addDynamicText("spaceToContinue", "[ Press Spacebar To Continue ]", {x:35, y:hudPanel.size.y - 30}, hudPanel.size.x, spacebarColor );
|
|
|
|
return hudPanel;
|
|
}
|
|
|
|
Intro.prototype.startPresentation = function()
|
|
{
|
|
this._textIndex = 0;
|
|
this.introPanel.setDisplayText("mainText", this.introText[this._textIndex]);
|
|
this.introPanel.show();
|
|
this._presenting = true;
|
|
this.introPanel.startAnimation();
|
|
}
|
|
|
|
Intro.prototype.onKeyPress = function(event)
|
|
{
|
|
if (event.key == SPACEBAR_CHARCODE)
|
|
{
|
|
this._textIndex++;
|
|
if (this.introText.length > this._textIndex)
|
|
{
|
|
printDebug("Next Intro Block");
|
|
this.introPanel.setDisplayText("mainText", this.introText[this._textIndex]);
|
|
this.introPanel.startAnimation();
|
|
}
|
|
else
|
|
{
|
|
this.isFinished = true;
|
|
this.introPanel.hide();
|
|
}
|
|
}
|
|
}
|
|
|
|
Intro.prototype.scriptUpdate = function(deltaTime)
|
|
{
|
|
this.introPanel.scriptUpdate(deltaTime);
|
|
}
|
|
|
|
Intro.prototype.deconstruct = function()
|
|
{
|
|
this.introPanel.deconstruct();
|
|
}
|
|
|