Skip to content

Commit 6fde7b8

Browse files
authored
Merge pull request #2 from badookey/develop
Merge changes for release
2 parents 1d8f190 + f7965c0 commit 6fde7b8

13 files changed

+109
-198
lines changed

FoodEat.lsproj

+77-170
Large diffs are not rendered by default.

Orange.png

36.4 KB
Loading

Public/Orange Container.oprfb

223 Bytes
Binary file not shown.

Public/Orange.oprfb

-153 Bytes
Binary file not shown.

Public/Scripts/EndGame.js

-8
This file was deleted.

Public/Scripts/Food.js

+9-8
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,26 @@
11
// -----JS CODE-----
22
// @input Component.ScriptComponent behaviorScript
3+
// @input Component.ScriptComponent highScoreController
34

5+
// Don't process script without the behaviorScript.
6+
if (!script.behaviorScript) {
7+
return;
8+
}
49

510
var eaten = false;
611
global.canEat = true;
7-
//When the object is eaten
12+
//Functionality to trigger when the food is ate.
813
function eat() {
914
if (global.canEat) {
1015
unbindCollisionDetection();
1116
script.getSceneObject().enabled = false;
1217
global.canEat = false;
13-
global.scBehaviorSystem.sendCustomTrigger("Increment Score");
18+
script.highScoreController.api.incrementScore();
1419
eaten = true;
1520
}
1621
}
1722

23+
//Ensure trigger doesn't happen multiple times for one event
1824
function unbindCollisionDetection() {
1925
script.behaviorScript.api.removeTriggerResponse(mouthCollision)
2026
}
@@ -36,9 +42,6 @@ function onMouthOpened(eventData) {
3642
}
3743

3844
function mouthCollision() {
39-
//Debug Statement
40-
//print("mouth collided --food.js");
41-
4245
//This function abstracts 'eat', as this function can ONLY be called if both the mouth closed event AND the mouth collision event are triggered.
4346
if (!eaten) {
4447
eat();
@@ -51,8 +54,6 @@ event.bind(onMouthClosed);
5154
var event = script.createEvent("MouthOpenedEvent");
5255
event.bind(onMouthOpened);
5356

54-
if (!script.behaviorScript) {
55-
return;
56-
}
57+
5758

5859

Public/Scripts/FoodController.js

+18-3
Original file line numberDiff line numberDiff line change
@@ -2,29 +2,44 @@
22
// @input Asset.ObjectPrefab orangeContainer
33
// @input Component.Camera camera
44
// @input int numOrangesShouldSpawn
5+
// @input Component.ScriptComponent highScoreController
6+
57
script.createEvent("BrowsRaisedEvent").bind(onBrowRaise);
68

79
var numOrangesSpawned = 0;
10+
var objectsSpawned = [];
11+
var gameStarted = false;
812
function onBrowRaise(e) {
9-
if (script) {
13+
if (script && !gameStarted) {
1014
spawnOranges();
15+
gameStarted = true;
1116
}
1217

1318
}
1419
function spawnOranges() {
1520
if (numOrangesSpawned < script.numOrangesShouldSpawn) {
1621
var mySceneObject = createObjectFromPrefab();
1722
mySceneObject.getTransform().setWorldPosition(script.getTransform().getWorldPosition());
23+
objectsSpawned.push(mySceneObject);
24+
1825
var delayedEvent = script.createEvent("DelayedCallbackEvent");
1926
delayedEvent.bind(spawnOranges);
2027
delayedEvent.reset(3.5);
2128
numOrangesSpawned++;
2229
}
30+
else { //Spawned max amount of oranges -- the game is over
31+
removeAllSpawnedObjects();
32+
script.highScoreController.api.endGame();
33+
}
2334

2435
}
2536

26-
spawnOranges();
27-
37+
function removeAllSpawnedObjects() {
38+
objectsSpawned.forEach(function (orangeContainer) {
39+
orangeContainer.destroy();
40+
});
41+
objectsSpawned = [];
42+
}
2843

2944
function createObjectFromPrefab() {
3045
if (script.orangeContainer) {

Public/Scripts/GameController.js

-1
This file was deleted.

Public/Scripts/IncrementScore.js

-8
This file was deleted.

Public/Scripts/SimpleHighScoreController.js

+5
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55

66
// @input Component.Text scoreText
77
// @input Component.Text highScoreText
8+
// @input Component.Text endGameText
9+
810

911
var currentScore = 0;
1012
var highScore = 0;
@@ -54,6 +56,9 @@ function resetGame() {
5456
}
5557

5658
function endGame() {
59+
print("Congratulations, you scored: " + currentScore.toString() + ".");
60+
script.endGameText.enabled = true;
61+
script.endGameText.text = "Wow, you ate " + currentScore.toString() + " oranges. Did you know binge eating disorder is the most common eating disorder?";
5762
setHighScore();
5863
resetGame();
5964
}

Sample.mp4

3.95 MB
Binary file not shown.

icon.png

681 Bytes
Loading

project.data

31 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)