diff --git a/Assets/Scenes/Noahs kælder.unity b/Assets/Scenes/Noahs kælder.unity index 65a2df2..9a2e242 100644 --- a/Assets/Scenes/Noahs kælder.unity +++ b/Assets/Scenes/Noahs kælder.unity @@ -900,7 +900,7 @@ MonoBehaviour: m_EditorClassIdentifier: RequiredIngredients: - {fileID: 885031692} - NutritionalValue: 10 + NutritionalValue: 8 --- !u!61 &449563474 BoxCollider2D: m_ObjectHideFlags: 0 @@ -1014,7 +1014,7 @@ MonoBehaviour: - {fileID: 1274549341} - {fileID: 1420342329} - {fileID: 885031692} - NutritionalValue: 200 + NutritionalValue: 20 --- !u!212 &460072663 SpriteRenderer: m_ObjectHideFlags: 0 @@ -1557,7 +1557,7 @@ MonoBehaviour: - {fileID: 1001436608} - {fileID: 1274549341} - {fileID: 1659394507} - NutritionalValue: 150 + NutritionalValue: 23 --- !u!212 &578240411 SpriteRenderer: m_ObjectHideFlags: 0 @@ -1669,6 +1669,11 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: bbc9dba12af11ea408751c79d0373658, type: 3} m_Name: m_EditorClassIdentifier: + level: 1 + levelRequirements: 0b0000000e000000130000001500000017000000 + UserScoreText: {fileID: 1335248046} + RequiredScoreText: {fileID: 1979510732} + LevelText: {fileID: 1587131887} --- !u!1 &680543386 GameObject: m_ObjectHideFlags: 0 @@ -2200,7 +2205,7 @@ MonoBehaviour: m_EditorClassIdentifier: RequiredIngredients: - {fileID: 537514707} - NutritionalValue: 50 + NutritionalValue: 12 --- !u!1 &878970302 GameObject: m_ObjectHideFlags: 0 @@ -3227,7 +3232,7 @@ MonoBehaviour: RequiredIngredients: - {fileID: 1575942281} - {fileID: 885031692} - NutritionalValue: 20 + NutritionalValue: 10 --- !u!212 &1325467682 SpriteRenderer: m_ObjectHideFlags: 0 @@ -4019,9 +4024,7 @@ MonoBehaviour: m_EditorClassIdentifier: FinishedDishPosition: {x: -4.66, y: 2.89, z: 0} AllIngredients: {fileID: 24980075} - requiredScore: 5 - UserScoreText: {fileID: 1335248046} - RequredScoreText: {fileID: 1979510732} + LevelManager: {fileID: 637472079} --- !u!50 &1517788317 Rigidbody2D: serializedVersion: 4 @@ -4180,7 +4183,7 @@ MonoBehaviour: - {fileID: 1659394507} - {fileID: 1274549341} - {fileID: 885031692} - NutritionalValue: 0 + NutritionalValue: 19 --- !u!212 &1525651429 SpriteRenderer: m_ObjectHideFlags: 0 @@ -4375,7 +4378,7 @@ GameObject: - component: {fileID: 1587131888} - component: {fileID: 1587131887} m_Layer: 5 - m_Name: text + m_Name: LevelText m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -4421,7 +4424,9 @@ MonoBehaviour: m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_text: 'Required score:' + m_text: 'Level: [Level] + + Required score:' m_isRightToLeft: 0 m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} @@ -4808,7 +4813,7 @@ MonoBehaviour: - {fileID: 1420342329} - {fileID: 1575942281} - {fileID: 885031692} - NutritionalValue: 40 + NutritionalValue: 21 --- !u!212 &1680633069 SpriteRenderer: m_ObjectHideFlags: 0 @@ -5045,7 +5050,7 @@ MonoBehaviour: - {fileID: 143107362} - {fileID: 537514707} - {fileID: 1001436608} - NutritionalValue: 180 + NutritionalValue: 14 --- !u!212 &1714471224 SpriteRenderer: m_ObjectHideFlags: 0 @@ -5162,7 +5167,7 @@ MonoBehaviour: - {fileID: 143107362} - {fileID: 1274549341} - {fileID: 1001436608} - NutritionalValue: 300 + NutritionalValue: 21 --- !u!212 &1790468150 SpriteRenderer: m_ObjectHideFlags: 0 @@ -5349,7 +5354,9 @@ MonoBehaviour: m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_text: '[insert score]' + m_text: ' + + [insert score]' m_isRightToLeft: 0 m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} diff --git a/Assets/Scripts/Cooking.cs b/Assets/Scripts/Cooking.cs index 531ea69..c3bf8e6 100644 --- a/Assets/Scripts/Cooking.cs +++ b/Assets/Scripts/Cooking.cs @@ -1,5 +1,6 @@ using System.Collections; using System.Collections.Generic; +using System.Net; using Microsoft.Unity.VisualStudio.Editor; using TMPro; using UnityEngine; @@ -21,15 +22,8 @@ public class Cooking : MonoBehaviour public Vector3 FinishedDishPosition; public GameObject AllIngredients; - public int requiredScore = 5; - public TextMeshProUGUI UserScoreText; - public TextMeshProUGUI RequredScoreText; - - private void Start() - { - UserScoreText.text = "0"; - RequredScoreText.text = requiredScore.ToString(); - } + public GameObject LevelManager; + private List DishesCooked = new List(); // stop user from cooking same dish twice. public void CreateDish() { List Ingredients = GetIngredients(); @@ -96,6 +90,16 @@ public class Cooking : MonoBehaviour } } + foreach (GameObject cookedDish in DishesCooked) + { + if (BestDish == cookedDish){ + return; + } + } + + DishesCooked.Add(BestDish); + + // Find used ingredients List IngredientsInDish = BestDish.GetComponent().RequiredIngredients; List UsedIngredients = new(); @@ -133,13 +137,16 @@ public class Cooking : MonoBehaviour // Show dish ui screen Sprite DishImage = BestDish.GetComponent().sprite; - int Stars = 3; + int NutritionalValue = BestDish.GetComponent().NutritionalValue; + int Stars = NutritionalValueToStars(NutritionalValue); string DishName = BestDish.name; gameObject.GetComponent().ShowUI(DishName, DishImage, Stars); - UpdateUserScore(Stars); + int NV = BestDish.GetComponent().NutritionalValue; + LevelManager.GetComponent().UpdateUserScore(NV); + LevelManager.GetComponent().CompareScores(); } // Keep track of ingredients going on and off the cooker. @@ -161,18 +168,29 @@ public class Cooking : MonoBehaviour } return Ingredients; } - private void UpdateUserScore(int score) + + private int NutritionalValueToStars(int NV) { - UserScoreText.text = score.ToString(); + int stars = 1; + if (NV >= 11) + { + stars = 2; + } + if (NV >= 14) + { + stars = 3; + } + if (NV >= 20) + { + stars = 4; + } + if (NV >= 22) + { + stars = 5; + } + + return stars; } - - - // void Update() - // { - // GetIngredients(); - // } - - } diff --git a/Assets/Scripts/LevelManager.cs b/Assets/Scripts/LevelManager.cs index dfbfb6a..c6b04ec 100644 --- a/Assets/Scripts/LevelManager.cs +++ b/Assets/Scripts/LevelManager.cs @@ -1,23 +1,61 @@ using System.Collections; using System.Collections.Generic; +using TMPro; using UnityEngine; public class LevelManager : MonoBehaviour { public int level; + public List levelRequirements; + public TextMeshProUGUI UserScoreText; + public TextMeshProUGUI RequiredScoreText; + public TextMeshProUGUI LevelText; // Start is called before the first frame update - void Start() + private void Start() { level = 1; + UpdateUserScore(0); + UpdateRequiredScore(levelRequirements[0]); + UpdateLevel(level); } - // Update is called once per frame + public void UpdateLevel(int levelNumber) + { - private void Update() { - + if (levelNumber > levelRequirements.Count) + { + LevelText.text = "You win"; + RequiredScoreText.text = ""; + return; + } + + int score = levelRequirements[levelNumber - 1]; + + RequiredScoreText.text = score.ToString(); + LevelText.text = "Level: " + levelNumber.ToString(); + UpdateUserScore(0); } - + public void UpdateUserScore(int score) + { + UserScoreText.text = score.ToString(); + } + public void UpdateRequiredScore(int score) + { + RequiredScoreText.text = score.ToString(); + } + + public void CompareScores() + { + int userScore = int.Parse(UserScoreText.text); + int requredScore = int.Parse(RequiredScoreText.text); + + if (userScore >= requredScore) + { + level += 1; + UpdateLevel(level); + } + } }