content/hifi-public/PlanetDropBundle_v1/scripts/pd_intro.js
Dale Glass 0d14e5a379 Initial data.
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.
2022-02-13 18:59:11 +01:00

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();
}