Ver código fonte

Refactoring, google analytics Firebase, Firebase Cloud message start

Axel Nordh 5 anos atrás
pai
commit
d83971521b
100 arquivos alterados com 3076 adições e 1326 exclusões
  1. 54 0
      .vscode/launch.json
  2. 56 0
      .vscode/settings.json
  3. 45 0
      Assets/BasicDialog.cs
  4. 1 1
      Assets/BasicDialog.cs.meta
  5. 1 1
      Assets/Data.meta
  6. 40 0
      Assets/Data/google-services.json
  7. 7 0
      Assets/Data/google-services.json.meta
  8. 0 42
      Assets/Editor/com.unity.mobile.notifications/NotificationSettings.asset
  9. 0 8
      Assets/Editor/com.unity.mobile.notifications/NotificationSettings.asset.meta
  10. 0 1
      Assets/Movinarc/.gitignore
  11. 177 0
      Assets/NewDropZoneScript.cs
  12. 1 1
      Assets/NewDropZoneScript.cs.meta
  13. 58 0
      Assets/NewQuestionDragController.cs
  14. 11 0
      Assets/NewQuestionDragController.cs.meta
  15. BIN
      Assets/Parse/Plugins/Unity.Compat.dll
  16. 0 24
      Assets/Parse/Plugins/Unity.Compat.dll.meta
  17. BIN
      Assets/Parse/Plugins/Unity.Tasks.dll
  18. 0 24
      Assets/Parse/Plugins/Unity.Tasks.dll.meta
  19. 0 8
      Assets/Parse/Plugins/dotNet45.meta
  20. BIN
      Assets/Parse/Plugins/dotNet45/Unity.Compat.dll
  21. 0 75
      Assets/Parse/Plugins/dotNet45/Unity.Compat.dll.meta
  22. BIN
      Assets/Parse/Plugins/dotNet45/Unity.Tasks.dll
  23. 0 75
      Assets/Parse/Plugins/dotNet45/Unity.Tasks.dll.meta
  24. 0 8
      Assets/PlayServicesResolver.meta
  25. 0 8
      Assets/PlayServicesResolver/Editor.meta
  26. BIN
      Assets/PlayServicesResolver/Editor/Google.IOSResolver_v1.2.125.0.dll
  27. 0 37
      Assets/PlayServicesResolver/Editor/Google.IOSResolver_v1.2.125.0.dll.meta
  28. BIN
      Assets/PlayServicesResolver/Editor/Google.JarResolver_v1.2.125.0.dll
  29. 0 37
      Assets/PlayServicesResolver/Editor/Google.JarResolver_v1.2.125.0.dll.meta
  30. BIN
      Assets/PlayServicesResolver/Editor/Google.VersionHandler.dll
  31. 0 37
      Assets/PlayServicesResolver/Editor/Google.VersionHandler.dll.meta
  32. BIN
      Assets/PlayServicesResolver/Editor/Google.VersionHandlerImpl_v1.2.125.0.dll
  33. 0 37
      Assets/PlayServicesResolver/Editor/Google.VersionHandlerImpl_v1.2.125.0.dll.meta
  34. 0 8
      Assets/PlayServicesResolver/Editor/play-services-resolver_v1.2.125.0.txt
  35. 0 11
      Assets/PlayServicesResolver/Editor/play-services-resolver_v1.2.125.0.txt.meta
  36. 161 118
      Assets/Prefab/AnswerlineQuestion.prefab
  37. 0 0
      Assets/Prefab/AnswerlineQuestion.prefab.meta
  38. 115 0
      Assets/Prefab/AnswerlineSpacer.prefab
  39. 7 0
      Assets/Prefab/AnswerlineSpacer.prefab.meta
  40. 115 0
      Assets/Prefab/LeftDropZone.prefab
  41. 7 0
      Assets/Prefab/LeftDropZone.prefab.meta
  42. 937 0
      Assets/Prefab/NewQuestionCard .prefab
  43. 7 0
      Assets/Prefab/NewQuestionCard .prefab.meta
  44. 115 0
      Assets/Prefab/RightDropZone.prefab
  45. 7 0
      Assets/Prefab/RightDropZone.prefab.meta
  46. 1 1
      Assets/Scenes.meta
  47. 72 1
      Assets/Scenes/MainMenu.unity
  48. 0 0
      Assets/Scenes/MainMenu.unity.meta
  49. 0 0
      Assets/Scenes/NewGame.unity
  50. 0 0
      Assets/Scenes/NewGame.unity.meta
  51. 36 15
      Assets/Scenes/User.unity
  52. 0 0
      Assets/Scenes/User.unity.meta
  53. 256 522
      Assets/Scenes/narKampen.unity
  54. 0 0
      Assets/Scenes/narKampen.unity.meta
  55. 21 21
      Assets/Scripts/Database/Database.cs
  56. 24 19
      Assets/Scripts/Database/OnlineDatabase.cs
  57. 0 114
      Assets/Scripts/Draggable.cs
  58. 0 31
      Assets/Scripts/DropZone.cs
  59. 1 1
      Assets/Scripts/Firebase.meta
  60. 22 0
      Assets/Scripts/Firebase/FirebaseReceiver.cs
  61. 11 0
      Assets/Scripts/Firebase/FirebaseReceiver.cs.meta
  62. 171 0
      Assets/Scripts/GameManagerScript.cs
  63. 1 1
      Assets/Scripts/GeneralDialog/GenericDialog.cs
  64. 1 1
      Assets/Scripts/MainGame.meta
  65. 9 0
      Assets/Scripts/MainGame/AnswerLineQuestionCard.cs
  66. 11 0
      Assets/Scripts/MainGame/AnswerLineQuestionCard.cs.meta
  67. 0 0
      Assets/Scripts/MainGame/CategoryPanel.cs
  68. 0 0
      Assets/Scripts/MainGame/CategoryPanel.cs.meta
  69. 0 0
      Assets/Scripts/MainGame/InformationPanelScript.cs
  70. 0 0
      Assets/Scripts/MainGame/InformationPanelScript.cs.meta
  71. 85 0
      Assets/Scripts/MainGame/NewQuestionCardController.cs
  72. 11 0
      Assets/Scripts/MainGame/NewQuestionCardController.cs.meta
  73. 21 0
      Assets/Scripts/MainGame/NewQuestionData.cs
  74. 0 0
      Assets/Scripts/MainGame/NewQuestionData.cs.meta
  75. 69 0
      Assets/Scripts/MainGame/NewQuestionsPanel.cs
  76. 11 0
      Assets/Scripts/MainGame/NewQuestionsPanel.cs.meta
  77. 32 5
      Assets/Scripts/MainGame/QuestionCard.cs
  78. 0 0
      Assets/Scripts/MainGame/QuestionCard.cs.meta
  79. 15 16
      Assets/Scripts/MainGame/RoundButtonsScript.cs
  80. 0 0
      Assets/Scripts/MainGame/RoundButtonsScript.cs.meta
  81. 216 0
      Assets/Scripts/MainGame/ScrollViewScript.cs
  82. 0 0
      Assets/Scripts/MainGame/ScrollViewScript.cs.meta
  83. 0 0
      Assets/Scripts/MainGame/StatsLine.cs
  84. 0 0
      Assets/Scripts/MainGame/StatsLine.cs.meta
  85. 0 0
      Assets/Scripts/MainGame/StatsScript.cs
  86. 0 0
      Assets/Scripts/MainGame/StatsScript.cs.meta
  87. 9 8
      Assets/Scripts/MainGame/TimerScript.cs
  88. 0 0
      Assets/Scripts/MainGame/TimerScript.cs.meta
  89. 37 0
      Assets/Scripts/NewGameScene/FirebaseStart.cs
  90. 11 0
      Assets/Scripts/NewGameScene/FirebaseStart.cs.meta
  91. 0 0
      Assets/Scripts/NewGameScene/GameInfoScript.cs
  92. 0 0
      Assets/Scripts/NewGameScene/GameInfoScript.cs.meta
  93. 0 0
      Assets/Scripts/NewGameScene/GamesScrollController.cs
  94. 0 0
      Assets/Scripts/NewGameScene/GamesScrollController.cs.meta
  95. 0 0
      Assets/Scripts/NewGameScene/LocalGameScript.cs
  96. 0 0
      Assets/Scripts/NewGameScene/LocalGameScript.cs.meta
  97. 0 9
      Assets/Scripts/NewGameScene/NewOnlineGame.cs
  98. 0 0
      Assets/Scripts/NewGameScene/OnlineGameScript.cs
  99. 0 0
      Assets/Scripts/NewGameScene/OnlineGameScript.cs.meta
  100. 0 0
      Assets/Scripts/NewGameScene/OnlinePlayerInfoScript.cs

+ 54 - 0
.vscode/launch.json

@@ -0,0 +1,54 @@
+{
+    // Use IntelliSense to learn about possible attributes.
+    // Hover to view descriptions of existing attributes.
+    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
+    "version": "0.2.0",
+    "configurations": [
+        {
+            "name": "Unity Editor",
+            "type": "unity",
+            "path": "/d:/Programming/Unity/Projects/Nar Kampen/Library/EditorInstance.json",
+            "request": "launch"
+        },
+        {
+            "name": "Windows Player",
+            "type": "unity",
+            "request": "launch"
+        },
+        {
+            "name": "OSX Player",
+            "type": "unity",
+            "request": "launch"
+        },
+        {
+            "name": "Linux Player",
+            "type": "unity",
+            "request": "launch"
+        },
+        {
+            "name": "iOS Player",
+            "type": "unity",
+            "request": "launch"
+        },
+        {
+            "name": "Android Player",
+            "type": "unity",
+            "request": "launch"
+        },
+        {
+            "name": "Xbox One Player",
+            "type": "unity",
+            "request": "launch"
+        },
+        {
+            "name": "PS4 Player",
+            "type": "unity",
+            "request": "launch"
+        },
+        {
+            "name": "SwitchPlayer",
+            "type": "unity",
+            "request": "launch"
+        }
+    ]
+}

+ 56 - 0
.vscode/settings.json

@@ -0,0 +1,56 @@
+{
+    "files.exclude":
+    {
+        "**/.DS_Store":true,
+        "**/.git":true,
+        "**/.gitignore":true,
+        "**/.gitmodules":true,
+        "**/*.booproj":true,
+        "**/*.pidb":true,
+        "**/*.suo":true,
+        "**/*.user":true,
+        "**/*.userprefs":true,
+        "**/*.unityproj":true,
+        "**/*.dll":true,
+        "**/*.exe":true,
+        "**/*.pdf":true,
+        "**/*.mid":true,
+        "**/*.midi":true,
+        "**/*.wav":true,
+        "**/*.gif":true,
+        "**/*.ico":true,
+        "**/*.jpg":true,
+        "**/*.jpeg":true,
+        "**/*.png":true,
+        "**/*.psd":true,
+        "**/*.tga":true,
+        "**/*.tif":true,
+        "**/*.tiff":true,
+        "**/*.3ds":true,
+        "**/*.3DS":true,
+        "**/*.fbx":true,
+        "**/*.FBX":true,
+        "**/*.lxo":true,
+        "**/*.LXO":true,
+        "**/*.ma":true,
+        "**/*.MA":true,
+        "**/*.obj":true,
+        "**/*.OBJ":true,
+        "**/*.asset":true,
+        "**/*.cubemap":true,
+        "**/*.flare":true,
+        "**/*.mat":true,
+        "**/*.meta":true,
+        "**/*.prefab":true,
+        "**/*.unity":true,
+        "build/":true,
+        "Build/":true,
+        "Library/":true,
+        "library/":true,
+        "obj/":true,
+        "Obj/":true,
+        "ProjectSettings/":true,
+        "temp/":true,
+        "Temp/":true
+    }
+}

+ 45 - 0
Assets/BasicDialog.cs

@@ -0,0 +1,45 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.UI;
+
+public class BasicDialog : MonoBehaviour
+{
+
+    public Button acceptButton;
+    public Button declineButton;
+    public Text titleText;
+    public Text messageText;
+    // Start is called before the first frame update
+    void Start()
+    {
+        acceptButton.onClick.AddListener(acceptAction);
+        declineButton.onClick.AddListener(declineAction);
+    }
+
+    public BasicDialog setTitleText(string title){
+        titleText.text = title;
+        return this;
+    }
+
+    public BasicDialog setMessageText(string message) {
+        messageText.text = message;
+        return this;
+    }
+
+    public void setAcceptButtonText(string buttonText) {
+        acceptButton.GetComponent<Text>().text = buttonText;
+    }
+
+    public void setDeclineButtonText(string buttonText) {
+        declineButton.GetComponent<Text>().text = buttonText;
+    }
+
+    void acceptAction() {
+        
+    }
+
+    void declineAction() {
+
+    }
+}

+ 1 - 1
Assets/Scripts/Draggable.cs.meta → Assets/BasicDialog.cs.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: 06f334e0430ec0944ba0abce4592c950
+guid: 828761c08a7f3cf4b80cc37ab1893773
 MonoImporter:
   externalObjects: {}
   serializedVersion: 2

+ 1 - 1
Assets/Editor/com.unity.mobile.notifications.meta → Assets/Data.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: 84b43c2a96e15db45a22d5276712bdf3
+guid: b18cce1b9ce60674d82141ea7e371510
 folderAsset: yes
 DefaultImporter:
   externalObjects: {}

+ 40 - 0
Assets/Data/google-services.json

@@ -0,0 +1,40 @@
+{
+  "project_info": {
+    "project_number": "108102546370",
+    "firebase_url": "https://narkampen.firebaseio.com",
+    "project_id": "narkampen",
+    "storage_bucket": "narkampen.appspot.com"
+  },
+  "client": [
+    {
+      "client_info": {
+        "mobilesdk_app_id": "1:108102546370:android:c379d06ef36a3e568b9c5b",
+        "android_client_info": {
+          "package_name": "se.nordh.xyz.narKampen"
+        }
+      },
+      "oauth_client": [
+        {
+          "client_id": "108102546370-2bu9lhiunhhi5v6up5dcuntnucoo5dcf.apps.googleusercontent.com",
+          "client_type": 3
+        }
+      ],
+      "api_key": [
+        {
+          "current_key": "AIzaSyCBQiFiFWvzWMFrTBWtHVagJ5xk-T_ytGw"
+        }
+      ],
+      "services": {
+        "appinvite_service": {
+          "other_platform_oauth_client": [
+            {
+              "client_id": "108102546370-2bu9lhiunhhi5v6up5dcuntnucoo5dcf.apps.googleusercontent.com",
+              "client_type": 3
+            }
+          ]
+        }
+      }
+    }
+  ],
+  "configuration_version": "1"
+}

+ 7 - 0
Assets/Data/google-services.json.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 6de09d248533b6c44a32c35bfe5a3ea5
+TextScriptImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 0 - 42
Assets/Editor/com.unity.mobile.notifications/NotificationSettings.asset

@@ -1,42 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!114 &11400000
-MonoBehaviour:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 0}
-  m_Enabled: 1
-  m_EditorHideFlags: 0
-  m_Script: {fileID: 11500000, guid: 0863bf92b4fcc45b0b9267325249bf0f, type: 3}
-  m_Name: NotificationSettings
-  m_EditorClassIdentifier: 
-  toolbarInt: 0
-  iOSNotificationEditorSettingsValues:
-    keys:
-    - UnityNotificationRequestAuthorizationOnAppLaunch
-    - UnityNotificationDefaultAuthorizationOptions
-    - UnityAddRemoteNotificationCapability
-    - UnityNotificationRequestAuthorizationForRemoteNotificationsOnAppLaunch
-    - UnityRemoteNotificationForegroundPresentationOptions
-    - UnityUseAPSReleaseEnvironment
-    - UnityUseLocationNotificationTrigger
-    values:
-    - True
-    - 7
-    - False
-    - False
-    - -1
-    - False
-    - False
-  AndroidNotificationEditorSettingsValues:
-    keys:
-    - UnityNotificationAndroidRescheduleOnDeviceRestart
-    - UnityNotificationAndroidUseCustomActivity
-    - UnityNotificationAndroidCustomActivityString
-    values:
-    - False
-    - False
-    - com.unity3d.player.UnityPlayerActivity
-  TrackedResourceAssets: []

+ 0 - 8
Assets/Editor/com.unity.mobile.notifications/NotificationSettings.asset.meta

@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 9eb7fa6ade02d61419d8203c90fc258f
-NativeFormatImporter:
-  externalObjects: {}
-  mainObjectFileID: 0
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 

+ 0 - 1
Assets/Movinarc/.gitignore

@@ -1 +0,0 @@
-/PackageUninstaller/

+ 177 - 0
Assets/NewDropZoneScript.cs

@@ -0,0 +1,177 @@
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.Events;
+using UnityEngine.EventSystems;
+using UnityEngine.UI;
+
+public class NewDropZoneScript : MonoBehaviour, IDropHandler, IPointerEnterHandler, IPointerExitHandler
+{
+
+    public bool RightmostSpacer;
+    public bool LeftmostSpacer;
+    public GameObject AnswerLineQuestionCardPrefab;
+    public float preferedWidth = 30;
+
+    private AnswerLineQuestionCard leftSibling;
+    private AnswerLineQuestionCard rightSibling;
+    private NewQuestionData questionData;
+    private GameObject draggedQuestion;
+
+    private bool answeredCorrectly = false;
+    public void OnDrop(PointerEventData eventData)
+    {
+        if (eventData != null && draggedQuestion != null)
+        {
+            questionData = draggedQuestion.GetComponentInParent<NewQuestionDragController>().NewQuestion.GetComponentInParent<NewQuestionsPanel>()
+                        .QuestionData;
+            
+            GenericDialog confirmDialog = GenericDialog.Instance();
+
+            string message = string.Format(LocalizationManager.Instance.GetText("DROPPED_QUESTION_DIALOG_MESSAGE_TEXT"),
+                questionData.Question,
+                draggedQuestion.GetComponent<NewQuestionDragController>().AnswerText.text);
+
+            confirmDialog.SetMessage(message);
+            confirmDialog.SetOnAccept(LocalizationManager.Instance.GetText("YES"), () => { 
+                YesFunction(); 
+                confirmDialog.Hide();
+                CheckAnswerFunction(); // Generera bara ny fråga här?? Vid rätt??
+                });
+            confirmDialog.SetOnDecline(LocalizationManager.Instance.GetText("NO"), () =>
+            {
+                // Flytta onEndDrag hit för att inte generera ny fråga vid NEJ
+                NewQuestionDragController.setAnswerText("???? - ????");
+                confirmDialog.Hide();
+            });
+            confirmDialog.Show();
+        }
+    }
+
+    private void CheckAnswerFunction()
+    {
+        if (answeredCorrectly) {
+            GameObject go = Instantiate(AnswerLineQuestionCardPrefab, Vector3.zero, Quaternion.identity);
+
+            AnswerLineQuestionCard newAnsweredQuestion = go.GetComponentInParent<AnswerLineQuestionCard>();
+            newAnsweredQuestion.answerText.text = questionData.Answer;
+            newAnsweredQuestion.questionText.text = questionData.Question;
+            newAnsweredQuestion.SetId(questionData.Id);
+            GameObject AnswerLine = GameObject.FindGameObjectWithTag("AnswerLine");
+            int newAnswerPos = transform.GetSiblingIndex();
+            newAnsweredQuestion.transform.SetParent(AnswerLine.transform);
+            newAnsweredQuestion.transform.SetSiblingIndex(newAnswerPos);
+            newAnsweredQuestion.transform.localScale = new Vector3(1,1,1);
+
+            if (LeftmostSpacer)
+            {
+                CreateNewSpacer(AnswerLine, newAnswerPos + 2);
+                CreateLeftSpacer(AnswerLine);
+            }
+            else if (RightmostSpacer)
+            {
+                CreateNewSpacer(AnswerLine, newAnswerPos);
+                CreateRightSpacer(AnswerLine);
+            }
+            else
+            {
+                CreateNewSpacer(AnswerLine, newAnswerPos);
+                CreateNewSpacer(AnswerLine, newAnswerPos + 2);
+            }
+            Destroy(gameObject);
+            GameObject.Find("GameManager").GetComponent<GameManagerScript>().StopTimer();
+            draggedQuestion.GetComponentInParent<NewQuestionCardController>().GenerateNewQuestion();
+        } else {
+            GameObject.Find("GameManager").GetComponent<GameManagerScript>().NextRound();
+        }
+    }
+    
+    private void CreateLeftSpacer(GameObject AnswerLine)
+    {
+        GameObject newSpacerLeft = Instantiate(gameObject);     
+        newSpacerLeft.GetComponent<LayoutElement>().preferredWidth = preferedWidth;
+        newSpacerLeft.name = "LeftDropZone";
+        newSpacerLeft.GetComponent<NewDropZoneScript>().LeftmostSpacer = true;
+        newSpacerLeft.transform.SetParent(AnswerLine.transform);
+        newSpacerLeft.transform.SetAsFirstSibling();
+        newSpacerLeft.transform.localScale = new Vector3(1,1,1);
+    }
+
+    private void CreateRightSpacer(GameObject AnswerLine)
+    {
+        GameObject newSpacerRight = Instantiate(gameObject);     
+        newSpacerRight.GetComponent<LayoutElement>().preferredWidth = preferedWidth;
+        newSpacerRight.name = "RightDropZone";
+        newSpacerRight.GetComponent<NewDropZoneScript>().RightmostSpacer = true;
+        newSpacerRight.transform.SetParent(AnswerLine.transform);
+        newSpacerRight.transform.SetAsLastSibling();
+        newSpacerRight.transform.localScale = new Vector3(1,1,1);
+    }
+
+
+    private void CreateNewSpacer(GameObject AnswerLine, int newAnswerPos)
+    {
+        GameObject newSpacer = Instantiate(gameObject);
+        newSpacer.GetComponent<NewDropZoneScript>().LeftmostSpacer = false;
+        newSpacer.GetComponent<NewDropZoneScript>().RightmostSpacer = false;
+        newSpacer.GetComponent<LayoutElement>().preferredWidth = preferedWidth;
+        newSpacer.name = "DropZone";
+        newSpacer.transform.SetParent(AnswerLine.transform);
+        newSpacer.transform.SetSiblingIndex(newAnswerPos);
+        newSpacer.transform.localScale = new Vector3(1,1,1);
+    }
+
+    public void OnPointerEnter(PointerEventData eventData)
+    {
+        draggedQuestion = NewQuestionDragController.itemBeeingDragged;
+        if (draggedQuestion != null) {
+
+            // Expandera aktuell drop yta
+            LayoutElement le = transform.GetComponent<LayoutElement>();
+            le.preferredWidth = le.preferredWidth + preferedWidth;
+
+            if (LeftmostSpacer) {
+                rightSibling = transform.parent.GetChild(1).GetComponent<AnswerLineQuestionCard>();
+                NewQuestionDragController.setAnswerText(LocalizationManager.Instance.GetText("BEFORE") + rightSibling.answerText.text);
+                leftSibling = null;
+            } else if (RightmostSpacer) {
+                leftSibling = transform.parent.GetChild(transform.GetSiblingIndex() - 1).GetComponent<AnswerLineQuestionCard>();
+                NewQuestionDragController.setAnswerText(LocalizationManager.Instance.GetText("AFTER") + leftSibling.answerText.text);
+                rightSibling = null;
+            } else {
+                leftSibling = transform.parent.GetChild(transform.GetSiblingIndex() - 1).GetComponent<AnswerLineQuestionCard>();
+                rightSibling = transform.parent.GetChild(transform.GetSiblingIndex() + 1).GetComponent<AnswerLineQuestionCard>();
+                NewQuestionDragController.setAnswerText(leftSibling.answerText.text + " - " + rightSibling.answerText.text);
+            }
+        }
+    }
+
+    public void OnPointerExit(PointerEventData eventData)
+    {
+        if (draggedQuestion != null) {
+            NewQuestionDragController.setAnswerText("???? - ????");
+            LayoutElement le = transform.GetComponent<LayoutElement>();
+            le.preferredWidth = le.preferredWidth - preferedWidth;
+        }
+    }
+
+    void YesFunction() {
+
+        String correctYear = questionData.Answer;
+        String answeredYear = draggedQuestion.GetComponent<NewQuestionDragController>().AnswerText.text;
+
+        String yearBefore = leftSibling != null?leftSibling.answerText.text:"-99999";
+        String yearAfter = rightSibling != null?rightSibling.answerText.text:"99999";
+
+        Int32.TryParse(yearBefore, out int answerBeforeInt);
+        Int32.TryParse(yearAfter, out int answerAfterInt);
+        Int32.TryParse(correctYear, out int correctYearInt);
+
+        if (answerBeforeInt <= correctYearInt && answerAfterInt >= correctYearInt) {
+            answeredCorrectly = true;
+        } else {
+            answeredCorrectly = false;
+        }
+    }
+}

+ 1 - 1
Assets/Scripts/DropZone.cs.meta → Assets/NewDropZoneScript.cs.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: e8b2fc3684a5cca4e9de0bbec931fc27
+guid: 56500bdc2fd13624991994585fcc82a7
 MonoImporter:
   externalObjects: {}
   serializedVersion: 2

+ 58 - 0
Assets/NewQuestionDragController.cs

@@ -0,0 +1,58 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.EventSystems;
+using UnityEngine.UI;
+using System;
+
+public class NewQuestionDragController : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDragHandler
+{
+
+    public static GameObject itemBeeingDragged;
+    public GameObject NewQuestion;
+    public GameObject NewQuestionStartParent;
+    private static Text answerText;
+    private Vector3 startPosition;
+
+    public Text AnswerText { get => answerText; set => answerText = value; }
+
+private void Start() {
+    AnswerText = GameObject.FindGameObjectWithTag("AnswerText").GetComponent<Text>(); 
+}
+    public void OnDrag(PointerEventData eventData)
+    {
+        NewQuestion.gameObject.transform.position = eventData.position;
+    }
+
+    public void OnEndDrag(PointerEventData eventData)
+    {
+        itemBeeingDragged = null;
+        GetComponent<CanvasGroup>().blocksRaycasts = true;
+        // Kontrollera vart man släpper kortet och skicka upp fråga om position ok
+        if (NewQuestionStartParent != transform.parent) {
+            NewQuestion.gameObject.transform.position = startPosition;
+        }
+        if (getAnswerText().text != "???? - ????") { // Om man svarar nej måste man återställa answerText
+        answerText.text = "???? - ????";
+            // transform.parent.GetComponent<NewQuestionCardController>().GenerateNewQuestion();
+        }
+    }
+
+    void IBeginDragHandler.OnBeginDrag(PointerEventData eventData)
+    {
+        itemBeeingDragged = gameObject;
+        GetComponent<CanvasGroup>().blocksRaycasts = false;
+        startPosition = NewQuestion.gameObject.transform.position;
+        // Instanciate new object to drag
+        // Save current Position on object (to return to)
+    }
+
+    public static Text getAnswerText() {
+        return answerText;
+    }
+    public static void setAnswerText(string value) {
+        if (NewQuestionDragController.itemBeeingDragged != null) {
+            answerText.text = value;
+        }
+    }
+}

+ 11 - 0
Assets/NewQuestionDragController.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 6f74ea6398f6a034fa0d5f5026f58ffa
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
Assets/Parse/Plugins/Unity.Compat.dll


+ 0 - 24
Assets/Parse/Plugins/Unity.Compat.dll.meta

@@ -1,24 +0,0 @@
-fileFormatVersion: 2
-guid: 015ef18e20f24535830f59eda9e70830
-labels:
-- gvh
-- gvh_dotnet-3.5
-- gvh_version-6.6.0
-timeCreated: 1500423342
-licenseType: Pro
-PluginImporter:
-  serializedVersion: 1
-  iconMap: {}
-  executionOrder: {}
-  isPreloaded: 0
-  platformData:
-    Any:
-      enabled: 0
-      settings: {}
-    Editor:
-      enabled: 0
-      settings:
-        DefaultValueInitialized: true
-  userData:
-  assetBundleName:
-  assetBundleVariant:

BIN
Assets/Parse/Plugins/Unity.Tasks.dll


+ 0 - 24
Assets/Parse/Plugins/Unity.Tasks.dll.meta

@@ -1,24 +0,0 @@
-fileFormatVersion: 2
-guid: 93324a471a6d44bb8297d17d8b191e52
-labels:
-- gvh
-- gvh_dotnet-3.5
-- gvh_version-6.6.0
-timeCreated: 1500423342
-licenseType: Pro
-PluginImporter:
-  serializedVersion: 1
-  iconMap: {}
-  executionOrder: {}
-  isPreloaded: 0
-  platformData:
-    Any:
-      enabled: 0
-      settings: {}
-    Editor:
-      enabled: 0
-      settings:
-        DefaultValueInitialized: true
-  userData:
-  assetBundleName:
-  assetBundleVariant:

+ 0 - 8
Assets/Parse/Plugins/dotNet45.meta

@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 167409c17e6abad418a14e17e15f11e8
-folderAsset: yes
-DefaultImporter:
-  externalObjects: {}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 

BIN
Assets/Parse/Plugins/dotNet45/Unity.Compat.dll


+ 0 - 75
Assets/Parse/Plugins/dotNet45/Unity.Compat.dll.meta

@@ -1,75 +0,0 @@
-fileFormatVersion: 2
-guid: 3db0783b58c2429b9bc1f560ba323d05
-labels:
-- gvh
-- gvh_dotnet-4.5
-- gvh_version-6.6.0
-timeCreated: 1516145908
-licenseType: Pro
-PluginImporter:
-  serializedVersion: 1
-  iconMap: {}
-  executionOrder: {}
-  isPreloaded: 0
-  platformData:
-    Any:
-      enabled: 1
-      settings: {}
-    Editor:
-      enabled: 1
-      settings:
-        DefaultValueInitialized: true
-    Android:
-      enabled: 1
-      settings:
-        CPU: AnyCPU
-    Linux:
-      enabled: 1
-      settings:
-        CPU: x86
-    Linux64:
-      enabled: 1
-      settings:
-        CPU: x86_64
-    LinuxUniversal:
-      enabled: 1
-      settings:
-        CPU: AnyCPU
-    OSXIntel:
-      enabled: 1
-      settings:
-        CPU: x86
-    OSXIntel64:
-      enabled: 1
-      settings:
-        CPU: x86_64
-    OSXUniversal:
-      enabled: 1
-      settings:
-        CPU: AnyCPU
-    Web:
-      enabled: 1
-      settings: {}
-    WebStreamed:
-      enabled: 1
-      settings: {}
-    Win:
-      enabled: 1
-      settings:
-        CPU: x86
-    Win64:
-      enabled: 1
-      settings:
-        CPU: x86_64
-    WindowsStoreApps:
-      enabled: 1
-      settings:
-        CPU: AnyCPU
-    iOS:
-      enabled: 1
-      settings:
-        CompileFlags:
-        FrameworkDependencies:
-  userData:
-  assetBundleName:
-  assetBundleVariant:

BIN
Assets/Parse/Plugins/dotNet45/Unity.Tasks.dll


+ 0 - 75
Assets/Parse/Plugins/dotNet45/Unity.Tasks.dll.meta

@@ -1,75 +0,0 @@
-fileFormatVersion: 2
-guid: bd18eee30834e4f71bded96fd14033a9
-labels:
-- gvh
-- gvh_dotnet-4.5
-- gvh_version-6.6.0
-timeCreated: 1500423342
-licenseType: Pro
-PluginImporter:
-  serializedVersion: 1
-  iconMap: {}
-  executionOrder: {}
-  isPreloaded: 0
-  platformData:
-    Any:
-      enabled: 1
-      settings: {}
-    Editor:
-      enabled: 1
-      settings:
-        DefaultValueInitialized: true
-    Android:
-      enabled: 1
-      settings:
-        CPU: AnyCPU
-    Linux:
-      enabled: 1
-      settings:
-        CPU: x86
-    Linux64:
-      enabled: 1
-      settings:
-        CPU: x86_64
-    LinuxUniversal:
-      enabled: 1
-      settings:
-        CPU: AnyCPU
-    OSXIntel:
-      enabled: 1
-      settings:
-        CPU: x86
-    OSXIntel64:
-      enabled: 1
-      settings:
-        CPU: x86_64
-    OSXUniversal:
-      enabled: 1
-      settings:
-        CPU: AnyCPU
-    Web:
-      enabled: 1
-      settings: {}
-    WebStreamed:
-      enabled: 1
-      settings: {}
-    Win:
-      enabled: 1
-      settings:
-        CPU: x86
-    Win64:
-      enabled: 1
-      settings:
-        CPU: x86_64
-    WindowsStoreApps:
-      enabled: 1
-      settings:
-        CPU: AnyCPU
-    iOS:
-      enabled: 1
-      settings:
-        CompileFlags:
-        FrameworkDependencies:
-  userData:
-  assetBundleName:
-  assetBundleVariant:

+ 0 - 8
Assets/PlayServicesResolver.meta

@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 285fdc03a7597c34b962cb00e3c745c1
-folderAsset: yes
-DefaultImporter:
-  externalObjects: {}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 

+ 0 - 8
Assets/PlayServicesResolver/Editor.meta

@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 2c5648e48e27361498fd4cd678e56a49
-folderAsset: yes
-DefaultImporter:
-  externalObjects: {}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 

BIN
Assets/PlayServicesResolver/Editor/Google.IOSResolver_v1.2.125.0.dll


+ 0 - 37
Assets/PlayServicesResolver/Editor/Google.IOSResolver_v1.2.125.0.dll.meta

@@ -1,37 +0,0 @@
-fileFormatVersion: 2
-guid: 576d298f1b0a4ac0909c012286ff5355
-labels:
-- gvh
-- gvh_targets-editor
-- gvh_version-1.2.125.0
-PluginImporter:
-  externalObjects: {}
-  serializedVersion: 2
-  iconMap: {}
-  executionOrder: {}
-  defineConstraints: []
-  isPreloaded: 0
-  isOverridable: 0
-  isExplicitlyReferenced: 0
-  validateReferences: 1
-  platformData:
-  - first:
-      Any: 
-    second:
-      enabled: 0
-      settings: {}
-  - first:
-      Editor: Editor
-    second:
-      enabled: 1
-      settings:
-        DefaultValueInitialized: true
-  - first:
-      Windows Store Apps: WindowsStoreApps
-    second:
-      enabled: 0
-      settings:
-        CPU: AnyCPU
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 

BIN
Assets/PlayServicesResolver/Editor/Google.JarResolver_v1.2.125.0.dll


+ 0 - 37
Assets/PlayServicesResolver/Editor/Google.JarResolver_v1.2.125.0.dll.meta

@@ -1,37 +0,0 @@
-fileFormatVersion: 2
-guid: 67031c27b6dc41bfb42cd270242f08e6
-labels:
-- gvh
-- gvh_targets-editor
-- gvh_version-1.2.125.0
-PluginImporter:
-  externalObjects: {}
-  serializedVersion: 2
-  iconMap: {}
-  executionOrder: {}
-  defineConstraints: []
-  isPreloaded: 0
-  isOverridable: 0
-  isExplicitlyReferenced: 0
-  validateReferences: 1
-  platformData:
-  - first:
-      Any: 
-    second:
-      enabled: 0
-      settings: {}
-  - first:
-      Editor: Editor
-    second:
-      enabled: 1
-      settings:
-        DefaultValueInitialized: true
-  - first:
-      Windows Store Apps: WindowsStoreApps
-    second:
-      enabled: 0
-      settings:
-        CPU: AnyCPU
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 

BIN
Assets/PlayServicesResolver/Editor/Google.VersionHandler.dll


+ 0 - 37
Assets/PlayServicesResolver/Editor/Google.VersionHandler.dll.meta

@@ -1,37 +0,0 @@
-fileFormatVersion: 2
-guid: bb6999c8a5ce4ba99688ec579babe5b7
-labels:
-- gvh
-- gvh_targets-editor
-- gvh_version-1.2.125.0
-PluginImporter:
-  externalObjects: {}
-  serializedVersion: 2
-  iconMap: {}
-  executionOrder: {}
-  defineConstraints: []
-  isPreloaded: 0
-  isOverridable: 0
-  isExplicitlyReferenced: 0
-  validateReferences: 1
-  platformData:
-  - first:
-      Any: 
-    second:
-      enabled: 0
-      settings: {}
-  - first:
-      Editor: Editor
-    second:
-      enabled: 1
-      settings:
-        DefaultValueInitialized: true
-  - first:
-      Windows Store Apps: WindowsStoreApps
-    second:
-      enabled: 0
-      settings:
-        CPU: AnyCPU
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 

BIN
Assets/PlayServicesResolver/Editor/Google.VersionHandlerImpl_v1.2.125.0.dll


+ 0 - 37
Assets/PlayServicesResolver/Editor/Google.VersionHandlerImpl_v1.2.125.0.dll.meta

@@ -1,37 +0,0 @@
-fileFormatVersion: 2
-guid: 2ed22f57518a43ad8c187273663c8cf3
-labels:
-- gvh
-- gvh_targets-editor
-- gvh_version-1.2.125.0
-PluginImporter:
-  externalObjects: {}
-  serializedVersion: 2
-  iconMap: {}
-  executionOrder: {}
-  defineConstraints: []
-  isPreloaded: 0
-  isOverridable: 0
-  isExplicitlyReferenced: 0
-  validateReferences: 1
-  platformData:
-  - first:
-      Any: 
-    second:
-      enabled: 0
-      settings: {}
-  - first:
-      Editor: Editor
-    second:
-      enabled: 1
-      settings:
-        DefaultValueInitialized: true
-  - first:
-      Windows Store Apps: WindowsStoreApps
-    second:
-      enabled: 0
-      settings:
-        CPU: AnyCPU
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 

+ 0 - 8
Assets/PlayServicesResolver/Editor/play-services-resolver_v1.2.125.0.txt

@@ -1,8 +0,0 @@
-Assets/PlayServicesResolver/Editor/Google.IOSResolver_v1.2.125.0.dll
-Assets/PlayServicesResolver/Editor/Google.IOSResolver_v1.2.125.0.dll.mdb
-Assets/PlayServicesResolver/Editor/Google.JarResolver_v1.2.125.0.dll
-Assets/PlayServicesResolver/Editor/Google.JarResolver_v1.2.125.0.dll.mdb
-Assets/PlayServicesResolver/Editor/Google.VersionHandler.dll
-Assets/PlayServicesResolver/Editor/Google.VersionHandler.dll.mdb
-Assets/PlayServicesResolver/Editor/Google.VersionHandlerImpl_v1.2.125.0.dll
-Assets/PlayServicesResolver/Editor/Google.VersionHandlerImpl_v1.2.125.0.dll.mdb

+ 0 - 11
Assets/PlayServicesResolver/Editor/play-services-resolver_v1.2.125.0.txt.meta

@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: 0a7cac0eb3cb4a81b6f1e7026a060b19
-labels:
-- gvh
-- gvh_manifest
-- gvh_version-1.2.125.0
-TextScriptImporter:
-  externalObjects: {}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 

+ 161 - 118
Assets/Prefab/NewQuestion.prefab → Assets/Prefab/AnswerlineQuestion.prefab

@@ -60,6 +60,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -88,12 +89,10 @@ GameObject:
   - component: {fileID: 1781451649244772801}
   - component: {fileID: 5002419110936671095}
   - component: {fileID: 4303414690502663021}
-  - component: {fileID: 8491633767315704838}
-  - component: {fileID: 7776552258544191885}
-  - component: {fileID: 7933561225938041952}
-  - component: {fileID: 4763204001755850318}
+  - component: {fileID: 5052258110911877697}
+  - component: {fileID: 5242752221404020469}
   m_Layer: 5
-  m_Name: NewQuestion
+  m_Name: AnswerlineQuestion
   m_TagString: Untagged
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
@@ -110,16 +109,16 @@ RectTransform:
   m_LocalPosition: {x: 0, y: 0, z: -1}
   m_LocalScale: {x: 1, y: 1, z: 1}
   m_Children:
-  - {fileID: 5145380996076868372}
-  - {fileID: 5145380995516278080}
+  - {fileID: 311079892285430443}
   - {fileID: 292486665558432337}
+  - {fileID: 9066742519486375839}
   m_Father: {fileID: 0}
   m_RootOrder: 0
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
-  m_AnchorMin: {x: 0.5, y: 0.5}
-  m_AnchorMax: {x: 0.5, y: 0.5}
+  m_AnchorMin: {x: 0.37500003, y: 0.18775001}
+  m_AnchorMax: {x: 0.625, y: 0.81175}
   m_AnchoredPosition: {x: 0, y: 0}
-  m_SizeDelta: {x: 100, y: 180}
+  m_SizeDelta: {x: 0, y: 0}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!222 &5002419110936671095
 CanvasRenderer:
@@ -136,7 +135,7 @@ MonoBehaviour:
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 4662818861115959987}
-  m_Enabled: 1
+  m_Enabled: 0
   m_EditorHideFlags: 0
   m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
   m_Name: 
@@ -144,6 +143,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 1, g: 1, b: 1, a: 0.92156863}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -157,7 +157,7 @@ MonoBehaviour:
   m_FillOrigin: 0
   m_UseSpriteMesh: 0
   m_PixelsPerUnitMultiplier: 1
---- !u!114 &8491633767315704838
+--- !u!114 &5052258110911877697
 MonoBehaviour:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
@@ -166,51 +166,24 @@ MonoBehaviour:
   m_GameObject: {fileID: 4662818861115959987}
   m_Enabled: 1
   m_EditorHideFlags: 0
-  m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3}
-  m_Name: 
-  m_EditorClassIdentifier: 
-  m_Padding:
-    m_Left: 4
-    m_Right: 4
-    m_Top: 4
-    m_Bottom: 4
-  m_ChildAlignment: 0
-  m_Spacing: 3
-  m_ChildForceExpandWidth: 0
-  m_ChildForceExpandHeight: 1
-  m_ChildControlWidth: 0
-  m_ChildControlHeight: 1
-  m_ChildScaleWidth: 0
-  m_ChildScaleHeight: 0
---- !u!114 &7776552258544191885
-MonoBehaviour:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 4662818861115959987}
-  m_Enabled: 1
-  m_EditorHideFlags: 0
-  m_Script: {fileID: 11500000, guid: f299b2d58078e8d44b925d2d8c48a498, type: 3}
+  m_Script: {fileID: 11500000, guid: 36b72bcb8a99e7447b7ee7f4ca7bfbfa, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
   questionText: {fileID: 5145380997340698411}
   answerText: {fileID: 5145380997204476517}
-  questionTextPanel: {fileID: 5145380995516278083}
+  backCategoryText: {fileID: 832570426107732918}
+  questionTextPanel: {fileID: 4385726453684229294}
   questionString: 
   answerString: 
   idString: 
   categoryString: 
   unsafeColor:
     serializedVersion: 2
-    rgba: 3356364464
+    rgba: 4061797012
   safeColor:
     serializedVersion: 2
-    rgba: 3248895005
-  originalPos: {x: 0, y: 0, z: 0}
-  originalRot: {x: 0, y: 0, z: 0, w: 0}
-  CategoryText: {fileID: 832570426107732918}
---- !u!114 &7933561225938041952
+    rgba: 3458698286
+--- !u!114 &5242752221404020469
 MonoBehaviour:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
@@ -219,24 +192,17 @@ MonoBehaviour:
   m_GameObject: {fileID: 4662818861115959987}
   m_Enabled: 1
   m_EditorHideFlags: 0
-  m_Script: {fileID: 11500000, guid: 06f334e0430ec0944ba0abce4592c950, type: 3}
+  m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  parent: {fileID: 0}
-  placeholderParent: {fileID: 0}
-  placeholder: {fileID: 0}
---- !u!225 &4763204001755850318
-CanvasGroup:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 4662818861115959987}
-  m_Enabled: 1
-  m_Alpha: 1
-  m_Interactable: 1
-  m_BlocksRaycasts: 0
-  m_IgnoreParentGroups: 0
+  m_IgnoreLayout: 0
+  m_MinWidth: 60
+  m_MinHeight: 100
+  m_PreferredWidth: 120
+  m_PreferredHeight: 200
+  m_FlexibleWidth: -1
+  m_FlexibleHeight: -1
+  m_LayoutPriority: 1
 --- !u!1 &5145380995516278083
 GameObject:
   m_ObjectHideFlags: 0
@@ -270,13 +236,13 @@ RectTransform:
   m_LocalScale: {x: 1, y: 1, z: 1}
   m_Children:
   - {fileID: 5145380997340698410}
-  m_Father: {fileID: 1781451649244772801}
+  m_Father: {fileID: 311079892285430443}
   m_RootOrder: 1
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
-  m_AnchorMin: {x: 0, y: 0}
-  m_AnchorMax: {x: 0, y: 0}
-  m_AnchoredPosition: {x: 0, y: 0}
-  m_SizeDelta: {x: 92, y: 0}
+  m_AnchorMin: {x: 0.05, y: 0.027777778}
+  m_AnchorMax: {x: 0.95000005, y: 0.6888889}
+  m_AnchoredPosition: {x: 0, y: -0.19000244}
+  m_SizeDelta: {x: 2, y: 0.19000006}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!222 &5145380995516278108
 CanvasRenderer:
@@ -301,6 +267,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 1, g: 1, b: 1, a: 0}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -420,13 +387,13 @@ RectTransform:
   m_LocalScale: {x: 1, y: 1, z: 1}
   m_Children:
   - {fileID: 5145380997204476516}
-  m_Father: {fileID: 1781451649244772801}
+  m_Father: {fileID: 311079892285430443}
   m_RootOrder: 0
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
-  m_AnchorMin: {x: 0, y: 0}
-  m_AnchorMax: {x: 0, y: 0}
-  m_AnchoredPosition: {x: 0, y: 0}
-  m_SizeDelta: {x: 92, y: 0}
+  m_AnchorMin: {x: 0.05, y: 0.77222234}
+  m_AnchorMax: {x: 0.95000005, y: 0.9777778}
+  m_AnchoredPosition: {x: 0, y: 0.19999695}
+  m_SizeDelta: {x: 2, y: 1.242424}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!222 &5145380996076868368
 CanvasRenderer:
@@ -451,6 +418,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 1, g: 1, b: 1, a: 0.392}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -531,10 +499,10 @@ RectTransform:
   m_Father: {fileID: 5145380996076868372}
   m_RootOrder: 0
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
-  m_AnchorMin: {x: 0.5, y: 0.5}
-  m_AnchorMax: {x: 0.5, y: 0.5}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
   m_AnchoredPosition: {x: 0, y: 0}
-  m_SizeDelta: {x: 100, y: 50}
+  m_SizeDelta: {x: 0, y: 0.0000038147}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!222 &5145380997204476514
 CanvasRenderer:
@@ -559,6 +527,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -566,11 +535,11 @@ MonoBehaviour:
     m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
     m_FontSize: 16
     m_FontStyle: 0
-    m_BestFit: 0
+    m_BestFit: 1
     m_MinSize: 1
     m_MaxSize: 40
     m_Alignment: 4
-    m_AlignByGeometry: 0
+    m_AlignByGeometry: 1
     m_RichText: 1
     m_HorizontalOverflow: 0
     m_VerticalOverflow: 0
@@ -608,10 +577,10 @@ RectTransform:
   m_Father: {fileID: 5145380995516278080}
   m_RootOrder: 0
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
-  m_AnchorMin: {x: 0.5, y: 0.5}
-  m_AnchorMax: {x: 0.5, y: 0.5}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
   m_AnchoredPosition: {x: 0, y: 0}
-  m_SizeDelta: {x: 90, y: 130.15}
+  m_SizeDelta: {x: -2, y: 6.149994}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!222 &5145380997340698408
 CanvasRenderer:
@@ -636,6 +605,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -653,7 +623,7 @@ MonoBehaviour:
     m_VerticalOverflow: 0
     m_LineSpacing: 1
   m_Text: This is a new question
---- !u!1 &8636195509364652913
+--- !u!1 &5307012865466936910
 GameObject:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
@@ -661,53 +631,52 @@ GameObject:
   m_PrefabAsset: {fileID: 0}
   serializedVersion: 6
   m_Component:
-  - component: {fileID: 292486665558432337}
-  - component: {fileID: 2501528095362714328}
-  - component: {fileID: 8343590926707591943}
-  - component: {fileID: 4795284597210087596}
-  - component: {fileID: 7308027355893508016}
+  - component: {fileID: 311079892285430443}
+  - component: {fileID: 8596713993905610413}
+  - component: {fileID: 1112255313417007316}
   m_Layer: 5
-  m_Name: Backside
+  m_Name: CardFront
   m_TagString: Untagged
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
   m_StaticEditorFlags: 0
   m_IsActive: 1
---- !u!224 &292486665558432337
+--- !u!224 &311079892285430443
 RectTransform:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 8636195509364652913}
-  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_GameObject: {fileID: 5307012865466936910}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
   m_LocalPosition: {x: 0, y: 0, z: 0}
   m_LocalScale: {x: 1, y: 1, z: 1}
   m_Children:
-  - {fileID: 2743819893221540338}
+  - {fileID: 5145380996076868372}
+  - {fileID: 5145380995516278080}
   m_Father: {fileID: 1781451649244772801}
-  m_RootOrder: 2
+  m_RootOrder: 0
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0, y: 0}
   m_AnchorMax: {x: 1, y: 1}
-  m_AnchoredPosition: {x: 0, y: 0}
-  m_SizeDelta: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0.049987793}
+  m_SizeDelta: {x: 0, y: -0.099990845}
   m_Pivot: {x: 0.5, y: 0.5}
---- !u!222 &2501528095362714328
+--- !u!222 &8596713993905610413
 CanvasRenderer:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 8636195509364652913}
+  m_GameObject: {fileID: 5307012865466936910}
   m_CullTransparentMesh: 0
---- !u!114 &8343590926707591943
+--- !u!114 &1112255313417007316
 MonoBehaviour:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 8636195509364652913}
+  m_GameObject: {fileID: 5307012865466936910}
   m_Enabled: 1
   m_EditorHideFlags: 0
   m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
@@ -716,6 +685,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 1, g: 1, b: 1, a: 0.392}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -729,35 +699,108 @@ MonoBehaviour:
   m_FillOrigin: 0
   m_UseSpriteMesh: 0
   m_PixelsPerUnitMultiplier: 1
---- !u!114 &4795284597210087596
-MonoBehaviour:
+--- !u!1 &8190035091965959887
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 9066742519486375839}
+  m_Layer: 5
+  m_Name: CardFacePoint
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &9066742519486375839
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8190035091965959887}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0.049995422, z: -0.02}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 1781451649244772801}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &8636195509364652913
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 292486665558432337}
+  - component: {fileID: 2501528095362714328}
+  - component: {fileID: 8343590926707591943}
+  m_Layer: 5
+  m_Name: Backside
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 0
+--- !u!224 &292486665558432337
+RectTransform:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 8636195509364652913}
-  m_Enabled: 1
-  m_EditorHideFlags: 0
-  m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
-  m_Name: 
-  m_EditorClassIdentifier: 
-  m_IgnoreLayout: 1
-  m_MinWidth: -1
-  m_MinHeight: -1
-  m_PreferredWidth: -1
-  m_PreferredHeight: -1
-  m_FlexibleWidth: -1
-  m_FlexibleHeight: -1
-  m_LayoutPriority: 1
---- !u!225 &7308027355893508016
-CanvasGroup:
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children:
+  - {fileID: 2743819893221540338}
+  m_Father: {fileID: 1781451649244772801}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0.049987793}
+  m_SizeDelta: {x: 0, y: -0.099990845}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &2501528095362714328
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8636195509364652913}
+  m_CullTransparentMesh: 0
+--- !u!114 &8343590926707591943
+MonoBehaviour:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 8636195509364652913}
   m_Enabled: 1
-  m_Alpha: 0
-  m_Interactable: 0
-  m_BlocksRaycasts: 0
-  m_IgnoreParentGroups: 0
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 0, b: 0, a: 1}
+  m_RaycastTarget: 1
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 1

+ 0 - 0
Assets/Prefab/NewQuestion.prefab.meta → Assets/Prefab/AnswerlineQuestion.prefab.meta


+ 115 - 0
Assets/Prefab/AnswerlineSpacer.prefab

@@ -0,0 +1,115 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &4320200077917244823
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 844609990550974320}
+  - component: {fileID: 2602301282208082395}
+  - component: {fileID: 7321973238979991821}
+  - component: {fileID: 8121819146540351495}
+  - component: {fileID: 3587133359981829256}
+  m_Layer: 5
+  m_Name: AnswerlineSpacer
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &844609990550974320
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4320200077917244823}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &2602301282208082395
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4320200077917244823}
+  m_CullTransparentMesh: 0
+--- !u!114 &7321973238979991821
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4320200077917244823}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 0}
+  m_RaycastTarget: 1
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 0}
+  m_Type: 0
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 1
+--- !u!114 &8121819146540351495
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4320200077917244823}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_IgnoreLayout: 0
+  m_MinWidth: 20
+  m_MinHeight: -1
+  m_PreferredWidth: 60
+  m_PreferredHeight: -1
+  m_FlexibleWidth: 1
+  m_FlexibleHeight: 1
+  m_LayoutPriority: 1
+--- !u!114 &3587133359981829256
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4320200077917244823}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 56500bdc2fd13624991994585fcc82a7, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  RightmostSpacer: 0
+  LeftmostSpacer: 0
+  AnswerLineQuestionCardPrefab: {fileID: 4662818861115959987, guid: e91b5c1a341f8be469b7bab25ee954d7,
+    type: 3}
+  preferedWidth: 30

+ 7 - 0
Assets/Prefab/AnswerlineSpacer.prefab.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: cad0ad84198face48a25f10eb442fda4
+PrefabImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 115 - 0
Assets/Prefab/LeftDropZone.prefab

@@ -0,0 +1,115 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &2671252238156376074
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1539939266552990445}
+  - component: {fileID: 4250102753320635462}
+  - component: {fileID: 3482259184338331078}
+  - component: {fileID: 7948890376295245210}
+  - component: {fileID: 3399742850734487829}
+  m_Layer: 5
+  m_Name: LeftDropZone
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1539939266552990445
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2671252238156376074}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &4250102753320635462
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2671252238156376074}
+  m_CullTransparentMesh: 0
+--- !u!114 &3482259184338331078
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2671252238156376074}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 0}
+  m_RaycastTarget: 1
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 0}
+  m_Type: 0
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 1
+--- !u!114 &7948890376295245210
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2671252238156376074}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_IgnoreLayout: 0
+  m_MinWidth: 20
+  m_MinHeight: -1
+  m_PreferredWidth: 60
+  m_PreferredHeight: -1
+  m_FlexibleWidth: 1
+  m_FlexibleHeight: 1
+  m_LayoutPriority: 1
+--- !u!114 &3399742850734487829
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2671252238156376074}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 56500bdc2fd13624991994585fcc82a7, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  RightmostSpacer: 0
+  LeftmostSpacer: 1
+  AnswerLineQuestionCardPrefab: {fileID: 4662818861115959987, guid: e91b5c1a341f8be469b7bab25ee954d7,
+    type: 3}
+  preferedWidth: 60

+ 7 - 0
Assets/Prefab/LeftDropZone.prefab.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 02b4c72ca3390ac4fbcf79027941398d
+PrefabImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 937 - 0
Assets/Prefab/NewQuestionCard .prefab

@@ -0,0 +1,937 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &401689137555957987
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 4598608169191213701}
+  - component: {fileID: 7846678667211607331}
+  - component: {fileID: 1325350528863644067}
+  m_Layer: 5
+  m_Name: CardBody
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &4598608169191213701
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 401689137555957987}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children:
+  - {fileID: 1029632429661224194}
+  - {fileID: 7941253163495549765}
+  m_Father: {fileID: 1989135489060223341}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.07, y: 0.05}
+  m_AnchorMax: {x: 0.93, y: 0.95}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &7846678667211607331
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 401689137555957987}
+  m_CullTransparentMesh: 0
+--- !u!114 &1325350528863644067
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 401689137555957987}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.9528302, g: 0.90825504, b: 0.81350124, a: 1}
+  m_RaycastTarget: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 3143636935629779763, guid: 710548c670aa3814ea179e1fc9fdf233,
+    type: 3}
+  m_Type: 0
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 1
+--- !u!1 &519567173615089598
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 6365744660863061931}
+  - component: {fileID: 1222083437519981006}
+  - component: {fileID: 4516747964019318398}
+  m_Layer: 5
+  m_Name: CategoryText
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &6365744660863061931
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 519567173615089598}
+  m_LocalRotation: {x: 0, y: 1, z: 0, w: 0}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 4693647403750183598}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 180, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: -80, y: -40}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &1222083437519981006
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 519567173615089598}
+  m_CullTransparentMesh: 0
+--- !u!114 &4516747964019318398
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 519567173615089598}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 0.79607844}
+  m_RaycastTarget: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_FontData:
+    m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+    m_FontSize: 14
+    m_FontStyle: 0
+    m_BestFit: 1
+    m_MinSize: 10
+    m_MaxSize: 60
+    m_Alignment: 4
+    m_AlignByGeometry: 1
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: New Text
+--- !u!1 &1178644212175240768
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 3082965764524172852}
+  - component: {fileID: 1919114568163576290}
+  - component: {fileID: 5451590777368689003}
+  m_Layer: 5
+  m_Name: AnswerText
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &3082965764524172852
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1178644212175240768}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 7941253163495549765}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &1919114568163576290
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1178644212175240768}
+  m_CullTransparentMesh: 0
+--- !u!114 &5451590777368689003
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1178644212175240768}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.2735849, g: 0.23616055, b: 0.23616055, a: 1}
+  m_RaycastTarget: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_FontData:
+    m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+    m_FontSize: 14
+    m_FontStyle: 0
+    m_BestFit: 1
+    m_MinSize: 10
+    m_MaxSize: 64
+    m_Alignment: 4
+    m_AlignByGeometry: 1
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: 9999
+--- !u!1 &1345647215953019553
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 2308267998076191506}
+  m_Layer: 0
+  m_Name: FacePoint
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &2308267998076191506
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1345647215953019553}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: -0.02}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 7099405183413427678}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &2470462218906091421
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 7941253163495549765}
+  - component: {fileID: 2123260869108372966}
+  - component: {fileID: 410199521931350778}
+  m_Layer: 5
+  m_Name: AnswerPanel
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &7941253163495549765
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2470462218906091421}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children:
+  - {fileID: 3082965764524172852}
+  m_Father: {fileID: 4598608169191213701}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: -1.3995662, y: 205.029}
+  m_SizeDelta: {x: -70.57959, y: -445.65253}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &2123260869108372966
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2470462218906091421}
+  m_CullTransparentMesh: 0
+--- !u!114 &410199521931350778
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2470462218906091421}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 0.5803922}
+  m_RaycastTarget: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 0.25
+--- !u!1 &2909750003153031358
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 6523963581335142729}
+  m_Layer: 5
+  m_Name: CardBack
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 0
+--- !u!224 &6523963581335142729
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2909750003153031358}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children:
+  - {fileID: 8958463091076536125}
+  m_Father: {fileID: 7790000539003036583}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!1 &3144060399712752107
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1029632429661224194}
+  - component: {fileID: 8627215610238656246}
+  - component: {fileID: 4114993464723262221}
+  m_Layer: 5
+  m_Name: QuestionPanel
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1029632429661224194
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3144060399712752107}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children:
+  - {fileID: 1982633207552301613}
+  m_Father: {fileID: 4598608169191213701}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 0.75000006}
+  m_AnchoredPosition: {x: 0, y: 10.000001}
+  m_SizeDelta: {x: -40, y: -19.999998}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &8627215610238656246
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3144060399712752107}
+  m_CullTransparentMesh: 0
+--- !u!114 &4114993464723262221
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3144060399712752107}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 0.43137255}
+  m_RaycastTarget: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 0.25
+--- !u!1 &4276680730332521339
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 7790000539003036583}
+  - component: {fileID: 8853815553212061645}
+  m_Layer: 5
+  m_Name: CardPanel
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &7790000539003036583
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4276680730332521339}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children:
+  - {fileID: 1989135489060223341}
+  - {fileID: 6523963581335142729}
+  m_Father: {fileID: 4794180824064998369}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &8853815553212061645
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4276680730332521339}
+  m_CullTransparentMesh: 0
+--- !u!1 &4943120108382682435
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 4693647403750183598}
+  - component: {fileID: 1624877048303327718}
+  - component: {fileID: 6615504534896817191}
+  m_Layer: 5
+  m_Name: CategoryTextPanel
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &4693647403750183598
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4943120108382682435}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children:
+  - {fileID: 6365744660863061931}
+  m_Father: {fileID: 8958463091076536125}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: -400}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &1624877048303327718
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4943120108382682435}
+  m_CullTransparentMesh: 0
+--- !u!114 &6615504534896817191
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4943120108382682435}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 0.392}
+  m_RaycastTarget: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 0.25
+--- !u!1 &5259910487025484316
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 7099405183413427678}
+  - component: {fileID: 5873215159008177569}
+  - component: {fileID: 6630351334953426824}
+  - component: {fileID: 6899749709334062476}
+  m_Layer: 0
+  m_Name: 'NewQuestionCard '
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &7099405183413427678
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5259910487025484316}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: -5.13}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children:
+  - {fileID: 4794180824064998369}
+  - {fileID: 2308267998076191506}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0.5}
+  m_AnchorMax: {x: 0.5, y: 0.5}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 400, y: 600}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &5873215159008177569
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5259910487025484316}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 9748b24a684d2ff419509910a578cbc2, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  CardFront: {fileID: 1989135489060223341}
+  CardBack: {fileID: 6523963581335142729}
+  targetFacePoint: {fileID: 2308267998076191506}
+  col: {fileID: 6630351334953426824}
+--- !u!65 &6630351334953426824
+BoxCollider:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5259910487025484316}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Size: {x: 1.7308261, y: 2.694712, z: 0.01}
+  m_Center: {x: 0.00010895729, y: -0.0049124956, z: 0}
+--- !u!114 &6899749709334062476
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5259910487025484316}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: a81bb781910b01c4fbf0626405fdec25, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  questionText: {fileID: 8872658007277036297}
+  answerText: {fileID: 5451590777368689003}
+  backQuestionTitleText: {fileID: 4516747964019318398}
+--- !u!1 &5375470033680474142
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1982633207552301613}
+  - component: {fileID: 6818253257290599979}
+  - component: {fileID: 8872658007277036297}
+  m_Layer: 5
+  m_Name: QuestionText
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1982633207552301613
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5375470033680474142}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 1029632429661224194}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: -50, y: -49.999992}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &6818253257290599979
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5375470033680474142}
+  m_CullTransparentMesh: 0
+--- !u!114 &8872658007277036297
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5375470033680474142}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+  m_RaycastTarget: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_FontData:
+    m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+    m_FontSize: 14
+    m_FontStyle: 0
+    m_BestFit: 1
+    m_MinSize: 10
+    m_MaxSize: 40
+    m_Alignment: 1
+    m_AlignByGeometry: 1
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: This is the question text
+--- !u!1 &5796189959952846207
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 4794180824064998369}
+  - component: {fileID: 6801462718980116424}
+  - component: {fileID: 2704166792009661244}
+  - component: {fileID: 8698187834605472273}
+  m_Layer: 5
+  m_Name: Canvas
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &4794180824064998369
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5796189959952846207}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 0.005, y: 0.005, z: 1}
+  m_Children:
+  - {fileID: 7790000539003036583}
+  m_Father: {fileID: 7099405183413427678}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 400, y: 600}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!223 &6801462718980116424
+Canvas:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5796189959952846207}
+  m_Enabled: 1
+  serializedVersion: 3
+  m_RenderMode: 2
+  m_Camera: {fileID: 0}
+  m_PlaneDistance: 100
+  m_PixelPerfect: 0
+  m_ReceivesEvents: 1
+  m_OverrideSorting: 0
+  m_OverridePixelPerfect: 0
+  m_SortingBucketNormalizedSize: 0
+  m_AdditionalShaderChannelsFlag: 0
+  m_SortingLayerID: 0
+  m_SortingOrder: 0
+  m_TargetDisplay: 0
+--- !u!114 &2704166792009661244
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5796189959952846207}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_UiScaleMode: 0
+  m_ReferencePixelsPerUnit: 100
+  m_ScaleFactor: 1
+  m_ReferenceResolution: {x: 800, y: 600}
+  m_ScreenMatchMode: 0
+  m_MatchWidthOrHeight: 0
+  m_PhysicalUnit: 3
+  m_FallbackScreenDPI: 96
+  m_DefaultSpriteDPI: 96
+  m_DynamicPixelsPerUnit: 1
+--- !u!114 &8698187834605472273
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5796189959952846207}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_IgnoreReversedGraphics: 1
+  m_BlockingObjects: 0
+  m_BlockingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+--- !u!1 &7654592366542417368
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1989135489060223341}
+  m_Layer: 5
+  m_Name: CardFace
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1989135489060223341
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7654592366542417368}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children:
+  - {fileID: 4598608169191213701}
+  m_Father: {fileID: 7790000539003036583}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!1 &8450258613015790169
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 8958463091076536125}
+  - component: {fileID: 8809371624364623562}
+  - component: {fileID: 1604737814380804096}
+  m_Layer: 5
+  m_Name: CardBody
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &8958463091076536125
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8450258613015790169}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children:
+  - {fileID: 4693647403750183598}
+  m_Father: {fileID: 6523963581335142729}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.07, y: 0.05}
+  m_AnchorMax: {x: 0.93, y: 0.95}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &8809371624364623562
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8450258613015790169}
+  m_CullTransparentMesh: 0
+--- !u!114 &1604737814380804096
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8450258613015790169}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.745283, g: 0.6809496, b: 0.5308384, a: 1}
+  m_RaycastTarget: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 3143636935629779763, guid: 710548c670aa3814ea179e1fc9fdf233,
+    type: 3}
+  m_Type: 0
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 1

+ 7 - 0
Assets/Prefab/NewQuestionCard .prefab.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: b6d7926c039513444a41a94be0aa452d
+PrefabImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 115 - 0
Assets/Prefab/RightDropZone.prefab

@@ -0,0 +1,115 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &156429466486688665
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 3632004245437409662}
+  - component: {fileID: 2144535767132073941}
+  - component: {fileID: 6522438128165778858}
+  - component: {fileID: 5289952382053615113}
+  - component: {fileID: 583178873964010118}
+  m_Layer: 5
+  m_Name: RightDropZone
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &3632004245437409662
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 156429466486688665}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &2144535767132073941
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 156429466486688665}
+  m_CullTransparentMesh: 0
+--- !u!114 &6522438128165778858
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 156429466486688665}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 0}
+  m_RaycastTarget: 1
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 0}
+  m_Type: 0
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 1
+--- !u!114 &5289952382053615113
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 156429466486688665}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_IgnoreLayout: 0
+  m_MinWidth: 20
+  m_MinHeight: -1
+  m_PreferredWidth: 60
+  m_PreferredHeight: -1
+  m_FlexibleWidth: 1
+  m_FlexibleHeight: 1
+  m_LayoutPriority: 1
+--- !u!114 &583178873964010118
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 156429466486688665}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 56500bdc2fd13624991994585fcc82a7, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  RightmostSpacer: 1
+  LeftmostSpacer: 0
+  AnswerLineQuestionCardPrefab: {fileID: 4662818861115959987, guid: e91b5c1a341f8be469b7bab25ee954d7,
+    type: 3}
+  preferedWidth: 60

+ 7 - 0
Assets/Prefab/RightDropZone.prefab.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 234a00d1ccaeed04fb3415d373b6c2e4
+PrefabImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 1 - 1
Assets/Parse.meta → Assets/Scenes.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: ac9852b5d8b69e9489e712a7fb48e918
+guid: 66c264e0fc7c4194c975ea21ae6c5d86
 folderAsset: yes
 DefaultImporter:
   externalObjects: {}

+ 72 - 1
Assets/MainMenu.unity → Assets/Scenes/MainMenu.unity

@@ -173,6 +173,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 1, g: 1, b: 1, a: 1}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -206,6 +207,7 @@ GameObject:
   - component: {fileID: 7145112}
   - component: {fileID: 7145111}
   - component: {fileID: 7145114}
+  - component: {fileID: 7145115}
   m_Layer: 0
   m_Name: EventSystem
   m_TagString: Untagged
@@ -278,6 +280,18 @@ MonoBehaviour:
   - {fileID: 4900000, guid: b40f72e6a4a750842acfc4a1461a113e, type: 3}
   - {fileID: 4900000, guid: 1e27c568172cb1d45a279d7d32478044, type: 3}
   languages: []
+--- !u!114 &7145115
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7145110}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 5a9e345e01b695946aa45906dfbfaeb7, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
 --- !u!1001 &65653394
 PrefabInstance:
   m_ObjectHideFlags: 0
@@ -527,6 +541,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 1, g: 1, b: 1, a: 0.392}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -650,6 +665,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 1, g: 1, b: 1, a: 1}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -787,6 +803,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 1, g: 1, b: 1, a: 0.392}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -860,6 +877,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 1, g: 1, b: 1, a: 1}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -936,6 +954,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -1067,6 +1086,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 1, g: 1, b: 1, a: 0.392}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -1254,6 +1274,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 1, g: 1, b: 1, a: 0.392}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -1429,6 +1450,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 1, g: 1, b: 1, a: 1}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -1502,6 +1524,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -1579,6 +1602,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 1, g: 1, b: 1, a: 1}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -1680,6 +1704,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 1, g: 1, b: 1, a: 0.392}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -1753,6 +1778,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 1, g: 1, b: 1, a: 0.392}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -1885,6 +1911,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 1, g: 1, b: 1, a: 1}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -2008,6 +2035,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 1, g: 1, b: 1, a: 1}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -2096,6 +2124,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 1, g: 1, b: 1, a: 1}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -2169,6 +2198,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -2276,6 +2306,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 1, g: 1, b: 1, a: 0}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -2420,6 +2451,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 1, g: 1, b: 1, a: 1}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -2506,6 +2538,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 1, g: 1, b: 1, a: 1}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -2579,6 +2612,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 1, g: 1, b: 1, a: 1}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -2774,6 +2808,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 1, g: 1, b: 1, a: 1}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -2863,6 +2898,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 1, g: 1, b: 1, a: 0.392}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -3042,6 +3078,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -3119,6 +3156,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -3196,6 +3234,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -3276,6 +3315,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -3384,6 +3424,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 1, g: 1, b: 1, a: 1}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -3507,6 +3548,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 1, g: 1, b: 1, a: 1}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -3581,6 +3623,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -3709,6 +3752,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 1, g: 1, b: 1, a: 1}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -3797,6 +3841,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 1, g: 1, b: 1, a: 0.392}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -3895,6 +3940,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 1, g: 1, b: 1, a: 0.392}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -4062,6 +4108,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -4139,6 +4186,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -4219,6 +4267,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 1, g: 1, b: 1, a: 0.392}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -4369,6 +4418,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 1, g: 1, b: 1, a: 1}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -4506,6 +4556,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 1, g: 1, b: 1, a: 0.392}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -4612,6 +4663,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 1, g: 1, b: 1, a: 0.392}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -4713,6 +4765,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 1, g: 1, b: 1, a: 0.392}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -4786,6 +4839,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 1, g: 1, b: 1, a: 1}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -4859,6 +4913,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 1, g: 1, b: 1, a: 1}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -4982,6 +5037,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 1, g: 1, b: 1, a: 1}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -5073,6 +5129,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 1, g: 1, b: 1, a: 0.392}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -5167,6 +5224,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -5329,6 +5387,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 1, g: 1, b: 1, a: 1}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -5418,6 +5477,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -5572,6 +5632,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 1, g: 1, b: 1, a: 1}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -5739,6 +5800,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 1, g: 1, b: 1, a: 0}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -5814,6 +5876,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 1, g: 1, b: 1, a: 1}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -5929,7 +5992,7 @@ MonoBehaviour:
   m_TargetGraphic: {fileID: 974731453}
   m_HandleRect: {fileID: 974731452}
   m_Direction: 2
-  m_Value: 1
+  m_Value: 1.0000002
   m_Size: 0
   m_NumberOfSteps: 0
   m_OnValueChanged:
@@ -5950,6 +6013,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 1, g: 1, b: 1, a: 1}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -6057,6 +6121,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 1, g: 1, b: 1, a: 0.392}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -6165,6 +6230,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 1, g: 1, b: 1, a: 0.78431374}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -6283,6 +6349,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 1, g: 1, b: 1, a: 0}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -6402,6 +6469,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 1, g: 1, b: 1, a: 1}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -6488,6 +6556,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 1, g: 1, b: 1, a: 1}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -6563,6 +6632,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 1, g: 1, b: 1, a: 0.392}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -6636,6 +6706,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []

+ 0 - 0
Assets/MainMenu.unity.meta → Assets/Scenes/MainMenu.unity.meta


+ 0 - 0
Assets/NewGame.unity → Assets/Scenes/NewGame.unity


+ 0 - 0
Assets/NewGame.unity.meta → Assets/Scenes/NewGame.unity.meta


+ 36 - 15
Assets/User.unity → Assets/Scenes/User.unity

@@ -322,6 +322,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 1, g: 1, b: 1, a: 0}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -462,6 +463,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 1, g: 1, b: 1, a: 1}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -549,6 +551,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 1, g: 1, b: 1, a: 1}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -623,6 +626,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 0.8862745, g: 0, b: 0, a: 0}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -901,6 +905,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 1, g: 1, b: 1, a: 1}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -968,6 +973,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 0.5}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -1248,6 +1254,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 0.5}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -1326,6 +1333,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -1416,6 +1424,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 1, g: 1, b: 1, a: 0}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -1489,6 +1498,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 0.5}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -1547,6 +1557,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -1643,6 +1654,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 0.5}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -1787,6 +1799,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 1, g: 1, b: 1, a: 1}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -1873,6 +1886,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -1950,6 +1964,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -2027,6 +2042,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -2150,6 +2166,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 1, g: 1, b: 1, a: 1}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -2250,6 +2267,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -2405,6 +2423,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 0.07075471, g: 0.3227817, b: 1, a: 1}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -2517,6 +2536,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 1, g: 1, b: 1, a: 0.392}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -2675,6 +2695,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 1, g: 1, b: 1, a: 0}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -2749,6 +2770,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 0.9098039, g: 0, b: 0, a: 0}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -2880,6 +2902,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 1, g: 1, b: 1, a: 0.392}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -2970,6 +2993,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 1, g: 1, b: 1, a: 1}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -3043,6 +3067,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 0.5}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -3166,6 +3191,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 1, g: 1, b: 1, a: 1}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -3319,6 +3345,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 1, g: 1, b: 1, a: 1}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -3405,6 +3432,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 1, g: 1, b: 1, a: 0}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -3438,7 +3466,6 @@ GameObject:
   - component: {fileID: 1551309671}
   - component: {fileID: 1551309670}
   - component: {fileID: 1551309672}
-  - component: {fileID: 1551309673}
   m_Layer: 5
   m_Name: Main Panel
   m_TagString: Untagged
@@ -3482,6 +3509,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 1, g: 1, b: 1, a: 0.392}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -3528,20 +3556,6 @@ MonoBehaviour:
   m_ChildControlHeight: 1
   m_ChildScaleWidth: 0
   m_ChildScaleHeight: 0
---- !u!114 &1551309673
-MonoBehaviour:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 1551309668}
-  m_Enabled: 1
-  m_EditorHideFlags: 0
-  m_Script: {fileID: 11500000, guid: f44a77de62bef0649a10245961f7cad1, type: 3}
-  m_Name: 
-  m_EditorClassIdentifier: 
-  perspectiveZoomSpeed: 0.5
-  orthoZoomSpeed: 0.5
 --- !u!1 &1634757285
 GameObject:
   m_ObjectHideFlags: 0
@@ -3594,6 +3608,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -3671,6 +3686,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -3748,6 +3764,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 1, g: 1, b: 1, a: 1}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -3822,6 +3839,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -3912,6 +3930,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 1, g: 1, b: 1, a: 1}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -3985,6 +4004,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -4108,6 +4128,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 1, g: 1, b: 1, a: 1}
   m_RaycastTarget: 1
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []

+ 0 - 0
Assets/User.unity.meta → Assets/Scenes/User.unity.meta


Diferenças do arquivo suprimidas por serem muito extensas
+ 256 - 522
Assets/Scenes/narKampen.unity


+ 0 - 0
Assets/narKampen.unity.meta → Assets/Scenes/narKampen.unity.meta


+ 21 - 21
Assets/Scripts/Database/Database.cs

@@ -430,6 +430,7 @@ public class Database : MonoBehaviour {
             return OnlineDatabase.Instance.GetRoundValue(gameId);
         }
         if (this.round == -1) {
+            SetLocalOrOnline("Local");
             string sql = "SELECT round FROM game WHERE id = " + gameId;
             IDbConnection conn = new SqliteConnection(databaseUrl);
             conn.Open();
@@ -628,7 +629,7 @@ public class Database : MonoBehaviour {
         return (int)lastInsert64;
     }
 
-    public NewQuestion GetNewQuestion(List<int> userAnsweredQuestions, string userName, string gameMode) {
+    public NewQuestionData GetNewQuestion(List<int> userAnsweredQuestions, string userName, string gameMode) {
         if (gameMode.Equals("Online")) {
             return OnlineDatabase.Instance.GetNewQuestion(userAnsweredQuestions, userName);
         }
@@ -637,6 +638,10 @@ public class Database : MonoBehaviour {
         if (connectionType == null) {
             SetLocalOrOnline(GetGameMode(gameId));
         }
+
+        int id = -1;
+        int categoryId = -1;
+        string categoryName = "";
         if (connectionType == "Local") {
             IDbConnection conn = new SqliteConnection(databaseUrl);
             conn.Open();
@@ -648,17 +653,16 @@ public class Database : MonoBehaviour {
             cmd.CommandText = sql;
             IDataReader reader = cmd.ExecuteReader();
 
-            int id = -1;
             while (reader.Read()) {
                 id = reader.GetInt32(0);
                 string question = reader.GetString(1);
                 int answer = reader.GetInt32(2);
-                int catergoryId = reader.GetInt32(3);
-                string categoryName = reader.GetString(4);
+                categoryId = reader.GetInt32(3);
+                categoryName = reader.GetString(4);
 
                 idString = id.ToString();
                 questionString = question;
-                categoryString = catergoryId.ToString();
+                categoryString = categoryId.ToString();
                 answerString = answer.ToString();
 
                 byte r = (byte)reader.GetInt32(5);
@@ -680,12 +684,7 @@ public class Database : MonoBehaviour {
             Debug.Log("Online Call");
             StartCoroutine(GetQuestionData(false));
         }
-        NewQuestion q = NewQuestion.Instance();
-        q.questionString = questionString;
-        q.answerString = answerString;
-        q.categoryString = categoryString;
-        q.idString = idString;
-        q.SetQuestionCategoryColor(questionCategoryColor);
+        NewQuestionData q = new NewQuestionData(answerString, questionString, categoryName, categoryId, id, questionCategoryColor);
 
         return q;
     }
@@ -714,14 +713,14 @@ public class Database : MonoBehaviour {
         }
     }
 
-    public List<QuestionCard> GetPlayerQuestions(int gameId, string playerNameValue, string gameMode) {
+    public List<NewQuestionData> GetPlayerQuestions(int gameId, string playerNameValue, string gameMode) {
         if (gameMode.Equals("Online")) {
             return OnlineDatabase.Instance.GetPlayerQuestions(gameId, playerNameValue);
         }
         if (databaseUrl == null) {
             SetLocalOrOnline(GetGameMode(gameId));
         }
-        List<QuestionCard> questions = new List<QuestionCard>();
+        List<NewQuestionData> questions = new List<NewQuestionData>();
 
         if (connectionType.Equals("Local")) {
             string sql = "SELECT * FROM questions inner join questionToCategory on questions.id = questionToCategory.questionId INNER JOIN category ON category.id = questionToCategory.categoryId WHERE questions.id IN ( SELECT questionId FROM usersLockedQuestions WHERE gameId = " + gameId + " AND playerName = '" + playerNameValue + "') ORDER BY answer ASC";
@@ -732,17 +731,18 @@ public class Database : MonoBehaviour {
 
             IDataReader reader = cmd.ExecuteReader();
             while (reader.Read()) {
-                GameObject question = Instantiate(questionCardPrefab, new Vector2(0, 0), Quaternion.identity) as GameObject;
-                QuestionCard q = question.GetComponent<QuestionCard>();
-
-                q.SetAnswerText(reader.GetInt32(2).ToString());
-                q.SetQuestionText(reader.GetString(1));
-                q.idString = reader.GetInt32(0).ToString();
                 Color32 questionCategoryColor = new Color32((byte)reader.GetInt32(7), (byte)reader.GetInt32(8), (byte)reader.GetInt32(9), (byte)reader.GetInt32(10));
 
-                q.SetQuestionCategoryColor(questionCategoryColor);
+                NewQuestionData questionData = new NewQuestionData(
+                    reader.GetInt32(2).ToString(), 
+                    reader.GetString(1), 
+                    reader.GetString(6),
+                    reader.GetInt32(5),
+                    reader.GetInt32(0), 
+                    questionCategoryColor);
+
 
-                questions.Add(q);
+                questions.Add(questionData);
             }
             cmd.Dispose();
             conn.Close();

+ 24 - 19
Assets/Scripts/Database/OnlineDatabase.cs

@@ -70,6 +70,7 @@ public class OnlineDatabase : MonoBehaviour {
         public string answer;
         public string id;
         public string category;
+        public string categoryName;
         public int r;
         public int g;
         public int b;
@@ -476,19 +477,22 @@ public class OnlineDatabase : MonoBehaviour {
         return this.winAmount;
     }
 
-    public NewQuestion GetNewQuestion(List<int> userAnsweredQuestions, string userName) {
+    public NewQuestionData newQuestionData;
+
+    public NewQuestionData GetNewQuestion(List<int> userAnsweredQuestions, string userName) {
         int gameId = GameObject.Find("GameManager").GetComponent<GameManagerScript>().GameId;
 
         Question q = GetQuestionData(false);
-        NewQuestion nq = NewQuestion.Instance();
-        nq.questionString = q.question;
-        nq.answerString = q.answer;
-        nq.categoryString = q.category;
-        nq.idString = q.id;
-        Color32 questionCategoryColor = new Color32((byte)q.r, (byte)q.g, (byte)q.b, (byte)q.a);
-        nq.SetQuestionCategoryColor(questionCategoryColor);
 
-        return nq;
+        Color32 categoryColor = new Color32((byte)q.r, (byte)q.g, (byte)q.b, (byte)q.a);
+        //            Color32 questionCategoryColor = new Color32((byte)q.r, (byte)q.g, (byte)q.b, (byte)q.a);
+
+        Int32.TryParse(q.category, out int categoryId);
+        Int32.TryParse(q.id, out int questionId);
+
+        NewQuestionData questionData = new NewQuestionData(q.answer, q.question, q.categoryName, categoryId, questionId, categoryColor);
+
+        return questionData;
     }
 
     public void SavePlayersQuestion(List<int> questionsToSave, string playerNameValue, int gameId) {
@@ -505,8 +509,8 @@ public class OnlineDatabase : MonoBehaviour {
         }
     }
 
-    public List<QuestionCard> GetPlayerQuestions(int gameId, string playerName) {
-        List<QuestionCard> questions = new List<QuestionCard>();
+    public List<NewQuestionData> GetPlayerQuestions(int gameId, string playerName) {
+        List<NewQuestionData> questions = new List<NewQuestionData>();
         WWWForm form = new WWWForm();
         form.AddField("f", "PlayerQuestions");
         form.AddField("gameId", gameId);
@@ -520,17 +524,18 @@ public class OnlineDatabase : MonoBehaviour {
         JsonUtility.FromJsonOverwrite(response, ql);
 
         foreach (Question q in ql.questionsList) {
-            GameObject question = Instantiate(questionCardPrefab, new Vector2(0, 0), Quaternion.identity) as GameObject;
-            QuestionCard qc = question.GetComponent<QuestionCard>();
+            /*GameObject question = Instantiate(questionCardPrefab, new Vector2(0, 0), Quaternion.identity) as GameObject;
+            NewQuestionData qc = question.GetComponent<NewQuestionData>();
+            */
+            Color categoryColor = new Color(q.r, q.g, q.b, q.a);
+//            Color32 questionCategoryColor = new Color32((byte)q.r, (byte)q.g, (byte)q.b, (byte)q.a);
 
-            qc.SetAnswerText(q.answer);
-            qc.SetQuestionText(q.question);
-            qc.idString = q.id;
+            Int32.TryParse(q.category, out int categoryId);
+            Int32.TryParse(q.id, out int questionId);
 
-            Color32 questionCategoryColor = new Color32((byte)q.r, (byte)q.g, (byte)q.b, (byte)q.a);
-            qc.SetQuestionCategoryColor(questionCategoryColor);
+            NewQuestionData questionData = new NewQuestionData(q.answer, q.question, q.categoryName, categoryId, questionId, categoryColor);
 
-            questions.Add(qc);
+            questions.Add(questionData);
         }
         
         return questions;

+ 0 - 114
Assets/Scripts/Draggable.cs

@@ -1,114 +0,0 @@
-using System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
-using UnityEngine.EventSystems;
-using UnityEngine.UI;
-
-public class Draggable : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDragHandler {
-
-    public Transform parent = null;
-    public Transform placeholderParent = null;
-    public GameObject placeholder = null;
-
-    public void OnDrag(PointerEventData eventData) {
-        if (!eventData.pointerDrag.gameObject.name.Contains("NewQuestion")) {
-            return;
-        }
-        this.transform.position = eventData.position;
-
-        if (placeholder.transform.parent != placeholderParent) {
-            placeholder.transform.SetParent(placeholderParent);
-        }
-
-        int newSiblingIndex = placeholderParent.childCount;
-        for (int i = 0; i < placeholderParent.childCount; i++) {
-            if (this.transform.position.x < placeholderParent.GetChild(i).position.x) {
-                newSiblingIndex = i;
-                if (placeholder.transform.GetSiblingIndex() < newSiblingIndex) {
-                    newSiblingIndex--;
-                }
-                break;
-            }
-        }
-
-        if (placeholderParent.gameObject.name.Contains("AnswerLine")) {
-            int cardBefore = newSiblingIndex - 1;
-            int cardAfter = newSiblingIndex + 1;
-
-            string before = LocalizationManager.Instance.GetText("BEFORE");
-            string after = LocalizationManager.Instance.GetText("AFTER");
-
-            if (placeholder.transform.GetSiblingIndex() == cardAfter) {
-                cardAfter++;
-            }
-            QuestionCard questionCardBefore = null;
-            QuestionCard questionCardAfter = null;
-            string answerTextBefore = "";
-            string answerTextAfter = "";
-            if (cardBefore < 0) {
-                answerTextBefore = before;
-            } else {
-                questionCardBefore = placeholderParent.GetChild(cardBefore).GetComponent<QuestionCard>();
-                if (questionCardBefore == null) {
-                    if (cardBefore - 1 >= 0) {
-                        questionCardBefore = placeholderParent.GetChild(cardBefore - 1).GetComponent<QuestionCard>();
-                    }
-                }
-                if (questionCardBefore != null) {
-                    answerTextBefore = questionCardBefore.GetAnswerText().text;
-                } else {
-                    answerTextBefore = before;
-                }
-            }
-
-            if (cardAfter >= placeholderParent.childCount) {
-                answerTextAfter = after;
-            } else {
-                questionCardAfter = placeholderParent.GetChild(cardAfter).GetComponent<QuestionCard>();
-                answerTextAfter += questionCardAfter.GetAnswerText().text;
-            }
-
-            if (answerTextAfter.Equals(after)) {
-                this.GetComponent<NewQuestion>().GetAnswerText().text = answerTextAfter + " " + answerTextBefore;
-            } else if (answerTextBefore.Equals(before)) { 
-               this.GetComponent<NewQuestion>().GetAnswerText().text = answerTextBefore + " " + answerTextAfter;
-            } else { 
-                this.GetComponent<NewQuestion>().GetAnswerText().text = answerTextBefore + " - " + answerTextAfter;
-            }
-        }
-        placeholder.transform.SetSiblingIndex(newSiblingIndex);
-    }
-
-    public void OnBeginDrag(PointerEventData eventData) {
-
-        Draggable d = eventData.pointerDrag.GetComponent<Draggable>();
-        d.GetComponent<CanvasGroup>().alpha = 0.8f;
-        placeholder = new GameObject();
-        placeholder.transform.SetParent(this.transform.parent);
-        LayoutElement le = placeholder.AddComponent<LayoutElement>();
-        le.preferredHeight = this.GetComponent<LayoutElement>().preferredHeight;
-        le.preferredWidth = this.GetComponent<LayoutElement>().preferredWidth;
-        le.flexibleHeight = this.GetComponent<LayoutElement>().flexibleHeight;
-        le.flexibleWidth = this.GetComponent<LayoutElement>().flexibleWidth;
-        le.minHeight = this.GetComponent<LayoutElement>().minHeight;
-        le.minWidth = this.GetComponent<LayoutElement>().minWidth;
-        
-        placeholder.transform.SetSiblingIndex(this.transform.GetSiblingIndex());
-
-        parent = this.transform.parent;
-        placeholderParent = parent;
-        this.transform.SetParent(this.transform.parent);
-
-        GetComponent<CanvasGroup>().blocksRaycasts = false;
-    }
-
-    public void OnEndDrag(PointerEventData eventData) {
-        Draggable d = eventData.pointerDrag.GetComponent<Draggable>();
-        d.GetComponent<CanvasGroup>().alpha = 1f;
-        this.transform.SetParent(parent);
-        this.transform.SetSiblingIndex(placeholder.transform.GetSiblingIndex());
-        GetComponent<CanvasGroup>().blocksRaycasts = true;
-
-        Destroy(placeholder);
-    }
-}

+ 0 - 31
Assets/Scripts/DropZone.cs

@@ -1,31 +0,0 @@
-using System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
-using UnityEngine.EventSystems;
-
-public class DropZone : MonoBehaviour, IDropHandler, IPointerEnterHandler, IPointerExitHandler {
-
-    public void OnDrop(PointerEventData eventData) {
-        Draggable d = eventData.pointerDrag.GetComponent<Draggable>();
-        if (d != null) {
-            d.placeholderParent = this.transform;
-        }
-    }
-
-    public void OnPointerEnter(PointerEventData eventData) {
-        if (eventData.pointerDrag == null) {
-            return;
-        }
-
-        Draggable d = eventData.pointerDrag.GetComponent<Draggable>();
-        if (d != null) {
-            d.placeholderParent = this.transform;
-        }
-    }
-
-    public void OnPointerExit(PointerEventData eventData) {
-        if (eventData.pointerDrag == null) {
-            return;
-        }
-    }
-}

+ 1 - 1
Assets/Parse/Plugins.meta → Assets/Scripts/Firebase.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: f2cf529273164f345ab37b251f54e783
+guid: 27a9fed6178275f468f12da830c82156
 folderAsset: yes
 DefaultImporter:
   externalObjects: {}

+ 22 - 0
Assets/Scripts/Firebase/FirebaseReceiver.cs

@@ -0,0 +1,22 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class FirebaseReceiver : MonoBehaviour
+{
+    /*
+    // Start is called before the first frame update
+    public void Start() {
+        Firebase.Messaging.FirebaseMessaging.TokenReceived += OnTokenReceived;
+        Firebase.Messaging.FirebaseMessaging.MessageReceived += OnMessageReceived; 
+    }
+
+    public void OnTokenReceived(object sender, Firebase.Messaging.TokenReceivedEventArgs token) {
+        UnityEngine.Debug.Log("Received Registration Token: " + token.Token);
+    }
+
+    public void OnMessageReceived(object sender, Firebase.Messaging.MessageReceivedEventArgs e) {
+        UnityEngine.Debug.Log("Received a new message from: " + e.Message.From);
+    }
+    */
+}

+ 11 - 0
Assets/Scripts/Firebase/FirebaseReceiver.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: f703286e51ee1c4439ae1f8e31cef59b
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 171 - 0
Assets/Scripts/GameManagerScript.cs

@@ -2,6 +2,7 @@
 using System.Collections;
 using System.Collections.Generic;
 using UnityEngine;
+using UnityEngine.UI;
 
 public class GameManagerScript : MonoBehaviour {
 
@@ -12,12 +13,24 @@ public class GameManagerScript : MonoBehaviour {
     public Database db;
     public OnlineDatabase odb;
     StatsScript statsScript;
+    ScrollViewScript scrollViewScript;
      
+     [SerializeField] GameObject NewQuestionCard;
+     [SerializeField] GameObject AnswerLine;
+     [SerializeField] GameObject AnswerLineQuestionCard;
+     [SerializeField] GameObject DropZonePrefab;
+     [SerializeField] GameObject TimerPanel;
     public string GameMode { get => gameMode; set => gameMode = value; }
     public int GameId { get; internal set; }
 
     public int QuestionTimer { get => questionTimer; set => questionTimer = value; }
 
+    static string currentPlayer;
+
+    private bool newQuestionCardMoving = false;
+
+    [SerializeField] float movementSpeed = 1.0f;
+
     List<KeyValuePair<string, int>> players;
     // Start is called before the first frame update
     void Start() {
@@ -35,6 +48,107 @@ public class GameManagerScript : MonoBehaviour {
         }
         statsScript = GameObject.Find("StatsPanel").GetComponent<StatsScript>();
 
+        scrollViewScript = GameObject.FindGameObjectWithTag("AnswerLine").transform.parent.parent.GetComponent<ScrollViewScript>();
+        currentPlayer = Database.Instance.GetCurrentPlayer(GameId, GetGameMode());
+    }
+
+    public void StartTimer()
+    {
+        TimerPanel.GetComponentInChildren<TimerScript>().ResetTimer();
+        TimerPanel.GetComponentInChildren<TimerScript>().StartTimer();
+    }
+
+    public void StopTimer() {
+        TimerScript timerScript = TimerPanel.GetComponentInChildren<TimerScript>();
+        timerScript.StopTimer();
+        timerScript.ResetTimer();
+    }
+
+    void Awake()
+    {
+        GameId = PlayerPrefs.GetInt("GameId");
+        GameMode = PlayerPrefs.GetString("GameMode");
+        if (Database.Instance.GetRoundValue(GameId, GameMode) == 1) {
+            StartCoroutine(startAnimation());
+        }
+    }
+
+    private IEnumerator startAnimation()
+    {
+
+        NewQuestionCardController newQuestionCardController = NewQuestionCard.GetComponent<NewQuestionCardController>();
+        newQuestionCardController.RotateCard();
+
+        while (!newQuestionCardController.getRotationDone())
+        {
+            yield return new WaitForSeconds(0.1f);
+        }
+
+        //NewQuestionCard.transform.position = AnswerLine.transform.position;
+        StartCoroutine(MoveCardToAnswerLine());
+
+        while (newQuestionCardMoving) {
+            yield return new WaitForSeconds(0.1f);
+        }
+
+        NewQuestionData newQuestionData = NewQuestionCard.transform.parent.GetComponent<NewQuestionsPanel>().QuestionData;
+        GameObject go = Instantiate(AnswerLineQuestionCard, Vector3.zero, Quaternion.identity);
+        AnswerLineQuestionCard firstAnswerLineQuestion = go.GetComponent<AnswerLineQuestionCard>();
+        firstAnswerLineQuestion.SetAnswerText(newQuestionData.Answer);
+        firstAnswerLineQuestion.SetQuestionText(newQuestionData.Question);
+        firstAnswerLineQuestion.SetId(newQuestionData.Id);
+        firstAnswerLineQuestion.SetQuestionSafe();
+
+        firstAnswerLineQuestion.transform.SetParent(AnswerLine.transform);
+        firstAnswerLineQuestion.transform.SetSiblingIndex(0);
+        firstAnswerLineQuestion.transform.localScale = new Vector3(1,1,1);
+
+        CreateLeftSpacer();
+        CreateRightSpacer();
+
+        NewQuestionCard.GetComponent<NewQuestionCardController>().GenerateNewQuestion();
+        // Destroy(NewQuestionCard.gameObject);
+    }
+
+    private void CreateLeftSpacer()
+    {
+        GameObject newSpacerLeft = Instantiate(DropZonePrefab);     
+        newSpacerLeft.GetComponent<LayoutElement>().preferredWidth = 30f;
+        newSpacerLeft.name = "LeftDropZone";
+        newSpacerLeft.GetComponent<NewDropZoneScript>().LeftmostSpacer = true;
+        newSpacerLeft.transform.SetParent(AnswerLine.transform);
+        newSpacerLeft.transform.SetAsFirstSibling();
+        newSpacerLeft.transform.localScale = new Vector3(1,1,1);
+    }
+
+    private void CreateRightSpacer()
+    {
+        GameObject newSpacerRight = Instantiate(DropZonePrefab);     
+        newSpacerRight.GetComponent<LayoutElement>().preferredWidth = 30f;
+        newSpacerRight.name = "RightDropZone";
+        newSpacerRight.GetComponent<NewDropZoneScript>().RightmostSpacer = true;
+        newSpacerRight.transform.SetParent(AnswerLine.transform);
+        newSpacerRight.transform.SetAsLastSibling();
+        newSpacerRight.transform.localScale = new Vector3(1,1,1);
+    }
+
+    private IEnumerator MoveCardToAnswerLine()
+    {
+        newQuestionCardMoving = true;
+        Vector3 alPosition = AnswerLine.transform.position;
+        float t = 0f;
+        while (alPosition != NewQuestionCard.transform.position)
+        {
+            t += Time.deltaTime / 10.0f;
+            float step = movementSpeed * Time.deltaTime;
+            NewQuestionCard.transform.position = Vector3.Lerp(NewQuestionCard.transform.position, AnswerLine.transform.position, t);
+            if (Vector3.Distance(NewQuestionCard.transform.position, AnswerLine.transform.position) < 0.001f)
+            {
+                NewQuestionCard.transform.position = AnswerLine.transform.position;
+            }
+            yield return null;
+        }
+        newQuestionCardMoving = false;
     }
 
     private List<KeyValuePair<string,int>> GetPlayersForGame() {
@@ -57,4 +171,61 @@ public class GameManagerScript : MonoBehaviour {
         return players;
     }
 
+    public void NextRound() {
+        StopTimer();
+        if (scrollViewScript == null) {
+            scrollViewScript = GameObject.FindGameObjectWithTag("AnswerLine").transform.parent.parent.GetComponent<ScrollViewScript>();
+        }
+        scrollViewScript.SetAllQuestionsLocked(true);
+        scrollViewScript.RemoveEverythingFromAnswerline();
+        NewQuestionCard.GetComponent<NewQuestionCardController>().GenerateNewQuestion();
+        NextPlayer();
+    }
+
+    private void NextPlayer() {
+        for (int i = 0; i < players.Count; i++) {
+            if (players[i].Key.Equals(currentPlayer, StringComparison.InvariantCultureIgnoreCase)) {
+                if (i + 1 < players.Count) {
+                    currentPlayer = players[i + 1].Key;
+                    break;
+                } else {
+                    currentPlayer = players[0].Key;
+                    statsScript.IncreaseRoundValue();
+                    break;
+                }
+            }
+        }
+        
+        GenericDialog dialog = GenericDialog.Instance();
+        dialog.SetTitle(LocalizationManager.Instance.GetText("NEXT_PLAYER_DIALOG_TITLE"));
+        string message = LocalizationManager.Instance.GetText("NEXT_PLAYER_DIALOG_MESSAGE");
+        dialog.SetMessage(String.Format(message, currentPlayer));
+        dialog.SetOnAccept(LocalizationManager.Instance.GetText("OK"), () => {
+            scrollViewScript.RemoveEverythingFromAnswerline();
+            List<NewQuestionData> questions = Database.Instance.GetPlayerQuestions(GameId, currentPlayer, GetGameMode());
+            scrollViewScript.SetQuestionsInAnswerLine(questions);
+
+            statsScript.SetQuestionsLost(Database.Instance.GetQuestionsLost(GameId, currentPlayer, GetGameMode()));
+
+            statsScript.MakeBold(currentPlayer);
+            Database.Instance.SetCurrentPlayer(GameId, currentPlayer, GetGameMode());
+            InformationPanelScript ips = GameObject.Find("InformationPanel").GetComponent<InformationPanelScript>();
+            ips.SetCurrentPlayer(currentPlayer);
+            //ResetNewQuestionPosition();
+            dialog.Hide();
+        });
+        dialog.SetOnDecline("", () => dialog.Hide());
+        dialog.Show();
+    }
+
+    public string GetGameMode() {
+        if (gameMode == null) {
+            gameMode = PlayerPrefs.GetString("GameMode");
+        }
+        return gameMode;
+    }
+
+    public static string GetCurrentPlayer() {
+        return currentPlayer;
+    }
 }

+ 1 - 1
Assets/Scripts/GeneralDialog/GenericDialog.cs

@@ -56,7 +56,7 @@ public class GenericDialog : MonoBehaviour {
             RectTransform rtd = GameObject.Find("DialogTitle").GetComponent<RectTransform>();
             rtd.offsetMin = new Vector2(0, rtd.offsetMin.y);
         }
-        cg.blocksRaycasts = false;
+        cg.blocksRaycasts = true;
         cg.alpha = 1f;
         cg.interactable = true;
 

+ 1 - 1
Assets/Movinarc.meta → Assets/Scripts/MainGame.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: 7c0c369510e14ac48ac9699e29db8076
+guid: bf9d7a4aaa843794b98e2f66a012641d
 folderAsset: yes
 DefaultImporter:
   externalObjects: {}

+ 9 - 0
Assets/Scripts/MainGame/AnswerLineQuestionCard.cs

@@ -0,0 +1,9 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.UI;
+
+public class AnswerLineQuestionCard : QuestionCard
+{
+ 
+}

+ 11 - 0
Assets/Scripts/MainGame/AnswerLineQuestionCard.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 36b72bcb8a99e7447b7ee7f4ca7bfbfa
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 0 - 0
Assets/Scripts/CategoryPanel.cs → Assets/Scripts/MainGame/CategoryPanel.cs


+ 0 - 0
Assets/Scripts/CategoryPanel.cs.meta → Assets/Scripts/MainGame/CategoryPanel.cs.meta


+ 0 - 0
Assets/Scripts/InformationPanelScript.cs → Assets/Scripts/MainGame/InformationPanelScript.cs


+ 0 - 0
Assets/Scripts/InformationPanelScript.cs.meta → Assets/Scripts/MainGame/InformationPanelScript.cs.meta


+ 85 - 0
Assets/Scripts/MainGame/NewQuestionCardController.cs

@@ -0,0 +1,85 @@
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.EventSystems;
+using UnityEngine.UI;
+
+
+public class NewQuestionCardController : MonoBehaviour, IPointerClickHandler {
+
+    public GameObject cardBack;
+    public GameObject cardFront;
+
+    public GameObject NewQuestionCard;
+
+    bool rotateDone = true;
+
+    [SerializeField] GameObject startParent;
+
+    public void OnPointerClick(PointerEventData eventData) {
+        if (cardBack.activeSelf && rotateDone)
+        {
+            RotateCard();
+        }
+    }
+
+    public void RotateCard()
+    {
+        StartCoroutine(Rotate(new Vector3(0, 90f, 0), 0.5f));
+        StartCoroutine(secondRotation());
+        StartCoroutine(startTimer());
+    }
+
+    private IEnumerator startTimer()
+    {
+        while (!rotateDone) {
+            yield return new WaitForSeconds(0.1f);
+        }
+        GameObject.Find("GameManager").GetComponent<GameManagerScript>().StartTimer();
+    }
+
+    public bool getRotationDone() {
+        return rotateDone;
+    }
+    private IEnumerator secondRotation() {
+        while (!rotateDone) {
+            yield return new WaitForSeconds(0.1f);
+        }
+        cardBack.SetActive(false);
+        cardFront.SetActive(true);
+        transform.Rotate(0, 180, 0);
+        StartCoroutine(Rotate(new Vector3(0, 90f,0 ), 0.5f));
+    }
+
+    private IEnumerator Rotate(Vector3 angle, float duration = 1.0f) {
+        rotateDone = false;
+        Quaternion from = transform.rotation;
+        Quaternion to = Quaternion.Euler(angle) * from;
+
+        float elapsed = 0.0f;
+        while (elapsed < duration) {
+            transform.rotation = Quaternion.Slerp(from, to, elapsed / duration);
+            elapsed += Time.deltaTime;
+            yield return null;
+        }
+        transform.rotation = to;
+        rotateDone = true;
+    }
+
+    private void ShowBackside() {
+        cardBack.SetActive(true);
+        cardFront.SetActive(false);
+    }
+
+    public void GenerateNewQuestion() {
+        resetPosition();
+        ShowBackside();
+        transform.parent.GetComponent<NewQuestionsPanel>().generateNewQuestion();
+    }
+
+    private void resetPosition() {
+        transform.SetParent(startParent.transform);
+        transform.localPosition = Vector3.zero;
+    }
+}

+ 11 - 0
Assets/Scripts/MainGame/NewQuestionCardController.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: a81bb781910b01c4fbf0626405fdec25
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 21 - 0
Assets/Scripts/MainGame/NewQuestionData.cs

@@ -0,0 +1,21 @@
+using System.Collections;
+using UnityEngine;
+
+public class NewQuestionData  {
+
+    public string Answer { get; set; }
+    public string Question { get; set; }
+    public string CategoryName { get; set; }
+    public int CategoryId { get; set; }
+    public int Id { get; set; }
+    public Color CategoryColor { get; set; }
+
+    public NewQuestionData(string answer, string question, string categoryName, int categoryId, int id, Color categoryColor) {
+        Answer = answer;
+        Question = question;
+        CategoryName = categoryName;
+        CategoryId = categoryId;
+        Id = id;
+        CategoryColor = categoryColor;
+    }
+}

+ 0 - 0
Assets/Scripts/NewQuestion.cs.meta → Assets/Scripts/MainGame/NewQuestionData.cs.meta


+ 69 - 0
Assets/Scripts/MainGame/NewQuestionsPanel.cs

@@ -0,0 +1,69 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.UI;
+
+public class NewQuestionsPanel : MonoBehaviour
+{
+    public GameObject QuestionAnswerLine;
+
+    public Text AnswerText;
+    public Text QuestionText;
+    public Text backCategoryText;
+    public GameObject QuestioncardBackside;
+
+    private NewQuestionData questionData;
+    private GameManagerScript gameManagerScript;
+    public NewQuestionData QuestionData { get => questionData; set => questionData = value; }
+
+    [SerializeField] GameObject gameManager;
+    // Start is called before the first frame update
+    void Start()
+    {
+        gameManagerScript = gameManager.GetComponent<GameManagerScript>();
+        int gameId = gameManagerScript.GameId;
+        string gameMode = Database.Instance.GetGameMode(gameId);
+        string currentPlayer = Database.Instance.GetCurrentPlayer(gameId, gameMode);
+
+        if (Database.Instance.GetRoundValue(gameManagerScript.GameId, gameManagerScript.GameMode) <= 1) {
+            List<NewQuestionData> usersQuestions = Database.Instance.GetPlayerQuestions(gameId, currentPlayer, gameManagerScript.GameMode);
+            NewQuestionData qd = usersQuestions[0];
+            AnswerText.text = qd.Answer;
+            QuestionText.text = qd.Question;
+            QuestionData = qd;
+        }
+    }
+
+    private void Awake() {
+        if (gameManagerScript == null) {
+            gameManagerScript = gameManager.GetComponent<GameManagerScript>();
+        }
+        if (Database.Instance.GetRoundValue(gameManagerScript.GameId, gameManagerScript.GameMode) > 1) {
+            generateNewQuestion();
+        }
+    }
+    // Update is called once per frame
+    void Update()
+    {
+        
+    }
+
+    public void generateNewQuestion() {
+        AnswerLineQuestionCard[] answerLineQuestions = QuestionAnswerLine.GetComponentsInChildren<AnswerLineQuestionCard>();
+        List<int> answerIds = new List<int>();
+        foreach (var aq in answerLineQuestions) {
+            answerIds.Add(aq.GetId());
+        }
+
+        string user = Database.Instance.GetSignedInUser().Value;
+        QuestionData = Database.Instance.GetNewQuestion(answerIds, user,gameManager.GetComponent<GameManagerScript>().GameMode);
+        // QuestionData = OnlineDatabase.Instance.GetNewQuestion(answerIds, user);
+
+        AnswerText.text = "???? - ????";
+        QuestionText.text = QuestionData.Question;
+        backCategoryText.text = QuestionData.CategoryName;
+        QuestioncardBackside.GetComponent<Image>().color = QuestionData.CategoryColor;
+        
+    }
+
+}

+ 11 - 0
Assets/Scripts/MainGame/NewQuestionsPanel.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: d0c297c3d5e6d874a8e93f4058c78adc
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 32 - 5
Assets/Scripts/QuestionCard.cs → Assets/Scripts/MainGame/QuestionCard.cs

@@ -5,10 +5,10 @@ using UnityEngine;
 using UnityEngine.Networking;
 using UnityEngine.UI;
 
-public class QuestionCard : MonoBehaviour
-{
+public class QuestionCard : MonoBehaviour {
     public Text questionText;
     public Text answerText;
+    public Text backCategoryText;
 
     public GameObject questionTextPanel;
 
@@ -20,8 +20,7 @@ public class QuestionCard : MonoBehaviour
     public Color32 unsafeColor;
     public Color32 safeColor;
 
-    public void SetQuestionSafe()
-    {
+    public void SetQuestionSafe() {
         this.GetComponent<Image>().color = safeColor;
     }
 
@@ -36,13 +35,23 @@ public class QuestionCard : MonoBehaviour
     }
 
     public void SetQuestionCategoryColor(Color32 questionCategoryColor) {
-        questionTextPanel.GetComponent<Image>().color = questionCategoryColor;
+        if (backCategoryText != null) {
+            backCategoryText.transform.parent.GetComponent<Image>().color = questionCategoryColor;
+        }
     }
 
     public void SetQuestionText(string text) {
+        if (questionText == null) {
+            GameObject test = new GameObject("Text");
+            questionText = test.AddComponent<Text>();
+        }
         this.questionText.text = text;
     }
     public void SetAnswerText(string text) {
+        if (answerText == null) {
+            GameObject test = new GameObject("Text");
+            answerText = test.AddComponent<Text>();
+        }
         this.answerText.text = text;
     }
 
@@ -64,4 +73,22 @@ public class QuestionCard : MonoBehaviour
         return result;
     }
 
+    public void SetId(int value) {
+        idString = value.ToString();
+    }
+
+    public void SetBackCategoryText(string value) {
+        if (backCategoryText == null) {
+            GameObject test = new GameObject("Text");
+            backCategoryText = test.AddComponent<Text>();
+        }
+        backCategoryText.text = value;
+    }
+
+    public string GetBackCategoryText() {
+        if (backCategoryText == null) {
+            return "Category";
+        }
+        return backCategoryText.text;
+    }
 }

+ 0 - 0
Assets/Scripts/QuestionCard.cs.meta → Assets/Scripts/MainGame/QuestionCard.cs.meta


+ 15 - 16
Assets/Scripts/RoundButtonsScript.cs → Assets/Scripts/MainGame/RoundButtonsScript.cs

@@ -8,6 +8,13 @@ public class RoundButtonsScript : MonoBehaviour
 {
     public Button newQuestionButton;
     public Button nextPlayerButton;
+
+    public GameObject QuestionAnswerLine;
+
+    public GameObject nextCategoryText;
+    public GameObject QuestionCardPrefab;
+    public GameObject NewQuestionCardPanel;
+
     private ScrollViewScript svs;
     private TimerScript ts;
 
@@ -25,21 +32,17 @@ public class RoundButtonsScript : MonoBehaviour
         HidePanel();
         ts.ResetTimer();
         ts.StartTimer();
-        svs.HideRoundButtons();
     }
 
+  
     void NextPlayer() {
         svs.SetAllQuestionsLocked(true);
         svs.NextPlayer();
-        svs.CheckActiveUserLoggedIn();
         HidePanel();
     }
 
     public void HidePanel() {
-        CanvasGroup cg = this.GetComponent<CanvasGroup>();
-        cg.alpha = 0F;
-        cg.blocksRaycasts = false;
-        cg.interactable = false;
+        gameObject.SetActive(false);
     }
 
     public void ShowPanel() {
@@ -47,19 +50,16 @@ public class RoundButtonsScript : MonoBehaviour
         if (svs == null) {
             svs = GameObject.Find("Scroll View").GetComponent<ScrollViewScript>();
         }
-        NewQuestion q = Database.Instance.GetNewQuestion(svs.GetQuestionIdsInAnswerLine(), svs.currentPlayer, svs.GetGameMode());
-        q.SetAnswerText("???? - ????");
-        svs.SetNewQuestion(q);
+        NewQuestionData q = Database.Instance.GetNewQuestion(svs.GetQuestionIdsInAnswerLine(), svs.currentPlayer, svs.GetGameMode());
+        //q.SetAnswerText("???? - ????");
+        //svs.SetNewQuestion(q);
 
-        Text nqct = GameObject.Find("NextQuestionCategoryText").GetComponent<Text>();
+        Text nqct = nextCategoryText.GetComponent<Text>();
         CategoryPanel cp = GameObject.Find("Categories").GetComponent<CategoryPanel>();
-        CategoryPanel.Category cat = cp.GetCategoryById(q.GetCategoryId());
+        CategoryPanel.Category cat = cp.GetCategoryById(q.CategoryId);
         nqct.text = cat.name;
 
-        CanvasGroup cg = this.GetComponent<CanvasGroup>();
-        cg.alpha = 1f;
-        cg.interactable = true;
-        cg.blocksRaycasts = true;
+        gameObject.SetActive(true);
     }
 
     internal void DeactivateNextPlayer() {
@@ -76,5 +76,4 @@ public class RoundButtonsScript : MonoBehaviour
         nextPlayerButton.interactable = false;
         newQuestionButton.interactable = false;
     }
-
 }

+ 0 - 0
Assets/Scripts/RoundButtonsScript.cs.meta → Assets/Scripts/MainGame/RoundButtonsScript.cs.meta


+ 216 - 0
Assets/Scripts/MainGame/ScrollViewScript.cs

@@ -0,0 +1,216 @@
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.EventSystems;
+using UnityEngine.UI;
+using System.Linq;
+
+public class ScrollViewScript : MonoBehaviour {
+    private const string newQuestionAnswerLineDefault = "???? - ????";
+    public GameObject answerlineQuestionPrefab;
+    public Transform contentPanel;
+    public Transform newQuestionsPanel;
+
+    private int newQuestionSiblingIndex;
+    private bool answeredCorrectly;
+    private List<KeyValuePair<string, int>> players;
+    private int gameId;
+    private string gameMode;
+
+    StatsScript statsScript;
+    GameManagerScript gameManagerScript;
+    TimerScript ts;
+
+    InformationPanelScript ips;
+
+    public string currentPlayer;
+
+    // Start is called before the first frame update
+    void Start() {
+        statsScript = GameObject.Find("StatsPanel").GetComponent<StatsScript>();
+        gameManagerScript = GameObject.Find("GameManager").GetComponent<GameManagerScript>();
+        ts = GameObject.Find("TimerCircle").GetComponent<TimerScript>();
+        players = gameManagerScript.GetPlayers();
+
+        EventManager.StartListening("TimerEvent", TimerRunOutEvent);
+        gameId = gameManagerScript.GameId;
+        currentPlayer = Database.Instance.GetCurrentPlayer(gameId, GetGameMode());
+
+        ips = GameObject.Find("InformationPanel").GetComponent<InformationPanelScript>();
+        ips.SetCurrentPlayer(currentPlayer);
+
+        statsScript.MakeBold(currentPlayer);
+
+        List<NewQuestionData> answerlineQuestions = Database.Instance.GetPlayerQuestions(gameId, currentPlayer, GetGameMode());
+        //if (answerlineQuestions.Count > 0) {
+        if (Database.Instance.GetRoundValue(gameId, GetGameMode()) > 1) {
+            SetQuestionsInAnswerLine(answerlineQuestions);
+        }
+
+        statsScript.SetQuestionsLost(Database.Instance.GetQuestionsLost(gameId, currentPlayer, GetGameMode()));
+    }
+
+    public string GetGameMode() {
+        if (gameMode == null) {
+            gameMode = PlayerPrefs.GetString("GameMode");
+        }
+        return gameMode;
+    }
+
+[SerializeField] GameObject leftDropZone;
+[SerializeField] GameObject rightDropZone;
+[SerializeField] GameObject middleDropZone;
+    public void SetQuestionsInAnswerLine(List<NewQuestionData> questions) {
+        int i = 0;
+
+        GameObject ldz = Instantiate(leftDropZone,Vector2.zero, Quaternion.identity);
+        GameObject rdz = Instantiate(rightDropZone,Vector2.zero, Quaternion.identity);
+        ldz.transform.SetParent(contentPanel);
+        ldz.transform.SetSiblingIndex(i++);
+        ldz.transform.localScale = new Vector3(1,1,1);
+
+        foreach (NewQuestionData q in questions) {
+            GameObject answerLineQuestion = Instantiate(answerlineQuestionPrefab, Vector3.zero, Quaternion.identity);
+            answerLineQuestion.transform.SetParent(contentPanel, false);
+            answerLineQuestion.transform.SetSiblingIndex(i++);
+            answerLineQuestion.transform.localScale = new Vector3(1,1,1);
+
+            QuestionCard answerLineQuestionCard = answerLineQuestion.GetComponent<QuestionCard>();
+            answerLineQuestionCard.SetAnswerText(q.Answer);
+            answerLineQuestionCard.SetQuestionText(q.Question);
+            answerLineQuestionCard.SetId(q.Id);
+            answerLineQuestionCard.SetQuestionSafe();
+
+            GameObject mdz = Instantiate(middleDropZone, Vector3.zero, Quaternion.identity);
+            mdz.transform.SetParent(contentPanel);
+            mdz.transform.SetSiblingIndex(i++);
+            mdz.transform.localScale = new Vector3(1,1,1);
+        }
+
+        NewDropZoneScript newDropZoneScript = contentPanel.GetChild(i-1).GetComponent<NewDropZoneScript>();
+        Destroy(newDropZoneScript.gameObject);
+
+        rdz.transform.SetParent(contentPanel);
+        rdz.transform.SetSiblingIndex(i);
+        rdz.transform.localScale = new Vector3(1,1,1);
+
+        SetAllQuestionsLocked(false);
+    }
+
+    public int GetUnlockedQuestionCount() {
+        int unlockedQuestionCount = 0;
+        for (int i = 0; i < contentPanel.childCount; i++) {
+            QuestionCard qc = contentPanel.GetChild(i).GetComponent<QuestionCard>();
+            if (!qc.IsQuestionSafe()) {
+                unlockedQuestionCount++;
+            }
+        }
+        return unlockedQuestionCount;
+    }
+
+    public void SetAllQuestionsLocked(bool needsSave) {
+        List<int> saveQuestions = new List<int>();
+        AnswerLineQuestionCard[] answerLineQuestionCards = contentPanel.GetComponentsInChildren<AnswerLineQuestionCard>();
+        foreach (var questionCard in answerLineQuestionCards)
+        {
+            if (needsSave && !questionCard.IsQuestionSafe()) {
+                saveQuestions.Add(questionCard.GetId());
+                questionCard.SetQuestionSafe();
+            }
+        }
+
+        if (saveQuestions.Count > 0) {
+            Database.Instance.SavePlayersQuestion(saveQuestions, GameManagerScript.GetCurrentPlayer(), gameId, GetGameMode());
+        }
+    }
+
+     public List<int> GetQuestionIdsInAnswerLine() {
+        List<int> questionIds = new List<int>();
+
+        foreach (AnswerLineQuestionCard q in contentPanel.GetComponentsInChildren<AnswerLineQuestionCard>()) {
+            questionIds.Add(q.GetId());
+        }
+
+        return questionIds;
+    }
+
+    public void RemoveEverythingFromAnswerline() {
+        
+        foreach (Transform child in contentPanel.transform) {
+            Destroy(child.gameObject);
+        }
+    }
+
+    public void RemoveUnlockedQuestions() {
+        int lostQuestions = 0;
+        for (int i = 0; i < contentPanel.childCount; i++) {
+            AnswerLineQuestionCard q = contentPanel.GetChild(i).GetComponent<AnswerLineQuestionCard>();
+            if (!q.IsQuestionSafe()) {
+                lostQuestions++;
+                Destroy(q);
+                Destroy(q.gameObject);
+            }
+        }
+
+        gameManagerScript.UpdateQuestiosLost(lostQuestions, currentPlayer);
+        statsScript.SetQuestionsInAnswerLine(currentPlayer, contentPanel.childCount - lostQuestions);
+    }
+
+ 
+
+    void TimerRunOutEvent() { // Should be moved to some gameController
+        GenericDialog dialog = GenericDialog.Instance();
+        string message = LocalizationManager.Instance.GetText("TIMER_DIALOG_MESSAGE");
+        dialog.SetTitle(LocalizationManager.Instance.GetText("TIMER_DIALOG_TITLE"));
+        dialog.SetMessage(String.Format(message, GetUnlockedQuestionCount()));
+        dialog.SetOnAccept(LocalizationManager.Instance.GetText("OK"), () => {
+            if (PlayerPrefs.GetString("GameMode").Equals("Local")) {
+                RemoveUnlockedQuestions();
+                ts.ResetTimer();
+                dialog.Hide();
+                NextPlayer();
+            } else {
+                // TODO online
+            }
+        });
+        dialog.SetOnDecline("", () => dialog.Hide());
+        dialog.Show();
+
+    }
+
+    public void NextPlayer() {
+        for (int i = 0; i < players.Count; i++) {
+            if (players[i].Key.Equals(currentPlayer, StringComparison.InvariantCultureIgnoreCase)) {
+                if (i + 1 < players.Count) {
+                    currentPlayer = players[i + 1].Key;
+                    break;
+                } else {
+                    currentPlayer = players[0].Key;
+                    statsScript.IncreaseRoundValue();
+                    break;
+                }
+            }
+        }
+        
+        GenericDialog dialog = GenericDialog.Instance();
+        dialog.SetTitle(LocalizationManager.Instance.GetText("NEXT_PLAYER_DIALOG_TITLE"));
+        string message = LocalizationManager.Instance.GetText("NEXT_PLAYER_DIALOG_MESSAGE");
+        dialog.SetMessage(String.Format(message, currentPlayer));
+        dialog.SetOnAccept(LocalizationManager.Instance.GetText("OK"), () => {
+            RemoveEverythingFromAnswerline();
+            List<NewQuestionData> questions = Database.Instance.GetPlayerQuestions(gameId, currentPlayer, GetGameMode());
+            SetQuestionsInAnswerLine(questions);
+
+            statsScript.SetQuestionsLost(Database.Instance.GetQuestionsLost(gameManagerScript.GameId, currentPlayer, GetGameMode()));
+
+            statsScript.MakeBold(currentPlayer);
+            Database.Instance.SetCurrentPlayer(gameId, currentPlayer, GetGameMode());
+            ips.SetCurrentPlayer(currentPlayer);
+            //ResetNewQuestionPosition();
+            dialog.Hide();
+        });
+        dialog.SetOnDecline("", () => dialog.Hide());
+        dialog.Show();
+    }
+}

+ 0 - 0
Assets/Scripts/ScrollViewScript.cs.meta → Assets/Scripts/MainGame/ScrollViewScript.cs.meta


+ 0 - 0
Assets/Scripts/StatsLine.cs → Assets/Scripts/MainGame/StatsLine.cs


+ 0 - 0
Assets/Scripts/StatsLine.cs.meta → Assets/Scripts/MainGame/StatsLine.cs.meta


+ 0 - 0
Assets/Scripts/StatsScript.cs → Assets/Scripts/MainGame/StatsScript.cs


+ 0 - 0
Assets/Scripts/StatsScript.cs.meta → Assets/Scripts/MainGame/StatsScript.cs.meta


+ 9 - 8
Assets/Scripts/TimerScript.cs → Assets/Scripts/MainGame/TimerScript.cs

@@ -20,12 +20,13 @@ public class TimerScript : MonoBehaviour
     Color startlColor = new Color32(16, 0, 255, 200);
 
     GameManagerScript gms;
-    TimerScript dialogTimer;
+    [SerializeField] GameObject dialogTimer;
+    TimerScript dialogTimerScript;
 
     // Start is called before the first frame update
     void Start()
     {
-        dialogTimer = GameObject.Find("DialogTimerCircle").GetComponent<TimerScript>();
+        dialogTimerScript = dialogTimer.GetComponent<TimerScript>();
         gms = GameObject.Find("GameManager").GetComponent<GameManagerScript>();
         circleImage = this.GetComponent<Image>();
         
@@ -35,7 +36,7 @@ public class TimerScript : MonoBehaviour
     }
     public void StopTimer() {
         timerRunning = false;
-        dialogTimer.timerRunning = false;
+        dialogTimerScript.timerRunning = false;
     }
 
     public void ResetTimer() {
@@ -44,10 +45,10 @@ public class TimerScript : MonoBehaviour
         timeAmount = time;
         circleColor = Color.Lerp(startlColor, finalColor, 1 - (time / timeAmount));
 
-        dialogTimer.time = time;
-        dialogTimer.timeAmount = timeAmount;
-        dialogTimer.circleImage.color = circleColor;
-        dialogTimer.timerText.text = time.ToString("F0");
+        dialogTimerScript.time = time;
+        dialogTimerScript.timeAmount = timeAmount;
+        dialogTimerScript.circleImage.color = circleColor;
+        dialogTimerScript.timerText.text = time.ToString("F0");
 
         circleImage.color = circleColor;
         timerText.text = time.ToString("F0");
@@ -77,6 +78,6 @@ public class TimerScript : MonoBehaviour
 
     internal void StartTimer() {
         timerRunning = true;
-        dialogTimer.timerRunning = true;
+        dialogTimerScript.timerRunning = true;
     }
 }

+ 0 - 0
Assets/Scripts/TimerScript.cs.meta → Assets/Scripts/MainGame/TimerScript.cs.meta


+ 37 - 0
Assets/Scripts/NewGameScene/FirebaseStart.cs

@@ -0,0 +1,37 @@
+using System.Collections;
+using System.Collections.Generic;
+using Firebase;
+using Firebase.Analytics;
+using UnityEngine;
+
+public class FirebaseStart : MonoBehaviour
+{
+    private FirebaseApp app;
+
+    // Start is called before the first frame update
+    void Start()
+    {
+        Firebase.FirebaseApp.CheckAndFixDependenciesAsync().ContinueWith(task => {
+        var dependencyStatus = task.Result;
+        FirebaseAnalytics.SetAnalyticsCollectionEnabled(true);
+        if (dependencyStatus == Firebase.DependencyStatus.Available) {
+            // Create and hold a reference to your FirebaseApp,
+            // where app is a Firebase.FirebaseApp property of your application class.
+            app = Firebase.FirebaseApp.DefaultInstance;
+
+            // Set a flag here to indicate whether Firebase is ready to use by your app.
+        } else {
+            UnityEngine.Debug.LogError(System.String.Format(
+            "Could not resolve all Firebase dependencies: {0}", dependencyStatus));
+            // Firebase Unity SDK is not safe to use here.
+        }
+        });
+                
+    }
+
+    // Update is called once per frame
+    void Update()
+    {
+        
+    }
+}

+ 11 - 0
Assets/Scripts/NewGameScene/FirebaseStart.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 5a9e345e01b695946aa45906dfbfaeb7
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 0 - 0
Assets/Scripts/GameInfoScript.cs → Assets/Scripts/NewGameScene/GameInfoScript.cs


+ 0 - 0
Assets/Scripts/GameInfoScript.cs.meta → Assets/Scripts/NewGameScene/GameInfoScript.cs.meta


+ 0 - 0
Assets/Scripts/GamesScrollController.cs → Assets/Scripts/NewGameScene/GamesScrollController.cs


+ 0 - 0
Assets/Scripts/GamesScrollController.cs.meta → Assets/Scripts/NewGameScene/GamesScrollController.cs.meta


+ 0 - 0
Assets/Scripts/LocalGameScript.cs → Assets/Scripts/NewGameScene/LocalGameScript.cs


+ 0 - 0
Assets/Scripts/LocalGameScript.cs.meta → Assets/Scripts/NewGameScene/LocalGameScript.cs.meta


+ 0 - 9
Assets/Scripts/NewGameScene/NewOnlineGame.cs

@@ -62,13 +62,4 @@ public class NewOnlineGame : MonoBehaviour
 
         return returnValue;
     }
-    /*
-    private void OpenInvitePanel() {
-        GameObject.Find("InvitePanel").GetComponent<InvitePanelScript>().ShowPanel();
-    }
-    
-    private void Hide() {
-        GameObject.Find("Main Panel").GetComponent<MainMenu>().HideNewGamesPanel();
-    }
-    */
 }

+ 0 - 0
Assets/Scripts/OnlineGameScript.cs → Assets/Scripts/NewGameScene/OnlineGameScript.cs


+ 0 - 0
Assets/Scripts/OnlineGameScript.cs.meta → Assets/Scripts/NewGameScene/OnlineGameScript.cs.meta


+ 0 - 0
Assets/Scripts/OnlinePlayerInfoScript.cs → Assets/Scripts/NewGameScene/OnlinePlayerInfoScript.cs


Alguns arquivos não foram mostrados porque muitos arquivos mudaram nesse diff