Bladeren bron

Merge branch 'SettingsScene' into master

Axel Nordh 5 jaren geleden
bovenliggende
commit
09a14ffb9e
70 gewijzigde bestanden met toevoegingen van 5555 en 2220 verwijderingen
  1. 10 6
      Assets/AnswerLineInfoScript.cs
  2. 1 1
      Assets/Data/google-services.json
  3. BIN
      Assets/Images/NarKampenText.png
  4. 94 0
      Assets/Images/NarKampenText.png.meta
  5. BIN
      Assets/Images/gear-Whilte.png
  6. 92 0
      Assets/Images/gear-Whilte.png.meta
  7. BIN
      Assets/Images/gear-Whilte.xcf
  8. 7 0
      Assets/Images/gear-Whilte.xcf.meta
  9. BIN
      Assets/Images/gear.png
  10. 92 0
      Assets/Images/gear.png.meta
  11. 1104 0
      Assets/Prefab/InformationPanel.prefab
  12. 7 0
      Assets/Prefab/InformationPanel.prefab.meta
  13. 37 18
      Assets/Prefab/InviteSearchResult.prefab
  14. 19 9
      Assets/Prefab/NEWAnswerlineQuestion.prefab
  15. 20 9
      Assets/Prefab/OnlineGamePlayerInfo.prefab
  16. 76 9
      Assets/Prefab/PlayerSetting.prefab
  17. 11 7
      Assets/Prefab/StatsLine.prefab
  18. 81 567
      Assets/Scenes/MainMenu.unity
  19. 121 369
      Assets/Scenes/NewGame.unity
  20. 2387 0
      Assets/Scenes/Settings.unity
  21. 7 0
      Assets/Scenes/Settings.unity.meta
  22. 374 411
      Assets/Scenes/User.unity
  23. 134 607
      Assets/Scenes/narKampen.unity
  24. 14 0
      Assets/Scripts/Constants.cs
  25. 11 0
      Assets/Scripts/Constants.cs.meta
  26. 41 22
      Assets/Scripts/Database/Database.cs
  27. 39 31
      Assets/Scripts/Database/OnlineDatabase.cs
  28. 29 27
      Assets/Scripts/GameManagerScript.cs
  29. 5 6
      Assets/Scripts/Login/Login.cs
  30. 1 1
      Assets/Scripts/MainGame/CategoryPanel.cs
  31. 32 10
      Assets/Scripts/MainGame/InformationPanelScript.cs
  32. 1 2
      Assets/Scripts/MainGame/NewQuestionCardController.cs
  33. 4 4
      Assets/Scripts/MainGame/NewQuestionsPanel.cs
  34. 2 2
      Assets/Scripts/MainGame/QuestionCard.cs
  35. 3 3
      Assets/Scripts/MainGame/ScrollViewScript.cs
  36. 23 18
      Assets/Scripts/MainGame/StatsScript.cs
  37. 8 0
      Assets/Scripts/MainMenu.cs
  38. 6 6
      Assets/Scripts/NewGameScene/GameInfoScript.cs
  39. 19 24
      Assets/Scripts/NewGameScene/InvitePanelScript.cs
  40. 4 4
      Assets/Scripts/NewGameScene/LocalGameScript.cs
  41. 3 1
      Assets/Scripts/NewGameScene/NewGamesButtonPanelScript.cs
  42. 24 6
      Assets/Scripts/NewGameScene/NewStartLocalGameScript.cs
  43. 16 10
      Assets/Scripts/NewGameScene/OnlineGameScript.cs
  44. 1 1
      Assets/Scripts/NewGameScene/OnlinePlayerInfoScript.cs
  45. 1 0
      Assets/Scripts/NewGameScene/PlayerInfo.cs
  46. 1 1
      Assets/Scripts/PrivacyPolicy.cs
  47. 42 0
      Assets/SettingsScript.cs
  48. 11 0
      Assets/SettingsScript.cs.meta
  49. 2 0
      Assets/Sprites/ByFreepik.jpg.meta
  50. 1 1
      Assets/StreamingAssets/google-services-desktop.json
  51. 1 1
      Assets/StreamingAssets/google-services-desktop.json.meta
  52. 3 2
      Assets/Translations/ENGLISH.xml
  53. 5 2
      Assets/Translations/SWEDISH.xml
  54. BIN
      Assets/narKampenLocal.db
  55. 7 6
      Packages/manifest.json
  56. 425 0
      Packages/packages-lock.json
  57. 3 0
      ProjectSettings/EditorBuildSettings.asset
  58. 51 0
      ProjectSettings/PackageManagerSettings.asset
  59. 20 4
      ProjectSettings/ProjectSettings.asset
  60. 2 2
      ProjectSettings/ProjectVersion.txt
  61. BIN
      ProjectSettings/VersionControlSettings.asset
  62. BIN
      UserSettings/EditorUserSettings.asset
  63. 1 1
      app.config
  64. 2 2
      dbFiles/Categories.php
  65. 1 1
      dbFiles/FirebaseCaller.php
  66. 3 2
      dbFiles/NewOnlineGame.php
  67. 1 1
      dbFiles/OnlineGameInfo.php
  68. 10 1
      dbFiles/OnlineGames.php
  69. 1 1
      dbFiles/Question.php
  70. 1 1
      narkampen-firebase-adminsdk-k42j5-d3d0354e37.json

+ 10 - 6
Assets/AnswerLineInfoScript.cs

@@ -26,7 +26,7 @@ public class AnswerLineInfoScript : MonoBehaviour
     private void Start() {
         nextPlayerButton.onClick.AddListener(ShowNextPlayerAnswerLine);
         prevPlayerButton.onClick.AddListener(ShowPrevPlayerAnswerLine);
-        currentPlayerShown = GameManagerScript.GetCurrentPlayer();
+        currentPlayerShown = Database.Instance.GetSignedInUser().Value;
         signedInName = Database.Instance.GetSignedInUser().Value;
         lockedQuestionsText.resizeTextMaxSize = unlockedQuestionsText.resizeTextMaxSize;
         gameManagerScript = gameManager.GetComponent<GameManagerScript>();
@@ -46,7 +46,7 @@ public class AnswerLineInfoScript : MonoBehaviour
     private void SetQuestionClickable() {
         List<KeyValuePair<string, int>> players = gameManagerScript.GetPlayers();
         if (gameManagerScript.GameStatus == null || !gameManagerScript.GameStatus.Equals("FINISHED")) {
-            if (gameManagerScript.GetGameMode().Equals("ONLINE")) {
+            if (gameManagerScript.GameMode.Equals(Constants.ONLINE)) {
                 if (players.Count > 1 && currentPlayerShown != null) {
                     if (GameManagerScript.GetCurrentPlayer().Equals(currentPlayerShown, StringComparison.InvariantCultureIgnoreCase)) {
                         newQuestion.GetComponent<NewQuestionCardController>().BackClickable = true;
@@ -74,9 +74,9 @@ public class AnswerLineInfoScript : MonoBehaviour
             nextPlayerButton.gameObject.SetActive(true);
             prevPlayerButton.gameObject.SetActive(true);
 
-            if (gameManagerScript.GetGameMode().Equals("Online") && currentPlayerShown == null) { // fungerar enbart vid online
+            if (gameManagerScript.GameMode.Equals(Constants.ONLINE) && currentPlayerShown == null) { // fungerar enbart vid online
                 currentPlayerShown = signedInName;
-            } else if (gameManagerScript.GetGameMode().Equals("Local") && currentPlayerShown == null) {
+            } else if (gameManagerScript.GameMode.Equals(Constants.LOCAL) && currentPlayerShown == null) {
                 currentPlayerShown = Database.Instance.GetCurrentPlayer(gameManagerScript.GameId,gameManagerScript.GameMode);
             }
 
@@ -206,18 +206,22 @@ public class AnswerLineInfoScript : MonoBehaviour
         ScrollViewScript scrollViewScript = scrollView.GetComponent<ScrollViewScript>();
         scrollViewScript.RemoveEverythingFromAnswerline();
         scrollViewScript.SetQuestionsInAnswerLine(questions);
-        if (gameManagerScript.GetGameMode().Equals("Online")) {
+        if (gameManagerScript.GameMode.Equals(Constants.ONLINE)) {
             if (Database.Instance.GetSignedInUser().Value.Equals(currentPlayerShown, StringComparison.InvariantCultureIgnoreCase)) {
                 scrollViewScript.SetQuestionsFrosted(false);
             } else {
                 scrollViewScript.SetQuestionsFrosted(true);
             }
         } else  {
-            if (currentPlayerShown.Equals(Database.Instance.GetCurrentPlayer(gameManagerScript.GameId, gameManagerScript.GameMode))) {
+            if (currentPlayerShown.Equals(Database.Instance.GetCurrentPlayer(gameManagerScript.GameId, gameManagerScript.GameMode), StringComparison.InvariantCultureIgnoreCase)) {
                 scrollViewScript.SetQuestionsFrosted(false);
             } else {
                 scrollViewScript.SetQuestionsFrosted(true);
             }
         }
     }
+
+    public String getCurrentPlayerShown() {
+        return currentPlayerShown;
+    }
 }

+ 1 - 1
Assets/Data/google-services.json

@@ -2,7 +2,7 @@
   "project_info": {
     "project_number": "108102546370",
     "firebase_url": "https://narkampen.firebaseio.com",
-    "project_id": "narkampen",
+    "project_id": "narKampen",
     "storage_bucket": "narkampen.appspot.com"
   },
   "client": [

BIN
Assets/Images/NarKampenText.png


+ 94 - 0
Assets/Images/NarKampenText.png.meta

@@ -0,0 +1,94 @@
+fileFormatVersion: 2
+guid: f58135a553386f645888d8011f12a131
+TextureImporter:
+  internalIDToNameTable: []
+  externalObjects: {}
+  serializedVersion: 11
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  vTOnly: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  ignorePngGamma: 0
+  applyGammaDecoding: 0
+  platformSettings:
+  - serializedVersion: 3
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 5e97eb03825dee720800000000000000
+    internalID: 0
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+    secondaryTextures: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
Assets/Images/gear-Whilte.png


+ 92 - 0
Assets/Images/gear-Whilte.png.meta

@@ -0,0 +1,92 @@
+fileFormatVersion: 2
+guid: bddb46103cfa30649b9fb9ad819557a7
+TextureImporter:
+  internalIDToNameTable: []
+  externalObjects: {}
+  serializedVersion: 11
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  applyGammaDecoding: 0
+  platformSettings:
+  - serializedVersion: 3
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 5e97eb03825dee720800000000000000
+    internalID: 0
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+    secondaryTextures: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
Assets/Images/gear-Whilte.xcf


+ 7 - 0
Assets/Images/gear-Whilte.xcf.meta

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

BIN
Assets/Images/gear.png


+ 92 - 0
Assets/Images/gear.png.meta

@@ -0,0 +1,92 @@
+fileFormatVersion: 2
+guid: f58ed4b2a275c1f42bd8177764aae456
+TextureImporter:
+  internalIDToNameTable: []
+  externalObjects: {}
+  serializedVersion: 11
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  applyGammaDecoding: 0
+  platformSettings:
+  - serializedVersion: 3
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 5e97eb03825dee720800000000000000
+    internalID: 0
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+    secondaryTextures: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 1104 - 0
Assets/Prefab/InformationPanel.prefab

@@ -0,0 +1,1104 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &1656302222348153391
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 2044112020052062420}
+  - component: {fileID: 2321509794183575544}
+  - component: {fileID: 5619886112674256991}
+  - component: {fileID: 9076307923868312710}
+  - component: {fileID: 5269274914352241542}
+  m_Layer: 5
+  m_Name: BackButton
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &2044112020052062420
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1656302222348153391}
+  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: 5319472772689176922}
+  m_Father: {fileID: 6032201715164675891}
+  m_RootOrder: 3
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 1, y: 0.5}
+  m_AnchorMax: {x: 1, y: 0.5}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 200, y: 40}
+  m_Pivot: {x: 1, y: 0.5}
+--- !u!222 &2321509794183575544
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1656302222348153391}
+  m_CullTransparentMesh: 0
+--- !u!114 &5619886112674256991
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1656302222348153391}
+  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: 1}
+  m_RaycastTarget: 1
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 10905, 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
+--- !u!114 &9076307923868312710
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1656302222348153391}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+    m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+    m_ColorMultiplier: 1
+    m_FadeDuration: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_SelectedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_SelectedTrigger: Selected
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 5619886112674256991}
+  m_OnClick:
+    m_PersistentCalls:
+      m_Calls: []
+--- !u!114 &5269274914352241542
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1656302222348153391}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 78e7dcec242b8e54db8994e443fcf679, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  key: BACK
+--- !u!1 &3809025994559761727
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 5319472772689176922}
+  - component: {fileID: 5155548917934846711}
+  - component: {fileID: 3362575071577203264}
+  m_Layer: 5
+  m_Name: Text
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &5319472772689176922
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3809025994559761727}
+  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: 2044112020052062420}
+  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 &5155548917934846711
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3809025994559761727}
+  m_CullTransparentMesh: 0
+--- !u!114 &3362575071577203264
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3809025994559761727}
+  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_Maskable: 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: 0
+    m_MinSize: 10
+    m_MaxSize: 40
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: Button
+--- !u!1 &6032201713100713851
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 6032201713100713850}
+  - component: {fileID: 6032201713100713848}
+  - component: {fileID: 6032201713100713849}
+  m_Layer: 5
+  m_Name: Text
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &6032201713100713850
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6032201713100713851}
+  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: 6032201714541104384}
+  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 &6032201713100713848
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6032201713100713851}
+  m_CullTransparentMesh: 0
+--- !u!114 &6032201713100713849
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6032201713100713851}
+  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_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_FontData:
+    m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+    m_FontSize: 20
+    m_FontStyle: 0
+    m_BestFit: 1
+    m_MinSize: 8
+    m_MaxSize: 20
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: Quit
+--- !u!1 &6032201713433701519
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 6032201713433701518}
+  - component: {fileID: 6032201713433701522}
+  - component: {fileID: 6032201713433701523}
+  - component: {fileID: 6032201713433701516}
+  - component: {fileID: 6032201713433701517}
+  m_Layer: 5
+  m_Name: Logout
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &6032201713433701518
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6032201713433701519}
+  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: 6032201714397737746}
+  m_Father: {fileID: 6032201715164675891}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 1, y: 0.5}
+  m_AnchorMax: {x: 1, y: 0.5}
+  m_AnchoredPosition: {x: -100, y: 0}
+  m_SizeDelta: {x: 100, y: 40}
+  m_Pivot: {x: 1, y: 0.5}
+--- !u!222 &6032201713433701522
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6032201713433701519}
+  m_CullTransparentMesh: 0
+--- !u!114 &6032201713433701523
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6032201713433701519}
+  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: 1}
+  m_RaycastTarget: 1
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 10905, 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
+--- !u!114 &6032201713433701516
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6032201713433701519}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 78e7dcec242b8e54db8994e443fcf679, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  key: LOGOUT
+--- !u!114 &6032201713433701517
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6032201713433701519}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+    m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+    m_ColorMultiplier: 1
+    m_FadeDuration: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_SelectedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_SelectedTrigger: Selected
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 6032201713433701523}
+  m_OnClick:
+    m_PersistentCalls:
+      m_Calls: []
+--- !u!1 &6032201714132355670
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 6032201714132355669}
+  - component: {fileID: 6032201714132355675}
+  - component: {fileID: 6032201714132355668}
+  m_Layer: 5
+  m_Name: Image
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &6032201714132355669
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6032201714132355670}
+  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: 6032201714530296146}
+  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: -10, y: -10}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &6032201714132355675
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6032201714132355670}
+  m_CullTransparentMesh: 0
+--- !u!114 &6032201714132355668
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6032201714132355670}
+  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: 1}
+  m_RaycastTarget: 1
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 21300000, guid: bddb46103cfa30649b9fb9ad819557a7, 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 &6032201714397737747
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 6032201714397737746}
+  - component: {fileID: 6032201714397737744}
+  - component: {fileID: 6032201714397737745}
+  m_Layer: 5
+  m_Name: Text
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &6032201714397737746
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6032201714397737747}
+  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: 6032201713433701518}
+  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 &6032201714397737744
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6032201714397737747}
+  m_CullTransparentMesh: 0
+--- !u!114 &6032201714397737745
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6032201714397737747}
+  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_Maskable: 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: 8
+    m_MaxSize: 18
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: Logout
+--- !u!1 &6032201714530296147
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 6032201714530296146}
+  - component: {fileID: 6032201714530296151}
+  - component: {fileID: 6032201714530296144}
+  - component: {fileID: 6032201714530296145}
+  m_Layer: 5
+  m_Name: SettingsButton
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &6032201714530296146
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6032201714530296147}
+  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: 6032201714132355669}
+  m_Father: {fileID: 6032201714908169815}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 0, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 40, y: 40}
+  m_Pivot: {x: 0, y: 1}
+--- !u!222 &6032201714530296151
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6032201714530296147}
+  m_CullTransparentMesh: 0
+--- !u!114 &6032201714530296144
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6032201714530296147}
+  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: 10905, 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
+--- !u!114 &6032201714530296145
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6032201714530296147}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+    m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+    m_ColorMultiplier: 1
+    m_FadeDuration: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_SelectedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_SelectedTrigger: Selected
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 6032201714530296144}
+  m_OnClick:
+    m_PersistentCalls:
+      m_Calls: []
+--- !u!1 &6032201714541104385
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 6032201714541104384}
+  - component: {fileID: 6032201714541104389}
+  - component: {fileID: 6032201714541104390}
+  - component: {fileID: 6032201714541104388}
+  - component: {fileID: 6032201714541104391}
+  m_Layer: 5
+  m_Name: Quit
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &6032201714541104384
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6032201714541104385}
+  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: 6032201713100713850}
+  m_Father: {fileID: 6032201715164675891}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 1, y: 0.5}
+  m_AnchorMax: {x: 1, y: 0.5}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 100, y: 40}
+  m_Pivot: {x: 1, y: 0.5}
+--- !u!222 &6032201714541104389
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6032201714541104385}
+  m_CullTransparentMesh: 0
+--- !u!114 &6032201714541104390
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6032201714541104385}
+  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: 1}
+  m_RaycastTarget: 1
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 10905, 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
+--- !u!114 &6032201714541104388
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6032201714541104385}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 78e7dcec242b8e54db8994e443fcf679, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  key: QUIT
+--- !u!114 &6032201714541104391
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6032201714541104385}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+    m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+    m_ColorMultiplier: 1
+    m_FadeDuration: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_SelectedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_SelectedTrigger: Highlighted
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 6032201714541104390}
+  m_OnClick:
+    m_PersistentCalls:
+      m_Calls: []
+--- !u!1 &6032201714908169808
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 6032201714908169815}
+  - component: {fileID: 6032201714908169813}
+  - component: {fileID: 6032201714908169814}
+  m_Layer: 5
+  m_Name: UserInformation
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &6032201714908169815
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6032201714908169808}
+  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: 6032201714530296146}
+  - {fileID: 6032201715107032510}
+  m_Father: {fileID: 6032201715164675891}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0.5}
+  m_AnchorMax: {x: 1, y: 0.5}
+  m_AnchoredPosition: {x: -100, y: 0}
+  m_SizeDelta: {x: -200, y: 40}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &6032201714908169813
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6032201714908169808}
+  m_CullTransparentMesh: 0
+--- !u!114 &6032201714908169814
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6032201714908169808}
+  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_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
+--- !u!1 &6032201715107032511
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 6032201715107032510}
+  - component: {fileID: 6032201715107032508}
+  - component: {fileID: 6032201715107032509}
+  m_Layer: 5
+  m_Name: LoggedInUsername
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &6032201715107032510
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6032201715107032511}
+  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: 6032201714908169815}
+  m_RootOrder: 1
+  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: 32.502, y: 0}
+  m_SizeDelta: {x: 532.51, y: 30}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &6032201715107032508
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6032201715107032511}
+  m_CullTransparentMesh: 0
+--- !u!114 &6032201715107032509
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6032201715107032511}
+  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_Maskable: 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: 4
+    m_AlignByGeometry: 1
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: Inloggad spelares namn
+--- !u!1 &6032201715164675884
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 6032201715164675891}
+  - component: {fileID: 6032201715164675888}
+  - component: {fileID: 6032201715164675889}
+  - component: {fileID: 6032201715164675890}
+  - component: {fileID: 6032201715164675895}
+  m_Layer: 5
+  m_Name: InformationPanel
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &6032201715164675891
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6032201715164675884}
+  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: 6032201714908169815}
+  - {fileID: 6032201713433701518}
+  - {fileID: 6032201714541104384}
+  - {fileID: 2044112020052062420}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 40}
+  m_Pivot: {x: 0.5, y: 1}
+--- !u!222 &6032201715164675888
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6032201715164675884}
+  m_CullTransparentMesh: 0
+--- !u!114 &6032201715164675889
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6032201715164675884}
+  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_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
+--- !u!114 &6032201715164675890
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6032201715164675884}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_IgnoreLayout: 0
+  m_MinWidth: -1
+  m_MinHeight: 30
+  m_PreferredWidth: -1
+  m_PreferredHeight: 30
+  m_FlexibleWidth: -1
+  m_FlexibleHeight: -1
+  m_LayoutPriority: 1
+--- !u!114 &6032201715164675895
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6032201715164675884}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 6ae6755aa613f534c8c5b5481c953a6d, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  quitButton: {fileID: 6032201714541104391}
+  loggedInPlayerText: {fileID: 6032201715107032509}
+  settingsButton: {fileID: 6032201714530296145}
+  logoutButton: {fileID: 6032201713433701517}
+  BackButton: {fileID: 9076307923868312710}
+  returnToMenu: 0
+  settingsButtonVisible: 1
+  logoutButtonVisible: 1
+  quitButtonVisible: 1
+  backButtonVisible: 1

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

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

+ 37 - 18
Assets/Prefab/InviteSearchResult.prefab

@@ -32,11 +32,11 @@ RectTransform:
   m_Father: {fileID: 263645073911821520}
   m_RootOrder: 1
   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: 200.00003, y: 0}
+  m_AnchorMin: {x: 1, y: 0.5}
+  m_AnchorMax: {x: 1, y: 0.5}
+  m_AnchoredPosition: {x: 0, y: 0}
   m_SizeDelta: {x: 90, y: 30}
-  m_Pivot: {x: 0.5, y: 0.5}
+  m_Pivot: {x: 1, y: 0.5}
 --- !u!114 &263645073092089922
 MonoBehaviour:
   m_ObjectHideFlags: 0
@@ -83,8 +83,6 @@ MonoBehaviour:
   onValueChanged:
     m_PersistentCalls:
       m_Calls: []
-    m_TypeName: UnityEngine.UI.Toggle+ToggleEvent, Unity.ugui, Version=1.0.0.0, Culture=neutral,
-      PublicKeyToken=null
   m_IsOn: 0
 --- !u!1 &263645073784785556
 GameObject:
@@ -120,8 +118,8 @@ RectTransform:
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0, y: 1}
   m_AnchorMax: {x: 1, y: 1}
-  m_AnchoredPosition: {x: -44.999966, y: 0}
-  m_SizeDelta: {x: -90, y: 30}
+  m_AnchoredPosition: {x: -44.99998, y: 0}
+  m_SizeDelta: {x: -90.00003, y: 30}
   m_Pivot: {x: 0.5, y: 1}
 --- !u!222 &263645073784785563
 CanvasRenderer:
@@ -146,11 +144,11 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
   m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
-    m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, Unity.ugui,
-      Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
   m_FontData:
     m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
     m_FontSize: 14
@@ -226,11 +224,11 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 1, g: 1, b: 1, a: 1}
   m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
-    m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, Unity.ugui,
-      Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
   m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
   m_Type: 1
   m_PreserveAspect: 0
@@ -253,6 +251,7 @@ GameObject:
   - component: {fileID: 263645073911821526}
   - component: {fileID: 263645073911821521}
   - component: {fileID: 7144088510451534092}
+  - component: {fileID: 7809571351369328860}
   m_Layer: 5
   m_Name: InviteSearchResult
   m_TagString: Untagged
@@ -279,7 +278,7 @@ RectTransform:
   m_AnchorMin: {x: 0, y: 0}
   m_AnchorMax: {x: 0, y: 0}
   m_AnchoredPosition: {x: 0, y: 0}
-  m_SizeDelta: {x: 0, y: 30}
+  m_SizeDelta: {x: 500, y: 30}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!222 &263645073911821526
 CanvasRenderer:
@@ -302,13 +301,13 @@ MonoBehaviour:
   m_Name: 
   m_EditorClassIdentifier: 
   m_Material: {fileID: 0}
-  m_Color: {r: 1, g: 1, b: 1, a: 0.392}
+  m_Color: {r: 1, g: 1, b: 1, a: 0}
   m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
-    m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, Unity.ugui,
-      Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
   m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0}
   m_Type: 1
   m_PreserveAspect: 0
@@ -333,6 +332,26 @@ MonoBehaviour:
   m_EditorClassIdentifier: 
   userNameText: {fileID: 263645073784785562}
   shouldInvite: {fileID: 263645073092089922}
+--- !u!114 &7809571351369328860
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 263645073911821523}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_IgnoreLayout: 0
+  m_MinWidth: -1
+  m_MinHeight: -1
+  m_PreferredWidth: 450
+  m_PreferredHeight: -1
+  m_FlexibleWidth: 1
+  m_FlexibleHeight: -1
+  m_LayoutPriority: 1
 --- !u!1 &263645074332100305
 GameObject:
   m_ObjectHideFlags: 0
@@ -393,11 +412,11 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 1, g: 1, b: 1, a: 1}
   m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
-    m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, Unity.ugui,
-      Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
   m_Sprite: {fileID: 10901, guid: 0000000000000000f000000000000000, type: 0}
   m_Type: 0
   m_PreserveAspect: 0

+ 19 - 9
Assets/Prefab/NEWAnswerlineQuestion.prefab

@@ -62,6 +62,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 1, g: 1, b: 1, a: 0.90588236}
   m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
   m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
@@ -151,6 +152,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
   m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
   m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
@@ -159,7 +161,7 @@ MonoBehaviour:
     m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
     m_FontSize: 14
     m_FontStyle: 0
-    m_BestFit: 0
+    m_BestFit: 1
     m_MinSize: 10
     m_MaxSize: 40
     m_Alignment: 4
@@ -230,6 +232,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 1, g: 0, b: 0, a: 1}
   m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
   m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
@@ -310,7 +313,7 @@ RectTransform:
   m_AnchorMin: {x: 0, y: 0}
   m_AnchorMax: {x: 1, y: 0}
   m_AnchoredPosition: {x: 0, y: 0}
-  m_SizeDelta: {x: 0, y: 31.573914}
+  m_SizeDelta: {x: 0, y: 40}
   m_Pivot: {x: 0.5, y: 0}
 --- !u!222 &7022163108707634000
 CanvasRenderer:
@@ -335,6 +338,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 0.8396226, g: 0.76516604, b: 0.1544589, a: 0.74509805}
   m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
   m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
@@ -413,6 +417,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 1, g: 1, b: 1, a: 1}
   m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
   m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
@@ -508,6 +513,7 @@ MonoBehaviour:
   m_Material: {fileID: 2100000, guid: 0fd71462391ecb247bf89a924b18569e, type: 2}
   m_Color: {r: 0.6603774, g: 0.109024554, b: 0.109024554, a: 0.9647059}
   m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
   m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
@@ -594,6 +600,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
   m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
   m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
@@ -672,6 +679,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
   m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
   m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
@@ -727,10 +735,10 @@ RectTransform:
   m_Father: {fileID: 7691598063254232327}
   m_RootOrder: 1
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
-  m_AnchorMin: {x: 0.05, y: 0.16952634}
+  m_AnchorMin: {x: 0.03181818, y: 0.21152633}
   m_AnchorMax: {x: 0.95000005, y: 0.6888889}
-  m_AnchoredPosition: {x: 0, y: 7.8006}
-  m_SizeDelta: {x: 2, y: 16.873245}
+  m_AnchoredPosition: {x: 1, y: 8.014}
+  m_SizeDelta: {x: 0, y: 16.44722}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!222 &2992420870034711280
 CanvasRenderer:
@@ -755,6 +763,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 0.7607844, g: 0.7607844, b: 0.7607844, a: 0}
   m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
   m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
@@ -819,6 +828,7 @@ MeshRenderer:
   m_LightProbeUsage: 1
   m_ReflectionProbeUsage: 1
   m_RayTracingMode: 2
+  m_RayTraceProcedural: 0
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
@@ -843,6 +853,7 @@ MeshRenderer:
   m_SortingLayerID: 0
   m_SortingLayer: 0
   m_SortingOrder: 0
+  m_AdditionalVertexStreams: {fileID: 0}
 --- !u!1 &2992420870793483451
 GameObject:
   m_ObjectHideFlags: 0
@@ -906,6 +917,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 1, g: 1, b: 1, a: 0.392}
   m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
   m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
@@ -1021,6 +1033,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 0.11725702, g: 0.8018868, b: 0.13107431, a: 1}
   m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
   m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
@@ -1051,10 +1064,6 @@ MonoBehaviour:
   answerText: {fileID: 2992420869671896521}
   backCategoryText: {fileID: 7305617361037222938}
   questionTextPanel: {fileID: 5922828162689438466}
-  questionString: 
-  answerString: 
-  idString: 
-  categoryString: 
   unsafeColor:
     serializedVersion: 2
     rgba: 4061797012
@@ -1159,6 +1168,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
   m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
   m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:

+ 20 - 9
Assets/Prefab/OnlineGamePlayerInfo.prefab

@@ -34,10 +34,10 @@ RectTransform:
   m_Father: {fileID: 7939081406837507707}
   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_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 0, y: 1}
+  m_AnchoredPosition: {x: 157.625, y: -15}
+  m_SizeDelta: {x: 285.25, y: 26}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!222 &2085956339603742460
 CanvasRenderer:
@@ -62,6 +62,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 1, g: 1, b: 1, a: 1}
   m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
   m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
@@ -181,6 +182,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 1, g: 1, b: 1, a: 0}
   m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
   m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
@@ -229,10 +231,10 @@ RectTransform:
   m_Father: {fileID: 7939081406837507707}
   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: 0, y: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 0, y: 1}
+  m_AnchoredPosition: {x: 457.875, y: -15}
+  m_SizeDelta: {x: 285.25, y: 26}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!222 &2427253673183139493
 CanvasRenderer:
@@ -257,6 +259,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 1, g: 1, b: 1, a: 1}
   m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
   m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
@@ -374,6 +377,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
   m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
   m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
@@ -452,6 +456,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
   m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
   m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
@@ -534,6 +539,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 1, g: 1, b: 1, a: 0}
   m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
   m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
@@ -585,6 +591,7 @@ MonoBehaviour:
   m_ChildControlHeight: 1
   m_ChildScaleWidth: 0
   m_ChildScaleHeight: 0
+  m_ReverseArrangement: 0
 --- !u!1 &5899404472618114243
 GameObject:
   m_ObjectHideFlags: 0
@@ -645,6 +652,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
   m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
   m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
@@ -725,8 +733,9 @@ MonoBehaviour:
   m_Name: 
   m_EditorClassIdentifier: 
   m_Material: {fileID: 0}
-  m_Color: {r: 1, g: 1, b: 1, a: 0.392}
+  m_Color: {r: 1, g: 1, b: 1, a: 0}
   m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
   m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
@@ -766,6 +775,7 @@ MonoBehaviour:
   m_ChildControlHeight: 1
   m_ChildScaleWidth: 0
   m_ChildScaleHeight: 0
+  m_ReverseArrangement: 0
 --- !u!114 &3645399546216617269
 MonoBehaviour:
   m_ObjectHideFlags: 0
@@ -859,6 +869,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
   m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
   m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:

+ 76 - 9
Assets/Prefab/PlayerSetting.prefab

@@ -60,6 +60,8 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
   m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -88,7 +90,9 @@ GameObject:
   - component: {fileID: 4493885812376020610}
   - component: {fileID: 4493885812376020613}
   - component: {fileID: 4493885812376020612}
+  - component: {fileID: 7625902718324973748}
   - component: {fileID: 4493885812376020611}
+  - component: {fileID: 2130815851645671943}
   m_Layer: 5
   m_Name: NameInputField
   m_TagString: Untagged
@@ -115,7 +119,7 @@ RectTransform:
   m_AnchorMin: {x: 0, y: 0}
   m_AnchorMax: {x: 0, y: 0}
   m_AnchoredPosition: {x: 0, y: 0}
-  m_SizeDelta: {x: 0, y: 30}
+  m_SizeDelta: {x: 0, y: 40}
   m_Pivot: {x: 1, y: 0.5}
 --- !u!222 &4493885812376020613
 CanvasRenderer:
@@ -140,11 +144,13 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 1, g: 1, b: 1, a: 1}
   m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
   m_Sprite: {fileID: 10911, guid: 0000000000000000f000000000000000, type: 0}
-  m_Type: 1
+  m_Type: 2
   m_PreserveAspect: 0
   m_FillCenter: 1
   m_FillMethod: 4
@@ -153,6 +159,19 @@ MonoBehaviour:
   m_FillOrigin: 0
   m_UseSpriteMesh: 0
   m_PixelsPerUnitMultiplier: 1
+--- !u!114 &7625902718324973748
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4493885812376020609}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 703680a5c8e64be40a84bc75e07d943f, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  key: PLAYER_SETTING_NAME_PLACEHOLDER
 --- !u!114 &4493885812376020611
 MonoBehaviour:
   m_ObjectHideFlags: 0
@@ -195,13 +214,13 @@ MonoBehaviour:
   m_TargetGraphic: {fileID: 4493885812376020612}
   m_TextComponent: {fileID: 4493885811720675548}
   m_Placeholder: {fileID: 4493885812590308721}
-  m_ContentType: 0
+  m_ContentType: 5
   m_InputType: 0
   m_AsteriskChar: 42
-  m_KeyboardType: 0
+  m_KeyboardType: 6
   m_LineType: 0
   m_HideMobileInput: 0
-  m_CharacterValidation: 0
+  m_CharacterValidation: 4
   m_CharacterLimit: 64
   m_OnEndEdit:
     m_PersistentCalls:
@@ -216,6 +235,26 @@ MonoBehaviour:
   m_CaretBlinkRate: 0.85
   m_CaretWidth: 1
   m_ReadOnly: 0
+--- !u!114 &2130815851645671943
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4493885812376020609}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_IgnoreLayout: 0
+  m_MinWidth: -1
+  m_MinHeight: -1
+  m_PreferredWidth: 200
+  m_PreferredHeight: -1
+  m_FlexibleWidth: -1
+  m_FlexibleHeight: -1
+  m_LayoutPriority: 1
 --- !u!1 &4493885812590308735
 GameObject:
   m_ObjectHideFlags: 0
@@ -276,6 +315,8 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 0.5}
   m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -286,7 +327,7 @@ MonoBehaviour:
     m_BestFit: 0
     m_MinSize: 10
     m_MaxSize: 40
-    m_Alignment: 5
+    m_Alignment: 4
     m_AlignByGeometry: 0
     m_RichText: 1
     m_HorizontalOverflow: 0
@@ -304,6 +345,7 @@ GameObject:
   - component: {fileID: 4493885813120904465}
   - component: {fileID: 4493885813120904467}
   - component: {fileID: 4493885813120904466}
+  - component: {fileID: 9210427170678630913}
   m_Layer: 5
   m_Name: NameText
   m_TagString: Untagged
@@ -328,7 +370,7 @@ RectTransform:
   m_AnchorMin: {x: 0, y: 0}
   m_AnchorMax: {x: 0, y: 0}
   m_AnchoredPosition: {x: 0, y: 0}
-  m_SizeDelta: {x: 0, y: 30}
+  m_SizeDelta: {x: 0, y: 40}
   m_Pivot: {x: 0, y: 0.5}
 --- !u!222 &4493885813120904467
 CanvasRenderer:
@@ -353,6 +395,8 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
   m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -370,6 +414,26 @@ MonoBehaviour:
     m_VerticalOverflow: 0
     m_LineSpacing: 1
   m_Text: Player 1 name
+--- !u!114 &9210427170678630913
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4493885813120904464}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_IgnoreLayout: 0
+  m_MinWidth: -1
+  m_MinHeight: -1
+  m_PreferredWidth: 200
+  m_PreferredHeight: -1
+  m_FlexibleWidth: -1
+  m_FlexibleHeight: -1
+  m_LayoutPriority: 1
 --- !u!1 &4493885813332805989
 GameObject:
   m_ObjectHideFlags: 0
@@ -410,7 +474,7 @@ RectTransform:
   m_AnchorMin: {x: 0, y: 0}
   m_AnchorMax: {x: 0, y: 0}
   m_AnchoredPosition: {x: 0, y: 0}
-  m_SizeDelta: {x: 400, y: 30}
+  m_SizeDelta: {x: 400, y: 40}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!222 &4493885813332806040
 CanvasRenderer:
@@ -433,8 +497,10 @@ MonoBehaviour:
   m_Name: 
   m_EditorClassIdentifier: 
   m_Material: {fileID: 0}
-  m_Color: {r: 1, g: 1, b: 1, a: 0.392}
+  m_Color: {r: 1, g: 1, b: 1, a: 0}
   m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
@@ -487,6 +553,7 @@ MonoBehaviour:
   m_ChildControlHeight: 0
   m_ChildScaleWidth: 0
   m_ChildScaleHeight: 0
+  m_ReverseArrangement: 0
 --- !u!114 &1487640342164110949
 MonoBehaviour:
   m_ObjectHideFlags: 0

+ 11 - 7
Assets/Prefab/StatsLine.prefab

@@ -36,7 +36,7 @@ RectTransform:
   m_AnchorMin: {x: 1, y: 0.5}
   m_AnchorMax: {x: 1, y: 0.5}
   m_AnchoredPosition: {x: 0, y: 0}
-  m_SizeDelta: {x: 30, y: 30}
+  m_SizeDelta: {x: 50, y: 30}
   m_Pivot: {x: 1, y: 0.5}
 --- !u!222 &5385695372056896213
 CanvasRenderer:
@@ -61,6 +61,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
   m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
   m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
@@ -72,7 +73,7 @@ MonoBehaviour:
     m_BestFit: 1
     m_MinSize: 10
     m_MaxSize: 40
-    m_Alignment: 5
+    m_Alignment: 4
     m_AlignByGeometry: 0
     m_RichText: 1
     m_HorizontalOverflow: 0
@@ -134,10 +135,10 @@ RectTransform:
   m_RootOrder: 0
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0, y: 0.5}
-  m_AnchorMax: {x: 0, y: 0.5}
-  m_AnchoredPosition: {x: 0, y: 0}
-  m_SizeDelta: {x: 170, y: 30}
-  m_Pivot: {x: 0, y: 0.5}
+  m_AnchorMax: {x: 1, y: 0.5}
+  m_AnchoredPosition: {x: -25, y: 0}
+  m_SizeDelta: {x: -50, y: 30}
+  m_Pivot: {x: 0.5, y: 0.5}
 --- !u!222 &2579321090774548123
 CanvasRenderer:
   m_ObjectHideFlags: 0
@@ -161,6 +162,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
   m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
   m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
@@ -209,7 +211,7 @@ MonoBehaviour:
   m_MinHeight: -1
   m_PreferredWidth: -1
   m_PreferredHeight: -1
-  m_FlexibleWidth: -1
+  m_FlexibleWidth: 1
   m_FlexibleHeight: -1
   m_LayoutPriority: 1
 --- !u!1 &4647862445024647967
@@ -276,6 +278,7 @@ MonoBehaviour:
   m_Material: {fileID: 0}
   m_Color: {r: 1, g: 1, b: 1, a: 0.392}
   m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
   m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
@@ -315,6 +318,7 @@ MonoBehaviour:
   m_ChildControlHeight: 0
   m_ChildScaleWidth: 0
   m_ChildScaleHeight: 0
+  m_ReverseArrangement: 0
 --- !u!114 &6589157768217286903
 MonoBehaviour:
   m_ObjectHideFlags: 0

File diff suppressed because it is too large
+ 81 - 567
Assets/Scenes/MainMenu.unity


File diff suppressed because it is too large
+ 121 - 369
Assets/Scenes/NewGame.unity


+ 2387 - 0
Assets/Scenes/Settings.unity

@@ -0,0 +1,2387 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!29 &1
+OcclusionCullingSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_OcclusionBakeSettings:
+    smallestOccluder: 5
+    smallestHole: 0.25
+    backfaceThreshold: 100
+  m_SceneGUID: 00000000000000000000000000000000
+  m_OcclusionCullingData: {fileID: 0}
+--- !u!104 &2
+RenderSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 9
+  m_Fog: 0
+  m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
+  m_FogMode: 3
+  m_FogDensity: 0.01
+  m_LinearFogStart: 0
+  m_LinearFogEnd: 300
+  m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
+  m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
+  m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
+  m_AmbientIntensity: 1
+  m_AmbientMode: 3
+  m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
+  m_SkyboxMaterial: {fileID: 0}
+  m_HaloStrength: 0.5
+  m_FlareStrength: 1
+  m_FlareFadeSpeed: 3
+  m_HaloTexture: {fileID: 0}
+  m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
+  m_DefaultReflectionMode: 0
+  m_DefaultReflectionResolution: 128
+  m_ReflectionBounces: 1
+  m_ReflectionIntensity: 1
+  m_CustomReflection: {fileID: 0}
+  m_Sun: {fileID: 0}
+  m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1}
+  m_UseRadianceAmbientProbe: 0
+--- !u!157 &3
+LightmapSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 11
+  m_GIWorkflowMode: 1
+  m_GISettings:
+    serializedVersion: 2
+    m_BounceScale: 1
+    m_IndirectOutputScale: 1
+    m_AlbedoBoost: 1
+    m_EnvironmentLightingMode: 0
+    m_EnableBakedLightmaps: 0
+    m_EnableRealtimeLightmaps: 0
+  m_LightmapEditorSettings:
+    serializedVersion: 12
+    m_Resolution: 2
+    m_BakeResolution: 40
+    m_AtlasSize: 1024
+    m_AO: 0
+    m_AOMaxDistance: 1
+    m_CompAOExponent: 1
+    m_CompAOExponentDirect: 0
+    m_ExtractAmbientOcclusion: 0
+    m_Padding: 2
+    m_LightmapParameters: {fileID: 0}
+    m_LightmapsBakeMode: 1
+    m_TextureCompression: 1
+    m_FinalGather: 0
+    m_FinalGatherFiltering: 1
+    m_FinalGatherRayCount: 256
+    m_ReflectionCompression: 2
+    m_MixedBakeMode: 2
+    m_BakeBackend: 1
+    m_PVRSampling: 1
+    m_PVRDirectSampleCount: 32
+    m_PVRSampleCount: 512
+    m_PVRBounces: 2
+    m_PVREnvironmentSampleCount: 256
+    m_PVREnvironmentReferencePointCount: 2048
+    m_PVRFilteringMode: 1
+    m_PVRDenoiserTypeDirect: 1
+    m_PVRDenoiserTypeIndirect: 1
+    m_PVRDenoiserTypeAO: 1
+    m_PVRFilterTypeDirect: 0
+    m_PVRFilterTypeIndirect: 0
+    m_PVRFilterTypeAO: 0
+    m_PVREnvironmentMIS: 1
+    m_PVRCulling: 1
+    m_PVRFilteringGaussRadiusDirect: 1
+    m_PVRFilteringGaussRadiusIndirect: 5
+    m_PVRFilteringGaussRadiusAO: 2
+    m_PVRFilteringAtrousPositionSigmaDirect: 0.5
+    m_PVRFilteringAtrousPositionSigmaIndirect: 2
+    m_PVRFilteringAtrousPositionSigmaAO: 1
+    m_ExportTrainingData: 0
+    m_TrainingDataDestination: TrainingData
+    m_LightProbeSampleCountMultiplier: 4
+  m_LightingDataAsset: {fileID: 0}
+  m_UseShadowmask: 1
+--- !u!196 &4
+NavMeshSettings:
+  serializedVersion: 2
+  m_ObjectHideFlags: 0
+  m_BuildSettings:
+    serializedVersion: 2
+    agentTypeID: 0
+    agentRadius: 0.5
+    agentHeight: 2
+    agentSlope: 45
+    agentClimb: 0.4
+    ledgeDropHeight: 0
+    maxJumpAcrossDistance: 0
+    minRegionArea: 2
+    manualCellSize: 0
+    cellSize: 0.16666667
+    manualTileSize: 0
+    tileSize: 256
+    accuratePlacement: 0
+    debug:
+      m_Flags: 0
+  m_NavMeshData: {fileID: 0}
+--- !u!1 &24340154
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 24340155}
+  - component: {fileID: 24340157}
+  - component: {fileID: 24340156}
+  m_Layer: 5
+  m_Name: Arrow
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &24340155
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 24340154}
+  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: 385375922}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 1, y: 0.5}
+  m_AnchorMax: {x: 1, y: 0.5}
+  m_AnchoredPosition: {x: -15, y: 0}
+  m_SizeDelta: {x: 20, y: 20}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &24340156
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 24340154}
+  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: 1}
+  m_RaycastTarget: 1
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 10915, guid: 0000000000000000f000000000000000, type: 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!222 &24340157
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 24340154}
+  m_CullTransparentMesh: 0
+--- !u!1 &151116792
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 151116795}
+  - component: {fileID: 151116794}
+  - component: {fileID: 151116793}
+  - component: {fileID: 151116796}
+  m_Layer: 0
+  m_Name: EventSystem
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &151116793
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 151116792}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_HorizontalAxis: Horizontal
+  m_VerticalAxis: Vertical
+  m_SubmitButton: Submit
+  m_CancelButton: Cancel
+  m_InputActionsPerSecond: 10
+  m_RepeatDelay: 0.5
+  m_ForceModuleActive: 0
+--- !u!114 &151116794
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 151116792}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_FirstSelected: {fileID: 0}
+  m_sendNavigationEvents: 1
+  m_DragThreshold: 10
+--- !u!4 &151116795
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 151116792}
+  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: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &151116796
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 151116792}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: c4c6d570cae1b2c4eab8cb8b53a8cca3, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  currentLanguageID: 0
+  languageFiles:
+  - {fileID: 4900000, guid: b40f72e6a4a750842acfc4a1461a113e, type: 3}
+  - {fileID: 4900000, guid: 1e27c568172cb1d45a279d7d32478044, type: 3}
+  languages: []
+--- !u!1 &162788457
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 162788458}
+  m_Layer: 5
+  m_Name: Content
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &162788458
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 162788457}
+  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: 439424582}
+  m_Father: {fileID: 2100062955}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 28}
+  m_Pivot: {x: 0.5, y: 1}
+--- !u!1 &197657296
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 197657299}
+  - component: {fileID: 197657298}
+  - component: {fileID: 197657297}
+  m_Layer: 0
+  m_Name: Main Camera
+  m_TagString: MainCamera
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!81 &197657297
+AudioListener:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 197657296}
+  m_Enabled: 1
+--- !u!20 &197657298
+Camera:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 197657296}
+  m_Enabled: 1
+  serializedVersion: 2
+  m_ClearFlags: 1
+  m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
+  m_projectionMatrixMode: 1
+  m_GateFitMode: 2
+  m_FOVAxisMode: 0
+  m_SensorSize: {x: 36, y: 24}
+  m_LensShift: {x: 0, y: 0}
+  m_FocalLength: 50
+  m_NormalizedViewPortRect:
+    serializedVersion: 2
+    x: 0
+    y: 0
+    width: 1
+    height: 1
+  near clip plane: 0.3
+  far clip plane: 1000
+  field of view: 60
+  orthographic: 1
+  orthographic size: 5
+  m_Depth: -1
+  m_CullingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+  m_RenderingPath: -1
+  m_TargetTexture: {fileID: 0}
+  m_TargetDisplay: 0
+  m_TargetEye: 3
+  m_HDR: 1
+  m_AllowMSAA: 1
+  m_AllowDynamicResolution: 0
+  m_ForceIntoRT: 0
+  m_OcclusionCulling: 1
+  m_StereoConvergence: 10
+  m_StereoSeparation: 0.022
+--- !u!4 &197657299
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 197657296}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: -10}
+  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}
+--- !u!1 &385375921
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 385375922}
+  - component: {fileID: 385375925}
+  - component: {fileID: 385375924}
+  - component: {fileID: 385375923}
+  m_Layer: 5
+  m_Name: Dropdown
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &385375922
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 385375921}
+  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: 574123283}
+  - {fileID: 24340155}
+  - {fileID: 511259596}
+  m_Father: {fileID: 857486655}
+  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: 0, y: 40}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &385375923
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 385375921}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 0d0b652f32a2cc243917e4028fa0f046, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+    m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+    m_ColorMultiplier: 1
+    m_FadeDuration: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_SelectedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_SelectedTrigger: Selected
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 385375924}
+  m_Template: {fileID: 511259596}
+  m_CaptionText: {fileID: 574123284}
+  m_CaptionImage: {fileID: 0}
+  m_ItemText: {fileID: 501700309}
+  m_ItemImage: {fileID: 0}
+  m_Value: 0
+  m_Options:
+    m_Options:
+    - m_Text: Option A
+      m_Image: {fileID: 0}
+    - m_Text: Option B
+      m_Image: {fileID: 0}
+    - m_Text: Option C
+      m_Image: {fileID: 0}
+  m_OnValueChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_AlphaFadeSpeed: 0.15
+--- !u!114 &385375924
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 385375921}
+  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: 1}
+  m_RaycastTarget: 1
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 10905, 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
+--- !u!222 &385375925
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 385375921}
+  m_CullTransparentMesh: 0
+--- !u!1 &416136642
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 416136643}
+  - component: {fileID: 416136644}
+  - component: {fileID: 416136645}
+  m_Layer: 5
+  m_Name: SettingsContent
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &416136643
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 416136642}
+  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: 857486655}
+  m_Father: {fileID: 1544262469}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0, y: 1}
+--- !u!114 &416136644
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 416136642}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_HorizontalFit: 0
+  m_VerticalFit: 2
+--- !u!114 &416136645
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 416136642}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Padding:
+    m_Left: 0
+    m_Right: 0
+    m_Top: 5
+    m_Bottom: 5
+  m_ChildAlignment: 0
+  m_Spacing: 5
+  m_ChildForceExpandWidth: 1
+  m_ChildForceExpandHeight: 1
+  m_ChildControlWidth: 1
+  m_ChildControlHeight: 0
+  m_ChildScaleWidth: 0
+  m_ChildScaleHeight: 0
+--- !u!1 &439424581
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 439424582}
+  - component: {fileID: 439424583}
+  m_Layer: 5
+  m_Name: Item
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &439424582
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 439424581}
+  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: 954355262}
+  - {fileID: 785251661}
+  - {fileID: 501700308}
+  m_Father: {fileID: 162788458}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0.5}
+  m_AnchorMax: {x: 1, y: 0.5}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 20}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &439424583
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 439424581}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+    m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+    m_ColorMultiplier: 1
+    m_FadeDuration: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_SelectedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_SelectedTrigger: Selected
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 954355263}
+  toggleTransition: 1
+  graphic: {fileID: 785251662}
+  m_Group: {fileID: 0}
+  onValueChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_IsOn: 1
+--- !u!1 &501700307
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 501700308}
+  - component: {fileID: 501700310}
+  - component: {fileID: 501700309}
+  m_Layer: 5
+  m_Name: Item Label
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &501700308
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 501700307}
+  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: 439424582}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 5, y: -0.5}
+  m_SizeDelta: {x: -30, y: -3}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &501700309
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 501700307}
+  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_Maskable: 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: 0
+    m_MinSize: 10
+    m_MaxSize: 40
+    m_Alignment: 3
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: Option A
+--- !u!222 &501700310
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 501700307}
+  m_CullTransparentMesh: 0
+--- !u!1 &511259595
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 511259596}
+  - component: {fileID: 511259599}
+  - component: {fileID: 511259598}
+  - component: {fileID: 511259597}
+  m_Layer: 5
+  m_Name: Template
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 0
+--- !u!224 &511259596
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 511259595}
+  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: 2100062955}
+  - {fileID: 1452439929}
+  m_Father: {fileID: 385375922}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 0}
+  m_AnchoredPosition: {x: 0, y: 2}
+  m_SizeDelta: {x: 0, y: 150}
+  m_Pivot: {x: 0.5, y: 1}
+--- !u!114 &511259597
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 511259595}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 1aa08ab6e0800fa44ae55d278d1423e3, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Content: {fileID: 162788458}
+  m_Horizontal: 0
+  m_Vertical: 1
+  m_MovementType: 2
+  m_Elasticity: 0.1
+  m_Inertia: 1
+  m_DecelerationRate: 0.135
+  m_ScrollSensitivity: 1
+  m_Viewport: {fileID: 2100062955}
+  m_HorizontalScrollbar: {fileID: 0}
+  m_VerticalScrollbar: {fileID: 1452439930}
+  m_HorizontalScrollbarVisibility: 0
+  m_VerticalScrollbarVisibility: 2
+  m_HorizontalScrollbarSpacing: 0
+  m_VerticalScrollbarSpacing: -3
+  m_OnValueChanged:
+    m_PersistentCalls:
+      m_Calls: []
+--- !u!114 &511259598
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 511259595}
+  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: 1}
+  m_RaycastTarget: 1
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 10905, 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
+--- !u!222 &511259599
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 511259595}
+  m_CullTransparentMesh: 0
+--- !u!1 &574123282
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 574123283}
+  - component: {fileID: 574123285}
+  - component: {fileID: 574123284}
+  m_Layer: 5
+  m_Name: Label
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &574123283
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 574123282}
+  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: 385375922}
+  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: -7.5, y: -0.5}
+  m_SizeDelta: {x: -35, y: -13}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &574123284
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 574123282}
+  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_Maskable: 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: 0
+    m_MinSize: 10
+    m_MaxSize: 40
+    m_Alignment: 3
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: Option A
+--- !u!222 &574123285
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 574123282}
+  m_CullTransparentMesh: 0
+--- !u!1 &608607443
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 608607447}
+  - component: {fileID: 608607446}
+  - component: {fileID: 608607445}
+  - component: {fileID: 608607444}
+  m_Layer: 5
+  m_Name: Canvas
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &608607444
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 608607443}
+  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!114 &608607445
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 608607443}
+  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!223 &608607446
+Canvas:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 608607443}
+  m_Enabled: 1
+  serializedVersion: 3
+  m_RenderMode: 0
+  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!224 &608607447
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 608607443}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 0, y: 0, z: 0}
+  m_Children:
+  - {fileID: 1599116449}
+  - {fileID: 740184090}
+  m_Father: {fileID: 0}
+  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: 0, y: 0}
+  m_Pivot: {x: 0, y: 0}
+--- !u!1 &740184089
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 740184090}
+  - component: {fileID: 740184092}
+  - component: {fileID: 740184091}
+  - component: {fileID: 740184093}
+  m_Layer: 5
+  m_Name: SettingsPanel
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &740184090
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 740184089}
+  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: 1167717085}
+  m_Father: {fileID: 608607447}
+  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: -20}
+  m_SizeDelta: {x: 0, y: -40}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &740184091
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 740184089}
+  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_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
+--- !u!222 &740184092
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 740184089}
+  m_CullTransparentMesh: 0
+--- !u!114 &740184093
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 740184089}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: f5279f2c394f54d4e9fce94960c1036a, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  LangaugeSelectBox: {fileID: 385375921}
+--- !u!1 &785251660
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 785251661}
+  - component: {fileID: 785251663}
+  - component: {fileID: 785251662}
+  m_Layer: 5
+  m_Name: Item Checkmark
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &785251661
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 785251660}
+  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: 439424582}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0.5}
+  m_AnchorMax: {x: 0, y: 0.5}
+  m_AnchoredPosition: {x: 10, y: 0}
+  m_SizeDelta: {x: 20, y: 20}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &785251662
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 785251660}
+  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: 1}
+  m_RaycastTarget: 1
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 10901, guid: 0000000000000000f000000000000000, type: 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!222 &785251663
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 785251660}
+  m_CullTransparentMesh: 0
+--- !u!1 &838882217
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 838882218}
+  - component: {fileID: 838882220}
+  - component: {fileID: 838882219}
+  m_Layer: 5
+  m_Name: Handle
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &838882218
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 838882217}
+  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: 1510267627}
+  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: 20, y: 20}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &838882219
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 838882217}
+  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: 1}
+  m_RaycastTarget: 1
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 10905, 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
+--- !u!222 &838882220
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 838882217}
+  m_CullTransparentMesh: 0
+--- !u!1 &857486654
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 857486655}
+  - component: {fileID: 857486658}
+  - component: {fileID: 857486657}
+  - component: {fileID: 857486656}
+  m_Layer: 5
+  m_Name: LanguageSetting
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &857486655
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 857486654}
+  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: 1785634849}
+  - {fileID: 385375922}
+  m_Father: {fileID: 416136643}
+  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: 50}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &857486656
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 857486654}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Padding:
+    m_Left: 20
+    m_Right: 20
+    m_Top: 5
+    m_Bottom: 5
+  m_ChildAlignment: 0
+  m_Spacing: 20
+  m_ChildForceExpandWidth: 1
+  m_ChildForceExpandHeight: 1
+  m_ChildControlWidth: 1
+  m_ChildControlHeight: 0
+  m_ChildScaleWidth: 0
+  m_ChildScaleHeight: 0
+--- !u!114 &857486657
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 857486654}
+  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_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
+--- !u!222 &857486658
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 857486654}
+  m_CullTransparentMesh: 0
+--- !u!1 &954355261
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 954355262}
+  - component: {fileID: 954355264}
+  - component: {fileID: 954355263}
+  m_Layer: 5
+  m_Name: Item Background
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &954355262
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 954355261}
+  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: 439424582}
+  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!114 &954355263
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 954355261}
+  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.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+  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!222 &954355264
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 954355261}
+  m_CullTransparentMesh: 0
+--- !u!1 &1167717084
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1167717085}
+  - component: {fileID: 1167717088}
+  - component: {fileID: 1167717087}
+  - component: {fileID: 1167717086}
+  m_Layer: 5
+  m_Name: Scroll View
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1167717085
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1167717084}
+  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: 1544262469}
+  - {fileID: 1991428791}
+  m_Father: {fileID: 740184090}
+  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!114 &1167717086
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1167717084}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 1aa08ab6e0800fa44ae55d278d1423e3, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Content: {fileID: 416136643}
+  m_Horizontal: 0
+  m_Vertical: 1
+  m_MovementType: 1
+  m_Elasticity: 0.1
+  m_Inertia: 1
+  m_DecelerationRate: 0.135
+  m_ScrollSensitivity: 1
+  m_Viewport: {fileID: 1544262469}
+  m_HorizontalScrollbar: {fileID: 0}
+  m_VerticalScrollbar: {fileID: 1991428792}
+  m_HorizontalScrollbarVisibility: 2
+  m_VerticalScrollbarVisibility: 2
+  m_HorizontalScrollbarSpacing: -3
+  m_VerticalScrollbarSpacing: -3
+  m_OnValueChanged:
+    m_PersistentCalls:
+      m_Calls: []
+--- !u!114 &1167717087
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1167717084}
+  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_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
+--- !u!222 &1167717088
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1167717084}
+  m_CullTransparentMesh: 0
+--- !u!1 &1331956355
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1331956356}
+  m_Layer: 5
+  m_Name: Sliding Area
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1331956356
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1331956355}
+  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: 1793177488}
+  m_Father: {fileID: 1452439929}
+  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: -20, y: -20}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!1 &1452439928
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1452439929}
+  - component: {fileID: 1452439932}
+  - component: {fileID: 1452439931}
+  - component: {fileID: 1452439930}
+  m_Layer: 5
+  m_Name: Scrollbar
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1452439929
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1452439928}
+  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: 1331956356}
+  m_Father: {fileID: 511259596}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 1, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 20, y: 0}
+  m_Pivot: {x: 1, y: 1}
+--- !u!114 &1452439930
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1452439928}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 2a4db7a114972834c8e4117be1d82ba3, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+    m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+    m_ColorMultiplier: 1
+    m_FadeDuration: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_SelectedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_SelectedTrigger: Selected
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 1793177489}
+  m_HandleRect: {fileID: 1793177488}
+  m_Direction: 2
+  m_Value: 0
+  m_Size: 0.2
+  m_NumberOfSteps: 0
+  m_OnValueChanged:
+    m_PersistentCalls:
+      m_Calls: []
+--- !u!114 &1452439931
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1452439928}
+  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: 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
+--- !u!222 &1452439932
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1452439928}
+  m_CullTransparentMesh: 0
+--- !u!1 &1510267626
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1510267627}
+  m_Layer: 5
+  m_Name: Sliding Area
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1510267627
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1510267626}
+  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: 838882218}
+  m_Father: {fileID: 1991428791}
+  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: -20, y: -20}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!1 &1544262468
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1544262469}
+  - component: {fileID: 1544262472}
+  - component: {fileID: 1544262471}
+  - component: {fileID: 1544262470}
+  m_Layer: 5
+  m_Name: Viewport
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1544262469
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1544262468}
+  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: 416136643}
+  m_Father: {fileID: 1167717085}
+  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, y: 1}
+--- !u!114 &1544262470
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1544262468}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 31a19414c41e5ae4aae2af33fee712f6, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_ShowMaskGraphic: 0
+--- !u!114 &1544262471
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1544262468}
+  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: 1}
+  m_RaycastTarget: 1
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 10917, 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
+--- !u!222 &1544262472
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1544262468}
+  m_CullTransparentMesh: 0
+--- !u!1001 &1599116448
+PrefabInstance:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    m_TransformParent: {fileID: 608607447}
+    m_Modifications:
+    - target: {fileID: 2044112020052062420, guid: c2ef781d224545542bbff67376813712,
+        type: 3}
+      propertyPath: m_SizeDelta.x
+      value: 200
+      objectReference: {fileID: 0}
+    - target: {fileID: 2044112020052062420, guid: c2ef781d224545542bbff67376813712,
+        type: 3}
+      propertyPath: m_AnchoredPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 6032201715164675884, guid: c2ef781d224545542bbff67376813712,
+        type: 3}
+      propertyPath: m_Name
+      value: InformationPanel
+      objectReference: {fileID: 0}
+    - target: {fileID: 6032201715164675891, guid: c2ef781d224545542bbff67376813712,
+        type: 3}
+      propertyPath: m_LocalPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 6032201715164675891, guid: c2ef781d224545542bbff67376813712,
+        type: 3}
+      propertyPath: m_LocalPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 6032201715164675891, guid: c2ef781d224545542bbff67376813712,
+        type: 3}
+      propertyPath: m_LocalPosition.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 6032201715164675891, guid: c2ef781d224545542bbff67376813712,
+        type: 3}
+      propertyPath: m_LocalRotation.x
+      value: -0
+      objectReference: {fileID: 0}
+    - target: {fileID: 6032201715164675891, guid: c2ef781d224545542bbff67376813712,
+        type: 3}
+      propertyPath: m_LocalRotation.y
+      value: -0
+      objectReference: {fileID: 0}
+    - target: {fileID: 6032201715164675891, guid: c2ef781d224545542bbff67376813712,
+        type: 3}
+      propertyPath: m_LocalRotation.z
+      value: -0
+      objectReference: {fileID: 0}
+    - target: {fileID: 6032201715164675891, guid: c2ef781d224545542bbff67376813712,
+        type: 3}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 6032201715164675891, guid: c2ef781d224545542bbff67376813712,
+        type: 3}
+      propertyPath: m_RootOrder
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 6032201715164675891, guid: c2ef781d224545542bbff67376813712,
+        type: 3}
+      propertyPath: m_LocalEulerAnglesHint.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 6032201715164675891, guid: c2ef781d224545542bbff67376813712,
+        type: 3}
+      propertyPath: m_LocalEulerAnglesHint.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 6032201715164675891, guid: c2ef781d224545542bbff67376813712,
+        type: 3}
+      propertyPath: m_LocalEulerAnglesHint.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 6032201715164675891, guid: c2ef781d224545542bbff67376813712,
+        type: 3}
+      propertyPath: m_AnchoredPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 6032201715164675891, guid: c2ef781d224545542bbff67376813712,
+        type: 3}
+      propertyPath: m_AnchoredPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 6032201715164675891, guid: c2ef781d224545542bbff67376813712,
+        type: 3}
+      propertyPath: m_SizeDelta.x
+      value: 1280
+      objectReference: {fileID: 0}
+    - target: {fileID: 6032201715164675891, guid: c2ef781d224545542bbff67376813712,
+        type: 3}
+      propertyPath: m_SizeDelta.y
+      value: 40
+      objectReference: {fileID: 0}
+    - target: {fileID: 6032201715164675891, guid: c2ef781d224545542bbff67376813712,
+        type: 3}
+      propertyPath: m_AnchorMin.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 6032201715164675891, guid: c2ef781d224545542bbff67376813712,
+        type: 3}
+      propertyPath: m_AnchorMin.y
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 6032201715164675891, guid: c2ef781d224545542bbff67376813712,
+        type: 3}
+      propertyPath: m_AnchorMax.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 6032201715164675891, guid: c2ef781d224545542bbff67376813712,
+        type: 3}
+      propertyPath: m_AnchorMax.y
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 6032201715164675891, guid: c2ef781d224545542bbff67376813712,
+        type: 3}
+      propertyPath: m_Pivot.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 6032201715164675891, guid: c2ef781d224545542bbff67376813712,
+        type: 3}
+      propertyPath: m_Pivot.y
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 6032201715164675895, guid: c2ef781d224545542bbff67376813712,
+        type: 3}
+      propertyPath: backButtonVisible
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 6032201715164675895, guid: c2ef781d224545542bbff67376813712,
+        type: 3}
+      propertyPath: quitButtonVisible
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 6032201715164675895, guid: c2ef781d224545542bbff67376813712,
+        type: 3}
+      propertyPath: logoutButtonVisible
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 6032201715164675895, guid: c2ef781d224545542bbff67376813712,
+        type: 3}
+      propertyPath: settingsButtonVisible
+      value: 0
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+  m_SourcePrefab: {fileID: 100100000, guid: c2ef781d224545542bbff67376813712, type: 3}
+--- !u!224 &1599116449 stripped
+RectTransform:
+  m_CorrespondingSourceObject: {fileID: 6032201715164675891, guid: c2ef781d224545542bbff67376813712,
+    type: 3}
+  m_PrefabInstance: {fileID: 1599116448}
+  m_PrefabAsset: {fileID: 0}
+--- !u!1 &1785634848
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1785634849}
+  - component: {fileID: 1785634851}
+  - component: {fileID: 1785634850}
+  m_Layer: 5
+  m_Name: Text
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1785634849
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1785634848}
+  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: 857486655}
+  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: 40}
+  m_Pivot: {x: 0, y: 0.5}
+--- !u!114 &1785634850
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1785634848}
+  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_Maskable: 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: 0
+    m_MinSize: 10
+    m_MaxSize: 40
+    m_Alignment: 3
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: Language
+--- !u!222 &1785634851
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1785634848}
+  m_CullTransparentMesh: 0
+--- !u!1 &1793177487
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1793177488}
+  - component: {fileID: 1793177490}
+  - component: {fileID: 1793177489}
+  m_Layer: 5
+  m_Name: Handle
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1793177488
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1793177487}
+  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: 1331956356}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 0.2}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 20, y: 20}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1793177489
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1793177487}
+  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: 1}
+  m_RaycastTarget: 1
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 10905, 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
+--- !u!222 &1793177490
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1793177487}
+  m_CullTransparentMesh: 0
+--- !u!1 &1991428790
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1991428791}
+  - component: {fileID: 1991428794}
+  - component: {fileID: 1991428793}
+  - component: {fileID: 1991428792}
+  m_Layer: 5
+  m_Name: Scrollbar Vertical
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1991428791
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1991428790}
+  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: 1510267627}
+  m_Father: {fileID: 1167717085}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 1, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 20, y: -17}
+  m_Pivot: {x: 1, y: 1}
+--- !u!114 &1991428792
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1991428790}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 2a4db7a114972834c8e4117be1d82ba3, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+    m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+    m_ColorMultiplier: 1
+    m_FadeDuration: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_SelectedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_SelectedTrigger: Selected
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 838882219}
+  m_HandleRect: {fileID: 838882218}
+  m_Direction: 2
+  m_Value: 0
+  m_Size: 1
+  m_NumberOfSteps: 0
+  m_OnValueChanged:
+    m_PersistentCalls:
+      m_Calls: []
+--- !u!114 &1991428793
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1991428790}
+  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: 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
+--- !u!222 &1991428794
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1991428790}
+  m_CullTransparentMesh: 0
+--- !u!1 &2100062954
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 2100062955}
+  - component: {fileID: 2100062958}
+  - component: {fileID: 2100062957}
+  - component: {fileID: 2100062956}
+  m_Layer: 5
+  m_Name: Viewport
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &2100062955
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2100062954}
+  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: 162788458}
+  m_Father: {fileID: 511259596}
+  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: -18, y: 0}
+  m_Pivot: {x: 0, y: 1}
+--- !u!114 &2100062956
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2100062954}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 31a19414c41e5ae4aae2af33fee712f6, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_ShowMaskGraphic: 0
+--- !u!114 &2100062957
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2100062954}
+  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: 1}
+  m_RaycastTarget: 1
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 10917, 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
+--- !u!222 &2100062958
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2100062954}
+  m_CullTransparentMesh: 0

+ 7 - 0
Assets/Scenes/Settings.unity.meta

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

File diff suppressed because it is too large
+ 374 - 411
Assets/Scenes/User.unity


File diff suppressed because it is too large
+ 134 - 607
Assets/Scenes/narKampen.unity


+ 14 - 0
Assets/Scripts/Constants.cs

@@ -0,0 +1,14 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public static class Constants
+{
+    public const string ONLINE = "Online";
+    public const string LOCAL = "Local";
+    public const string GAME_MODE = "GameMode";
+    public const string GAME_ID = "GameId";
+    public const string GAME_QUESTION_TIMER = "QuestionTimer";
+    public const string GAME_TO_WIN = "NeededToWin";
+    public const string SCENE_NAR_KAMPEN = "narKampen";
+}

+ 11 - 0
Assets/Scripts/Constants.cs.meta

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

+ 41 - 22
Assets/Scripts/Database/Database.cs

@@ -34,7 +34,7 @@ public class Database : MonoBehaviour {
     IDbConnection conn;
 
     internal void GetCategories(List<CategoryPanel.Category> list, string gameMode, int gameId) {
-        if (gameMode.Equals("Online")) {
+        if (gameMode.Equals(Constants.ONLINE)) {
             OnlineDatabase.Instance.GetCategories(list, gameId);
         } else {
             //string sql = "SELECT name, r, g, b, a, id FROM category";
@@ -135,7 +135,7 @@ public class Database : MonoBehaviour {
     }
 
     internal void SetLastPlayedDate(int gameId) {
-        if (gameMode.Equals("Online")) {
+        if (gameMode.Equals(Constants.ONLINE)) {
 
         }
         string sql = "UPDATE game SET lastPlayedDate = DATE() WHERE id = " + gameId;
@@ -157,7 +157,7 @@ public class Database : MonoBehaviour {
 
     private IDbCommand GetConnection() {
         if (databaseUrl == null) { // ej bra lösning för online
-            SetLocalOrOnline("Local");
+            SetLocalOrOnline(Constants.LOCAL);
         }
         conn = new SqliteConnection(databaseUrl);
         conn.Open();
@@ -187,7 +187,7 @@ public class Database : MonoBehaviour {
         }
 
         if (databaseUrl == null || databaseUrl.Equals("")) {
-            SetLocalOrOnline("Local"); // Temporary, should not be needed after local testing
+            SetLocalOrOnline(Constants.LOCAL); // Temporary, should not be needed after local testing
         }
     }
 
@@ -211,7 +211,7 @@ public class Database : MonoBehaviour {
 
     internal void SetGameFinished(int gameId, string gameMode)
     {
-        if (gameMode.Equals("Online")) {
+        if (gameMode.Equals(Constants.ONLINE)) {
             OnlineDatabase.Instance.SetGameFinished(gameId, gameMode);
         } else {
             string sql = "UPDATE game SET finishedDate = DATETIME() WHERE id = " + gameId;
@@ -271,7 +271,7 @@ public class Database : MonoBehaviour {
         if (questionTimer == -1) {
             string sql = "SELECT answerTimer FROM game WHERE id = " + gameId;
             if (databaseUrl == null) {
-                SetLocalOrOnline("Local");
+                SetLocalOrOnline(Constants.LOCAL);
             }
             IDbCommand cmd = GetConnection();
             cmd.CommandText = sql;
@@ -336,6 +336,25 @@ public class Database : MonoBehaviour {
         return games;
     }
 
+    internal void IncreasePlayerRound(int gameId, string currentPlayer) {
+        
+        if (gameMode.Equals(Constants.ONLINE)) {
+            OnlineDatabase.Instance.IncreasePlayerRound(gameId, currentPlayer);
+        } else {
+            String sql = "UPDATE localGamePlayers SET playerRound = playerRound + 1 WHERE gameId = " + gameId + " AND playerId = (SELECT id FROM localUsers WHERE name = '" + currentPlayer + "')";
+            IDbConnection conn = new SqliteConnection(databaseUrl);
+            conn.Open();
+            IDbCommand cmd = conn.CreateCommand();
+            cmd.CommandText = sql;
+
+            cmd.ExecuteNonQuery();
+
+            cmd.Dispose();
+            conn.Close();
+        }
+
+    }
+
     internal void SetQuestionsLost(int gameId, string playerName, int questionsLost) {
 
         string sql = "UPDATE localGamePlayers SET questionsLost = questionsLost + " + questionsLost + " WHERE gameId = " + gameId + " AND playerId = (SELECT id FROM localUsers WHERE  name = '" + playerName + "')";
@@ -370,7 +389,7 @@ public class Database : MonoBehaviour {
     }
 
     public string GetCurrentPlayer(int gameId, string gameMode) {
-        if (gameMode.Equals("Online")) {
+        if (gameMode.Equals(Constants.ONLINE)) {
             return OnlineDatabase.Instance.GetCurrentPlayer(gameId);
         }
         string sql = "SELECT currentPlayer FROM game WHERE id = " + gameId;
@@ -392,7 +411,7 @@ public class Database : MonoBehaviour {
     }
 
     public void SetCurrentPlayer(int gameId, string currentPlayer, string gameMode) {
-        if (gameMode.Equals("Online")) {
+        if (gameMode.Equals(Constants.ONLINE)) {
             OnlineDatabase.Instance.SetCurrentPlayer(gameId, currentPlayer);
         } else {
             string sql = "UPDATE game SET currentPlayer = '" + currentPlayer + "' WHERE id = " + gameId;
@@ -427,7 +446,7 @@ public class Database : MonoBehaviour {
     }
 
     internal void SetFinishedDate(int gameId, string finishedDate, string gameMode) {
-        if (gameMode.Equals("Online")) {
+        if (gameMode.Equals(Constants.ONLINE)) {
             OnlineDatabase.Instance.SetFinishedDate(gameId, finishedDate);
         } else {
             string sql = "UPDATE game SET finishedDate = '" + finishedDate + "' WHERE id = " + gameId;
@@ -443,7 +462,7 @@ public class Database : MonoBehaviour {
     }
 
     internal void SetRoundValue(int gameId, int round, string gameMode) {
-        if (gameMode.Equals("Online")) {
+        if (gameMode.Equals(Constants.ONLINE)) {
             OnlineDatabase.Instance.SetRoundValue(gameId, round);
         } else {
             string sql = "UPDATE game SET round = " + round + " WHERE id = " + gameId;
@@ -459,11 +478,11 @@ public class Database : MonoBehaviour {
     }
 
     internal int GetRoundValue(int gameId, string gameMode) {
-        if (gameMode.Equals("Online")) {
+        if (gameMode.Equals(Constants.ONLINE)) {
             return OnlineDatabase.Instance.GetRoundValue(gameId);
         }
         if (this.round == -1) {
-            SetLocalOrOnline("Local");
+            SetLocalOrOnline(Constants.LOCAL);
             string sql = "SELECT round FROM game WHERE id = " + gameId;
             IDbConnection conn = new SqliteConnection(databaseUrl);
             conn.Open();
@@ -481,7 +500,7 @@ public class Database : MonoBehaviour {
     }
 
     internal List<KeyValuePair<string, int>> GetPlayersForGame(int gameId, string gameMode) {
-        if (gameMode.Equals("Online")) {
+        if (gameMode.Equals(Constants.ONLINE)) {
             return OnlineDatabase.Instance.GetPlayersForGame(gameId);
         }
         string sql = "SELECT name, (SELECT count(*) FROM usersLockedQuestions WHERE playerName = localUsers.name AND gameId = " + gameId + ") as numAnswers  FROM localGamePlayers " +
@@ -509,7 +528,7 @@ public class Database : MonoBehaviour {
 
     public void SetLocalOrOnline(string type) {
         gameMode = type;
-        if (type.Equals("Local")) {
+        if (type.Equals(Constants.LOCAL)) {
             string databaseName = "narKampenLocal.db";
             if (Application.platform == RuntimePlatform.Android) {
                 databaseUrl = Application.persistentDataPath + "/" + databaseName;
@@ -532,7 +551,7 @@ public class Database : MonoBehaviour {
     }
 
     internal int GetQuestionsLost(int gameId, string playerName, string gameMode) {
-        if (gameMode.Equals("Online")) {
+        if (gameMode.Equals(Constants.ONLINE)) {
             return OnlineDatabase.Instance.GetQuestionsLost(gameId, playerName);
         }
         string sql = "SELECT questionsLost FROM localGamePlayers WHERE gameId = " + gameId + " AND playerId = (SELECT id from localUsers WHERE name = '" + playerName + "')";
@@ -606,7 +625,7 @@ public class Database : MonoBehaviour {
             reader.Close();
 
             LinkPlayerToGame(playerId, gameId);
-            SavePlayersQuestion(l, player, gameId, "Local");
+            SavePlayersQuestion(l, player, gameId, Constants.LOCAL);
 
         }
         IDbCommand cmd2 = conn.CreateCommand();
@@ -628,7 +647,7 @@ public class Database : MonoBehaviour {
     }
 
     internal int GetWinCondition(int gameId, string gameMode) {
-        if (gameMode.Equals("Online")) {
+        if (gameMode.Equals(Constants.ONLINE)) {
             return OnlineDatabase.Instance.GetWinCondition(gameId);
         }
         if (winAmount == -1) {
@@ -663,7 +682,7 @@ public class Database : MonoBehaviour {
     }
 
     public NewQuestionData GetNewQuestion(List<int> userAnsweredQuestions, KeyValuePair<int, String> user, string gameMode) {
-        if (gameMode.Equals("Online")) {
+        if (gameMode.Equals(Constants.ONLINE)) {
             return OnlineDatabase.Instance.GetNewQuestion(userAnsweredQuestions, user.Key);
         }
         int gameId = GameObject.Find("GameManager").GetComponent<GameManagerScript>().GameId;
@@ -675,7 +694,7 @@ public class Database : MonoBehaviour {
         int id = -1;
         int categoryId = -1;
         string categoryName = "";
-        if (connectionType == "Local") {
+        if (connectionType == Constants.LOCAL) {
             IDbConnection conn = new SqliteConnection(databaseUrl);
             conn.Open();
             IDbCommand cmd = conn.CreateCommand();
@@ -720,7 +739,7 @@ public class Database : MonoBehaviour {
     }
 
     public void SavePlayersQuestion(List<int> questionsToSave, string playerNameValue, int gameId, string gameMode) {
-        if (gameMode.Equals("Online")) {
+        if (gameMode.Equals(Constants.ONLINE)) {
             OnlineDatabase.Instance.SavePlayersQuestion(questionsToSave, playerNameValue, gameId);
         } else { 
             SetLocalOrOnline(gameMode);
@@ -744,7 +763,7 @@ public class Database : MonoBehaviour {
     }
 
     public List<NewQuestionData> GetPlayerQuestions(int gameId, string playerNameValue, string gameMode) {
-        if (gameMode.Equals("Online")) {
+        if (gameMode.Equals(Constants.ONLINE)) {
             return OnlineDatabase.Instance.GetPlayerQuestions(gameId, playerNameValue);
         }
         if (databaseUrl == null) {
@@ -752,7 +771,7 @@ public class Database : MonoBehaviour {
         }
         List<NewQuestionData> questions = new List<NewQuestionData>();
 
-        if (connectionType.Equals("Local")) {
+        if (connectionType.Equals(Constants.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";
             IDbConnection conn = new SqliteConnection(databaseUrl);
             conn.Open();

+ 39 - 31
Assets/Scripts/Database/OnlineDatabase.cs

@@ -27,7 +27,7 @@ public class OnlineDatabase : MonoBehaviour {
 
     internal List<CategoryPanel.Category> GetCategories(List<CategoryPanel.Category> list, int gameId) {
         WWWForm form = new WWWForm();
-        form.AddField("gameId", gameId);
+        form.AddField(Constants.GAME_ID, gameId);
 
         string response = CallOnlineDatabaseWithResponse("Categories.php", form);
 
@@ -221,7 +221,7 @@ public class OnlineDatabase : MonoBehaviour {
         string title = LocalizationManager.Instance.GetText("GAME_OVER_TITLE"); 
 
         WWWForm form = new WWWForm();
-        form.AddField("gameId", gameId);
+        form.AddField(Constants.GAME_ID, gameId);
         form.AddField("message", message);
         form.AddField("title", title);
         form.AddField("winningPlayer", currentPlayer);
@@ -244,7 +244,7 @@ public class OnlineDatabase : MonoBehaviour {
     internal void SetLastPlayedDate(int gameId) {
 
         WWWForm form = new WWWForm();
-        form.AddField("gameId", gameId);
+        form.AddField(Constants.GAME_ID, gameId);
         form.AddField("f", "SetLastPlayed");
         string response = CallOnlineDatabaseWithResponse("OnlineGames.php", form);
 
@@ -256,7 +256,7 @@ public class OnlineDatabase : MonoBehaviour {
     internal void SetGameFinished(int gameId, string gameMode)
     {
         WWWForm formData = new WWWForm();
-        formData.AddField("gameId", gameId);
+        formData.AddField(Constants.GAME_ID, gameId);
         formData.AddField("f", "GameFinished");
 
         CallDatabase("OnlineGames.php", formData);
@@ -266,7 +266,7 @@ public class OnlineDatabase : MonoBehaviour {
         WWWForm formData = new WWWForm();
         formData.AddField("userId", -1);
         formData.AddField("f", "decline");
-        formData.AddField("gameId", gameId);
+        formData.AddField(Constants.GAME_ID, gameId);
         formData.AddField("userName", userName);
 
         CallDatabase("OnlineGames.php", formData);
@@ -276,7 +276,7 @@ public class OnlineDatabase : MonoBehaviour {
         WWWForm formData = new WWWForm();
         formData.AddField("userId", -1);
         formData.AddField("f", "accept");
-        formData.AddField("gameId", gameId);
+        formData.AddField(Constants.GAME_ID, gameId);
         formData.AddField("userName", userName);
 
         string response = CallOnlineDatabaseWithResponse("OnlineGames.php", formData);
@@ -291,7 +291,7 @@ public class OnlineDatabase : MonoBehaviour {
         WWWForm formData = new WWWForm();
         formData.AddField("userId", userId);
         formData.AddField("f", "list");
-        formData.AddField("gameId", -1);
+        formData.AddField(Constants.GAME_ID, -1);
         formData.AddField("userName", userName);
 
         string response = CallOnlineDatabaseWithResponse("OnlineGames.php", formData);
@@ -354,11 +354,11 @@ public class OnlineDatabase : MonoBehaviour {
 
     private void SetGameStatus(OnlineGameScript ogs, KeyValuePair<int, string> signedInUser, OnlineGame game) {
         if (game.currentPlayer.Equals(signedInUser.Key.ToString())) {
-            if (game.status.Equals("ACTIVE")) {
-                ogs.SetGameStatus("YOUR_TURN");
-            } else if (game.status.Equals("PENDING")) {
+            if (game.status.Equals(OnlineGameScript.GAME_STATUS_ACTIVE)) {
+                ogs.SetGameStatus(OnlineGameScript.GAME_STATUS_YOUR_TURN);
+            } else if (game.status.Equals(OnlineGameScript.GAME_STATUS_PENDING)) {
                 if (game.userId.Equals(signedInUser.Key.ToString()) && game.playerStatus.Equals("WAITING")) {
-                    ogs.SetGameStatus("INVITED");
+                    ogs.SetGameStatus(OnlineGameScript.GAME_STATUS_INVITED);
                 }
             }
         } else {
@@ -366,10 +366,10 @@ public class OnlineDatabase : MonoBehaviour {
                 if (game.currentPlayer.Equals(game.userId)) {
                     ogs.CurrentPlayer = game.username;
                 }
-                ogs.SetGameStatus("OTHERS_TURN");
-            } else if (game.status.Equals("PENDING")) {
+                ogs.SetGameStatus(OnlineGameScript.GAME_STATUS_OTHERS_TURN);
+            } else if (game.status.Equals(OnlineGameScript.GAME_STATUS_PENDING)) {
                 if (game.userId.Equals(signedInUser.Key.ToString()) && game.playerStatus.Equals("WAITING")) {
-                    ogs.SetGameStatus("INVITED");
+                    ogs.SetGameStatus(OnlineGameScript.GAME_STATUS_INVITED);
                 } 
             }
         }
@@ -390,7 +390,7 @@ public class OnlineDatabase : MonoBehaviour {
 
         WWWForm form = new WWWForm();
         form.AddField("f", "GetGameInfo");
-        form.AddField("gameId", gameId);
+        form.AddField(Constants.GAME_ID, gameId);
 
         string response = CallOnlineDatabaseWithResponse("OnlineGameInfo.php", form);
 
@@ -411,7 +411,7 @@ public class OnlineDatabase : MonoBehaviour {
         form.AddField("f", "SetQuestionsLost");
         form.AddField("questionsLost", questionsLost);
         form.AddField("userName", playerName);
-        form.AddField("gameId", gameId);
+        form.AddField(Constants.GAME_ID, gameId);
 
         string response = CallOnlineDatabaseWithResponse("OnlineGames.php", form);
 
@@ -419,11 +419,19 @@ public class OnlineDatabase : MonoBehaviour {
             Debug.Log(response);
         }
     }
+    internal void IncreasePlayerRound(int gameId, string currentPlayer) {
+        WWWForm form = new WWWForm();
+        form.AddField("player",currentPlayer);
+        form.AddField(Constants.GAME_ID, gameId);
+        form.AddField("f", "IncreasePlayerRound");
+
+        CallDatabase("OnlineGames.php", form);
+    }
 
     internal void RemoveGame(int gameId) {
         WWWForm form = new WWWForm();
         form.AddField("f", "DeleteGame");
-        form.AddField("gameId", gameId);
+        form.AddField(Constants.GAME_ID, gameId);
 
         string response = CallOnlineDatabaseWithResponse("OnlineGames.php", form);
 
@@ -435,7 +443,7 @@ public class OnlineDatabase : MonoBehaviour {
     public string GetCurrentPlayer(int gameId) {
         WWWForm form = new WWWForm();
         form.AddField("f", "CurrentPlayer");
-        form.AddField("gameId", gameId);
+        form.AddField(Constants.GAME_ID, gameId);
 
         string response = CallOnlineDatabaseWithResponse("OnlineGames.php", form);
         if (response.Equals("")) {
@@ -447,7 +455,7 @@ public class OnlineDatabase : MonoBehaviour {
     public void SetCurrentPlayer(int gameId, string currentPlayer) {
         WWWForm form = new WWWForm();
         form.AddField("f", "SetCurrentPlayer");
-        form.AddField("gameId", gameId);
+        form.AddField(Constants.GAME_ID, gameId);
         form.AddField("userName", currentPlayer);
 
         string response = CallOnlineDatabaseWithResponse("OnlineGames.php", form);
@@ -461,7 +469,7 @@ public class OnlineDatabase : MonoBehaviour {
     internal int GetPlayerPoints(int gameId, string playerName) {
         WWWForm form = new WWWForm();
         form.AddField("f", "GetPlayerPoints");
-        form.AddField("gameId", gameId);
+        form.AddField(Constants.GAME_ID, gameId);
         form.AddField("userName", playerName);
 
         string response = CallOnlineDatabaseWithResponse("OnlineGames.php", form);
@@ -475,7 +483,7 @@ public class OnlineDatabase : MonoBehaviour {
     internal void SetFinishedDate(int gameId, string finishedDate) {
         WWWForm form = new WWWForm();
         form.AddField("f", "SetFinishedDate");
-        form.AddField("gameId", gameId);
+        form.AddField(Constants.GAME_ID, gameId);
         form.AddField("finishedDate", finishedDate);
 
         string response = CallOnlineDatabaseWithResponse("OnlineGames.php", form);
@@ -488,7 +496,7 @@ public class OnlineDatabase : MonoBehaviour {
     internal void SetRoundValue(int gameId, int round) {
         WWWForm form = new WWWForm();
         form.AddField("f", "SetRound");
-        form.AddField("gameId", gameId);
+        form.AddField(Constants.GAME_ID, gameId);
         form.AddField("round", round);
 
         string response = CallOnlineDatabaseWithResponse("OnlineGames.php", form);
@@ -501,7 +509,7 @@ public class OnlineDatabase : MonoBehaviour {
     internal int GetRoundValue(int gameId) {
         WWWForm form = new WWWForm();
         form.AddField("f", "GetRound");
-        form.AddField("gameId", gameId);
+        form.AddField(Constants.GAME_ID, gameId);
 
         string response = CallOnlineDatabaseWithResponse("OnlineGames.php", form);
         if (response.Equals("")) {
@@ -514,7 +522,7 @@ public class OnlineDatabase : MonoBehaviour {
     internal List<KeyValuePair<string, int>> GetPlayersForGame(int gameId) { // TODO update with new class GamePlayers as return
         WWWForm form = new WWWForm();
         form.AddField("f", "GetPlayers");
-        form.AddField("gameId", gameId);
+        form.AddField(Constants.GAME_ID, gameId);
 
         string response = CallOnlineDatabaseWithResponse("OnlineGames.php", form);
         if (response.Equals("")) {
@@ -543,7 +551,7 @@ public class OnlineDatabase : MonoBehaviour {
         WWWForm form = new WWWForm();
         form.AddField("f", "GetQuestionsLost");
         form.AddField("userName", playerName);
-        form.AddField("gameId", gameId);
+        form.AddField(Constants.GAME_ID, gameId);
 
         string response = CallOnlineDatabaseWithResponse("OnlineGames.php", form);
         if (response.Equals("")) {
@@ -556,7 +564,7 @@ public class OnlineDatabase : MonoBehaviour {
     internal int GetWinCondition(int gameId) {
         if (winAmount == -1) {
             WWWForm form = new WWWForm();
-            form.AddField("gameId", gameId);
+            form.AddField(Constants.GAME_ID, gameId);
             form.AddField("f", "GetWinCondition");
 
             string response = CallOnlineDatabaseWithResponse("OnlineGames.php", form);
@@ -587,7 +595,7 @@ public class OnlineDatabase : MonoBehaviour {
     public void SavePlayersQuestion(List<int> questionsToSave, string playerNameValue, int gameId) {
         WWWForm form = new WWWForm();
         form.AddField("f", "SavePlayerQuestions");
-        form.AddField("gameId", gameId);
+        form.AddField(Constants.GAME_ID, gameId);
         form.AddField("questionsToSave", String.Join(",",questionsToSave));
         form.AddField("userName", playerNameValue);
 
@@ -602,7 +610,7 @@ public class OnlineDatabase : MonoBehaviour {
         List<NewQuestionData> questions = new List<NewQuestionData>();
         WWWForm form = new WWWForm();
         form.AddField("f", "PlayerQuestions");
-        form.AddField("gameId", gameId);
+        form.AddField(Constants.GAME_ID, gameId);
         form.AddField("userName", playerName);
 
         string response = CallOnlineDatabaseWithResponse("OnlineGameInfo.php", form);
@@ -631,7 +639,7 @@ public class OnlineDatabase : MonoBehaviour {
 
     private Question GetQuestionData(int gameId, int playerId) {
         WWWForm form = new WWWForm();
-        form.AddField("gameId", gameId);
+        form.AddField(Constants.GAME_ID, gameId);
         form.AddField("playerId", playerId);
 
         string response = CallOnlineDatabaseWithResponse("Question.php", form);
@@ -665,7 +673,7 @@ public class OnlineDatabase : MonoBehaviour {
     internal void SendNextPlayerMessage(int gameId, String nextPlayer)
     {
         WWWForm form = new WWWForm();
-        form.AddField("gameId", gameId);
+        form.AddField(Constants.GAME_ID, gameId);
         form.AddField("playerName", nextPlayer);
         form.AddField("title", LocalizationManager.Instance.GetText("FCM_NEXT_PLAYER_TITLE"));
         List<KeyValuePair<string, int>> players = OnlineDatabase.Instance.GetPlayersForGame(gameId);
@@ -683,7 +691,7 @@ public class OnlineDatabase : MonoBehaviour {
 
     internal void SendInviteForNewGame(int gameId, List<String> Players, String inviter) {
         WWWForm form = new WWWForm();
-        form.AddField("gameId", gameId);
+        form.AddField(Constants.GAME_ID, gameId);
         int index = 0;
 
         foreach(String player in Players) {

+ 29 - 27
Assets/Scripts/GameManagerScript.cs

@@ -41,16 +41,16 @@ public class GameManagerScript : MonoBehaviour {
 
     // Start is called before the first frame update
     void Start() {
-        GameId = PlayerPrefs.GetInt("GameId");
-        GameMode = PlayerPrefs.GetString("GameMode");
-        QuestionTimer = PlayerPrefs.GetInt("QuestionTimer");
-        NeededForWin = PlayerPrefs.GetInt("NeededForWin");
+        GameId = PlayerPrefs.GetInt(Constants.GAME_ID);
+        GameMode = PlayerPrefs.GetString(Constants.GAME_MODE);
+        QuestionTimer = PlayerPrefs.GetInt(Constants.GAME_QUESTION_TIMER);
+        NeededForWin = PlayerPrefs.GetInt(Constants.GAME_TO_WIN);
 
-        if (GameMode.Equals("Local")) {
+        if (GameMode.Equals(Constants.LOCAL)) {
             db = Database.Instance;
             db.SetLocalOrOnline(GameMode);
             db.SetLastPlayedDate(GameId);
-        } else if (GameMode.Equals("Online")) {
+        } else if (GameMode.Equals(Constants.ONLINE)) {
             odb = OnlineDatabase.Instance;
             odb.SetLastPlayedDate(GameId);
         }
@@ -65,8 +65,8 @@ public class GameManagerScript : MonoBehaviour {
             scrollViewScript = answerLineObject.transform.parent.parent.GetComponent<ScrollViewScript>();
         }
         
-        if (SceneManager.GetActiveScene().name.Equals("narKampen")) {
-            currentPlayer = Database.Instance.GetCurrentPlayer(GameId, GetGameMode());
+        if (SceneManager.GetActiveScene().name.Equals(Constants.SCENE_NAR_KAMPEN)) {
+            currentPlayer = Database.Instance.GetCurrentPlayer(GameId, GameMode);
         }
     }
 
@@ -84,9 +84,9 @@ public class GameManagerScript : MonoBehaviour {
 
     void Awake()
     {
-        if (SceneManager.GetActiveScene().name.Equals("narKampen")) {
-            GameId = PlayerPrefs.GetInt("GameId");
-            GameMode = PlayerPrefs.GetString("GameMode");
+        if (SceneManager.GetActiveScene().name.Equals(Constants.SCENE_NAR_KAMPEN)) {
+            GameId = PlayerPrefs.GetInt(Constants.GAME_ID);
+            GameMode = PlayerPrefs.GetString(Constants.GAME_MODE);
             if (Database.Instance.GetRoundValue(GameId, GameMode) == 1) {
                 StartCoroutine(startAnimation());
             }
@@ -151,7 +151,7 @@ public class GameManagerScript : MonoBehaviour {
                 Database.Instance.SetGameFinished(GameId, GameMode);
                 scrollViewScript.SetAllQuestionsLocked(true);
                 
-                if (GameMode.Equals("Online")) {
+                if (GameMode.Equals(Constants.ONLINE)) {
                     OnlineDatabase.Instance.SendGameOverMessage(GameId, players, currentPlayer, Database.Instance.GetRoundValue(GameId, GameMode));
                 }
 
@@ -245,11 +245,15 @@ public class GameManagerScript : MonoBehaviour {
         }
         scrollViewScript.SetAllQuestionsLocked(true);
         scrollViewScript.RemoveEverythingFromAnswerline();
-        NewQuestionCard.GetComponent<NewQuestionCardController>().GenerateNewQuestion(); // Borde inte behövas
         NextPlayer();
     }
 
     private void NextPlayer() {
+        Database.Instance.IncreasePlayerRound(GameId, currentPlayer);
+        if (GameMode.Equals(Constants.ONLINE)) {
+            statsScript.IncreaseRoundValue();
+        }
+
         for (int i = 0; i < players.Count; i++) {
             if (players[i].Key.Equals(currentPlayer, StringComparison.InvariantCultureIgnoreCase)) {
                 if (i + 1 < players.Count) {
@@ -257,7 +261,9 @@ public class GameManagerScript : MonoBehaviour {
                     break;
                 } else {
                     currentPlayer = players[0].Key;
-                    statsScript.IncreaseRoundValue();
+                    if (GameMode.Equals(Constants.LOCAL)) {
+                        statsScript.IncreaseRoundValue();
+                    }
                     break;
                 }
             }
@@ -269,38 +275,29 @@ public class GameManagerScript : MonoBehaviour {
         dialog.SetMessage(String.Format(message, currentPlayer));
         dialog.SetOnAccept(LocalizationManager.Instance.GetText("OK"), () => {
             scrollViewScript.RemoveEverythingFromAnswerline();
-            string gameMode = GetGameMode();
             List<NewQuestionData> questions = new List<NewQuestionData>();
-            if (gameMode.Equals("Online")) {
+            if (GameMode.Equals(Constants.ONLINE)) {
                 questions = Database.Instance.GetPlayerQuestions(GameId, Database.Instance.GetSignedInUser().Value, gameMode);
             } else {
                 questions = Database.Instance.GetPlayerQuestions(GameId, currentPlayer, gameMode);
             }
             scrollViewScript.SetQuestionsInAnswerLine(questions);
 
-            statsScript.SetQuestionsLost(Database.Instance.GetQuestionsLost(GameId, currentPlayer, GetGameMode()));
+            statsScript.SetQuestionsLost(Database.Instance.GetQuestionsLost(GameId, currentPlayer, GameMode));
 
             statsScript.MakeBold(currentPlayer);
-            Database.Instance.SetCurrentPlayer(GameId, currentPlayer, GetGameMode());
+            Database.Instance.SetCurrentPlayer(GameId, currentPlayer, GameMode);
             InformationPanelScript ips = GameObject.Find("InformationPanel").GetComponent<InformationPanelScript>();
 
-            if (GameMode.Equals("Online")) {
+            if (GameMode.Equals(Constants.ONLINE)) {
                 OnlineDatabase.Instance.SendNextPlayerMessage(GameId, currentPlayer);
             }
-
             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;
     }
@@ -308,4 +305,9 @@ public class GameManagerScript : MonoBehaviour {
     public void QuitApplication() {
         Application.Quit();
     }
+
+    public String getLanguage() {
+
+        return "Svenska";
+    }
 }

+ 5 - 6
Assets/Scripts/Login/Login.cs

@@ -16,10 +16,9 @@ public class Login : MonoBehaviour {
     public InputField usernameInputField;
     public InputField passwordInputField;
 
+    //[SerializeField] Button swedishLangButton;
+    // [SerializeField] Button englishLangButton;
     public Button loginButton;
-    public Button SwedishButton;
-    public Button EnglishButton;
-
     public Toggle keepSignedIn;
 
     public Text errorText;
@@ -46,9 +45,8 @@ public class Login : MonoBehaviour {
         loginButton.onClick.AddListener(loginAction);
         errorColor = errorText.color;
         system = EventSystem.current;
-
-        SwedishButton.onClick.AddListener(() => SwitchLanguage(0));
-        EnglishButton.onClick.AddListener(() => SwitchLanguage(1));
+/*        swedishLangButton.onClick.AddListener(() => SwitchLanguage(0));
+        englishLangButton.onClick.AddListener(() => SwitchLanguage(1));*/ 
     }
 
     private void Awake() {
@@ -78,6 +76,7 @@ public class Login : MonoBehaviour {
         Username = usernameInputField.text;
         Password = passwordInputField.text;
 
+
         if (Input.GetKeyDown(KeyCode.Tab)) {
             Selectable next = system.currentSelectedGameObject.GetComponent<Selectable>().FindSelectableOnDown();
 

+ 1 - 1
Assets/Scripts/MainGame/CategoryPanel.cs

@@ -53,7 +53,7 @@ public class CategoryPanel : MonoBehaviour
 
     private string GetGameMode() {
         if (gameMode == null) {
-            gameMode = PlayerPrefs.GetString("GameMode");
+            gameMode = PlayerPrefs.GetString(Constants.GAME_MODE);
         }
 
         return gameMode;

+ 32 - 10
Assets/Scripts/MainGame/InformationPanelScript.cs

@@ -3,24 +3,30 @@ using System.Collections.Generic;
 using UnityEngine;
 using UnityEngine.UI;
 using UnityEngine.SceneManagement;
+using System;
 
 public class InformationPanelScript : MonoBehaviour
 {
     public Button quitButton;
     public Text loggedInPlayerText;
 
-    public Button swedishButton;
-    public Button englishButton;
+    public Button settingsButton;
 
     public Button logoutButton;
+    [SerializeField] Button BackButton;
 
-    public bool returnToMenu = false;
+    [SerializeField] bool settingsButtonVisible = true;
+    [SerializeField] bool logoutButtonVisible = true;
+    [SerializeField] bool quitButtonVisible = true;
+    [SerializeField] bool backButtonVisible = false;
+    [SerializeField] bool signedInPlayerVisible = false;
 
     // Start is called before the first frame update
     void Start() {
+        setButtonVisibilities();
         quitButton.onClick.AddListener(quitButtonAction);
-        swedishButton.onClick.AddListener(() => SwitchLanguage(0));
-        englishButton.onClick.AddListener(() => SwitchLanguage(1));
+        BackButton.onClick.AddListener(backButtonAction);
+        settingsButton.onClick.AddListener(OpenSettings);
         loggedInPlayerText.text = Database.Instance.GetSignedInUser().Value;
         if (logoutButton != null) {
             logoutButton.onClick.AddListener(() => {
@@ -30,12 +36,20 @@ public class InformationPanelScript : MonoBehaviour
         }
     }
 
+    private void setButtonVisibilities() {
+        settingsButton.gameObject.SetActive(settingsButtonVisible);
+        quitButton.gameObject.SetActive(quitButtonVisible);
+        logoutButton.gameObject.SetActive(logoutButtonVisible);
+        BackButton.gameObject.SetActive(backButtonVisible);
+        loggedInPlayerText.gameObject.SetActive(signedInPlayerVisible);
+    }
+
     void quitButtonAction() {
-        if (returnToMenu) {
-            SceneManager.LoadSceneAsync("MainMenu");
-        } else {
-            Application.Quit();
-        }
+        Application.Quit();
+    }
+
+    void backButtonAction() {
+        SceneManager.LoadSceneAsync("MainMenu");
     }
 
     private void SwitchLanguage(int langId) {
@@ -55,4 +69,12 @@ public class InformationPanelScript : MonoBehaviour
             bl.UpdateText();
         }
     }
+
+    private void OpenSettings() {
+        SceneManager.LoadSceneAsync("Settings");
+    }
+
+    public Button getBackButton() {
+        return BackButton;
+    }
 }

+ 1 - 2
Assets/Scripts/MainGame/NewQuestionCardController.cs

@@ -82,8 +82,7 @@ public class NewQuestionCardController : MonoBehaviour, IPointerClickHandler {
 
         resetPosition();
         ShowBackside();
-        string gameMode = gameManager.GetComponent<GameManagerScript>().GetGameMode();
-        if (gameMode.Equals("Online")) {
+        if (gameManager.GetComponent<GameManagerScript>().GameMode.Equals(Constants.ONLINE)) {
             if (currentPlayer.Equals(SignedInUser.Value, StringComparison.InvariantCultureIgnoreCase)) {
                 BackClickable = true;
             } else {

+ 4 - 4
Assets/Scripts/MainGame/NewQuestionsPanel.cs

@@ -31,10 +31,10 @@ public class NewQuestionsPanel : MonoBehaviour
         //string gameMode = Database.Instance.GetGameMode(gameId);
         string currentPlayer = Database.Instance.GetCurrentPlayer(gameId, gameMode);
 
-        if (gameMode.Equals("Online") && 
+        if (gameMode.Equals(Constants.ONLINE) && 
                 currentPlayer.Equals(Database.Instance.GetSignedInUser().Value, StringComparison.InvariantCultureIgnoreCase ) && 
                 Database.Instance.GetRoundValue(gameManagerScript.GameId, gameManagerScript.GameMode) <= 1 ||
-            (gameMode.Equals("Local") && 
+            (gameMode.Equals(Constants.LOCAL) && 
                 Database.Instance.GetRoundValue(gameManagerScript.GameId, gameManagerScript.GameMode) <= 1)) {
             List<NewQuestionData> usersQuestions = Database.Instance.GetPlayerQuestions(gameId, currentPlayer, gameManagerScript.GameMode);
             NewQuestionData qd = usersQuestions[0];
@@ -46,7 +46,7 @@ public class NewQuestionsPanel : MonoBehaviour
             QuestioncardBackside.GetComponent<Image>().color = qd.CategoryColor;
 
             QuestionData = qd;
-        } else if (gameMode.Equals("Online") && 
+        } else if (gameMode.Equals(Constants.ONLINE) && 
                 !currentPlayer.Equals(Database.Instance.GetSignedInUser().Value, StringComparison.InvariantCultureIgnoreCase)) {
             SetNotYourTurn();
         }
@@ -64,7 +64,7 @@ public class NewQuestionsPanel : MonoBehaviour
     // Update is called once per frame
     void Update()
     {
-        if (gameManagerScript.GameMode.Equals("Online") && !GameManagerScript.GetCurrentPlayer().Equals(Database.Instance.GetSignedInUser().Value, StringComparison.InvariantCultureIgnoreCase)) {
+        if (gameManagerScript.GameMode.Equals(Constants.ONLINE) && !GameManagerScript.GetCurrentPlayer().Equals(Database.Instance.GetSignedInUser().Value, StringComparison.InvariantCultureIgnoreCase)) {
             SetNotYourTurn();
         }
     }

+ 2 - 2
Assets/Scripts/MainGame/QuestionCard.cs

@@ -91,8 +91,8 @@ public class QuestionCard : MonoBehaviour {
 
     public void SetBackCategoryText(string value) {
         if (backCategoryText == null) {
-            GameObject test = new GameObject("Text"); // TODO test??
-            backCategoryText = test.AddComponent<Text>();
+            GameObject temp = new GameObject("Text");
+            backCategoryText = temp.AddComponent<Text>();
         }
         backCategoryText.text = value;
         frontCategoryText.text = value;

+ 3 - 3
Assets/Scripts/MainGame/ScrollViewScript.cs

@@ -43,7 +43,7 @@ public class ScrollViewScript : MonoBehaviour {
         KeyValuePair<int, string> signedInUser = Database.Instance.GetSignedInUser();
         
         List<NewQuestionData> answerlineQuestions;
-        if (gameMode.Equals("Online")) {
+        if (gameMode.Equals(Constants.ONLINE)) {
             answerlineQuestions = Database.Instance.GetPlayerQuestions(gameId, signedInUser.Value, GetGameMode());
         } else {
             answerlineQuestions = Database.Instance.GetPlayerQuestions(gameId, currentPlayer, GetGameMode());
@@ -63,7 +63,7 @@ public class ScrollViewScript : MonoBehaviour {
 
     public string GetGameMode() {
         if (gameMode == null) {
-            gameMode = PlayerPrefs.GetString("GameMode");
+            gameMode = PlayerPrefs.GetString(Constants.GAME_MODE);
         }
         return gameMode;
     }
@@ -103,7 +103,7 @@ public class ScrollViewScript : MonoBehaviour {
             answerLineQuestionCard.SetBackCategoryText(q.CategoryName);
             answerLineQuestionCard.SetQuestionCategoryColor(q.CategoryColor);
 
-            if (gameMode.Equals("Online")) {
+            if (gameMode.Equals(Constants.ONLINE)) {
                 if (signedInUser.Value.Equals(Database.Instance.GetSignedInUser().Value, StringComparison.InvariantCultureIgnoreCase)) {
                     answerLineQuestionCard.SetFrostingActive(false);
                 } else {

+ 23 - 18
Assets/Scripts/MainGame/StatsScript.cs

@@ -14,28 +14,41 @@ public class StatsScript : MonoBehaviour {
 
     private string roundText;
     private string questionsLostText;
-    GameManagerScript gms;
     private string gameMode;
+    private string currenPlayer;
+    [SerializeField] GameObject gameManager;
+    [SerializeField] GameObject answerLine;
+    [SerializeField] GameObject answerLineInfo;
+    GameManagerScript gameManagerScript;
+    AnswerLineInfoScript answerLineInfoScript;
+    ScrollViewScript svc;
 
     private void Start() {
-        gms = GameObject.Find("GameManager").GetComponent<GameManagerScript>();
+        gameManagerScript = gameManager.GetComponent<GameManagerScript>();
+        answerLineInfoScript = answerLineInfo.GetComponent<AnswerLineInfoScript>();
+        svc = answerLine.transform.parent.parent.GetComponent<ScrollViewScript>();
         roundText = LocalizationManager.Instance.GetText("ROUND");
         questionsLostText = LocalizationManager.Instance.GetText("QUESTIONS_LOST");
+        currenPlayer = GameManagerScript.GetCurrentPlayer();
         CreateStandardStats();
-        AddPlayersToStats(Database.Instance.GetPlayersForGame(gms.GameId, GetGameMode()));
+        AddPlayersToStats(Database.Instance.GetPlayersForGame(gameManagerScript.GameId, gameManagerScript.GameMode));
     }
 
-    private string GetGameMode() {
-        if (gameMode == null) {
-            gameMode = PlayerPrefs.GetString("GameMode");
-        }
-        return gameMode;
+    void Update()
+    {
+        UpdatePlayerAnswer();
+    }
+
+    private void UpdatePlayerAnswer() {
+        String currentPlayerShown = answerLineInfoScript.getCurrentPlayerShown();
+        int answerCount = svc.GetQuestionIdsInAnswerLine().Count;
+        SetQuestionsInAnswerLine(currentPlayerShown, answerCount);
     }
 
     private void CreateStandardStats() {
         StatsLine round = CreateStatLine();
         round.SetStatName(roundText);
-        int roundValue = Database.Instance.GetRoundValue(gms.GameId, GetGameMode());
+        int roundValue = Database.Instance.GetRoundValue(gameManagerScript.GameId, gameManagerScript.GameMode);
 
         round.SetLocalizationKey("ROUND");
 
@@ -87,16 +100,12 @@ public class StatsScript : MonoBehaviour {
                 Int32.TryParse(sl.GetValue(), out int round);
                 round++;
                 sl.SetStatValue(round);
-                Database.Instance.SetRoundValue(gms.GameId, round, GetGameMode());
+                Database.Instance.SetRoundValue(gameManagerScript.GameId, round, gameManagerScript.GameMode);
                 break;
             }
         }
     }
 
-    public int GetRound() {
-        return statLines.Find(s => s.GetName().Equals(roundText)).GetIntValue();
-    }
-
     public void MakeBold(string playerName) {
         foreach (StatsLine sl in statLines) {
             if (sl.GetName().Equals(playerName)) {
@@ -120,8 +129,4 @@ public class StatsScript : MonoBehaviour {
         StatsLine sl = statLines.Find(s => s.GetName().Equals(questionsLostText));
         sl.SetStatValue(sl.GetIntValue() + value);
     }
-
-    public int GetQuestionsLost() {
-        return statLines.Find(s => s.GetName().Equals(questionsLostText)).GetIntValue();
-    }
 }

+ 8 - 0
Assets/Scripts/MainMenu.cs

@@ -24,6 +24,14 @@ public class MainMenu : MonoBehaviour {
     private void Start() {
         startNewGameButton.onClick.AddListener(StartNewGameAction);
         quitButton.onClick.AddListener(() => { Application.Quit(); });
+        
+        GetGames();
+        UpdateOnlineGamesLists();
+        if (lastPlayedLocal > lastPlayedOnline) {
+            localGamesPanelTitle.GetComponent<GamesScrollController>().expandThis(localGamesPanelTitle.name);
+        } else {
+            onlineGamesPanelTitle.GetComponent<GamesScrollController>().expandThis(onlineGamesPanelTitle.name);
+        }
     }
 
 

+ 6 - 6
Assets/Scripts/NewGameScene/GameInfoScript.cs

@@ -63,18 +63,18 @@ public class GameInfoScript : MonoBehaviour {
         acceptButton.enabled = false;
         acceptButton.interactable = false;
 
-        if (onlineGameScript.GameStatus.Equals("ACTIVE") || onlineGameScript.GameStatus.Equals("YOUR_TURN") || onlineGameScript.GameStatus.Equals("OTHERS_TURN")) {
+        if (onlineGameScript.GameStatus.Equals("ACTIVE") || onlineGameScript.GameStatus.Equals(OnlineGameScript.GAME_STATUS_YOUR_TURN) || onlineGameScript.GameStatus.Equals(OnlineGameScript.GAME_STATUS_OTHERS_TURN)) {
             acceptButton.enabled = true;
             acceptButton.interactable = true;
         }
     }
 
     private void OpenGame() {
-        PlayerPrefs.SetString("GameMode", "Online");
-        PlayerPrefs.SetInt("GameId", gameId);
-        PlayerPrefs.SetInt("QuestionTimer", questionTimer);
-        PlayerPrefs.SetInt("NeededForWin", winNumber);
-        SceneManager.LoadSceneAsync("narKampen");
+        PlayerPrefs.SetString(Constants.GAME_MODE, Constants.ONLINE);
+        PlayerPrefs.SetInt(Constants.GAME_ID, gameId);
+        PlayerPrefs.SetInt(Constants.GAME_QUESTION_TIMER, questionTimer);
+        PlayerPrefs.SetInt(Constants.GAME_TO_WIN, winNumber);
+        SceneManager.LoadSceneAsync(Constants.SCENE_NAR_KAMPEN);
     }
 
     public void Show() {

+ 19 - 24
Assets/Scripts/NewGameScene/InvitePanelScript.cs

@@ -11,18 +11,13 @@ public class InvitePanelScript : MonoBehaviour {
 
     public InputField searchField;
 
+    private String lastSearchValue = "";
+
     public GameObject inviteSearchResultPrefab;
 
     public GameObject searchResultPanel;
     public GameObject OnlineGameSettingsPanel;
 
-
-    private float autoSearchWait = 3f;
-    private bool searchActive = false;
-    private float autoSearchTime;
-    private int searchChars = 0;
-    private string searchedString = "";
-
     [SerializeField] Button findRandomPlayerButton;
 
     // Start is called before the first frame update
@@ -36,19 +31,9 @@ public class InvitePanelScript : MonoBehaviour {
     // Update is called once per frame
     void Update() {
         if (searchField.text.Length < 3) {
-            ClearIvites();
-            searchActive = false;
             searchButton.interactable = false;
-        } else if (searchActive && searchChars != searchField.text.Length) {
-            searchChars = searchField.text.Length;
-            autoSearchTime = Time.time + autoSearchWait;
-        } else if (searchActive && searchChars == searchField.text.Length && Time.time >= autoSearchTime) {
-            CallInviteFunction();
-        } else if (!searchActive && !searchField.text.Equals(searchedString)) {
-            searchActive = true;
-            autoSearchTime = Time.time + autoSearchWait;
+        } else {
             searchButton.interactable = true;
-            searchChars = searchField.text.Length;
         }
     }
 
@@ -65,8 +50,13 @@ public class InvitePanelScript : MonoBehaviour {
     }
 
     void FindRandomPlayer() {
+        searchField.text = "";
+        lastSearchValue = "";
+        ClearIvites();
         List<OnlineDatabase.UserName> users = Database.Instance.FindRandomPlayer(Database.Instance.GetSignedInUser().Key);
-        AddToInvitePanel(users);
+        if (users != null) {
+            AddToInvitePanel(users);
+        }
     }
 
     public List<InviteSearchResult> GetSelectedUsersForInvite() {
@@ -96,12 +86,15 @@ public class InvitePanelScript : MonoBehaviour {
     }
 
     private void CallInviteFunction() {
-        ClearIvites();
-        searchedString = searchField.text;
-        searchActive = false;
+        if ((lastSearchValue.Equals("") || !searchField.text.Equals("")) && !lastSearchValue.Equals(searchField.text)) {
+            lastSearchValue = searchField.text;
+            ClearIvites();
 
-        List<OnlineDatabase.UserName> foundUsers = OnlineDatabase.Instance.GetUsersToInvite(searchField.text);
-        AddToInvitePanel(foundUsers);
+            List<OnlineDatabase.UserName> foundUsers = OnlineDatabase.Instance.GetUsersToInvite(searchField.text);
+            if (foundUsers != null) {
+                AddToInvitePanel(foundUsers);
+            }
+        }
     }
 
     private void AddToInvitePanel(List<OnlineDatabase.UserName> foundUsers) {
@@ -117,12 +110,14 @@ public class InvitePanelScript : MonoBehaviour {
                     break;
                 }
             }
+            int resCount = 0;
             if (!skip) {
                 GameObject invSearchRes = Instantiate(inviteSearchResultPrefab, new Vector2(0, 0), Quaternion.identity) as GameObject;
                 InviteSearchResult res = invSearchRes.GetComponent<InviteSearchResult>();
                 res.SetName(un.username);
                 res.SetId(un.id);
                 res.transform.SetParent(searchResultPanel.transform, false);
+                res.transform.SetSiblingIndex(resCount++);
             }
         }
     }

+ 4 - 4
Assets/Scripts/NewGameScene/LocalGameScript.cs

@@ -71,10 +71,10 @@ public class LocalGameScript : MonoBehaviour
     }
 
     public void StartThisGame() {
-        PlayerPrefs.SetInt("GameId", GameId);
-        PlayerPrefs.SetString("GameMode", "Local");
-        PlayerPrefs.SetInt("QuestionTimer", AnswerTimer);
-        SceneManager.LoadSceneAsync("narKampen");
+        PlayerPrefs.SetInt(Constants.GAME_ID, GameId);
+        PlayerPrefs.SetString(Constants.GAME_MODE, Constants.LOCAL);
+        PlayerPrefs.SetInt(Constants.GAME_QUESTION_TIMER, AnswerTimer);
+        SceneManager.LoadSceneAsync(Constants.SCENE_NAR_KAMPEN);
     }
 
     public void DeleteThisGame() {

+ 3 - 1
Assets/Scripts/NewGameScene/NewGamesButtonPanelScript.cs

@@ -9,14 +9,16 @@ public class NewGamesButtonPanelScript : MonoBehaviour
     private const string MainMenuSceneName = "MainMenu";
     public Button localGameButton;
     public Button onlineGameButton;
-    public Button backButton;
     public GameObject localGameSettingsPanel;
     public GameObject onlineGameSettingsPanel;
     public GameObject buttonPanel;
+    [SerializeField] GameObject informationPanel;
 
+    private Button backButton;
     // Start is called before the first frame update
     void Start()
     {
+        backButton = informationPanel.GetComponent<InformationPanelScript>().getBackButton();
         localGameButton.onClick.AddListener(ShowLocalGameSettings);
         onlineGameButton.onClick.AddListener(ShowOnlineGameSettings);
         backButton.onClick.AddListener(() => SceneManager.LoadScene(MainMenuSceneName));

+ 24 - 6
Assets/Scripts/NewGameScene/NewStartLocalGameScript.cs

@@ -10,14 +10,28 @@ public class NewStartLocalGameScript : MonoBehaviour
     public Slider secondsToAnswer;
     public Slider correctsToWin;
     public Slider numberOfPlayer;
+
+    [SerializeField] GameObject playersPanel;
     // Start is called before the first frame update
     void Start()
     {
         gameObject.GetComponent<Button>().onClick.AddListener(StartLocalGame);
     }
 
+    void Update()
+    {
+        PlayerSetting[] playerSettings = playersPanel.GetComponentsInChildren<PlayerSetting>();
+        foreach (PlayerSetting ps in playerSettings) {
+            if (ps.nameInput.text.Equals("")) {
+                gameObject.GetComponent<Button>().interactable = false;
+                ps.nameInput.placeholder.GetComponent<Text>().text = LocalizationManager.Instance.GetText("PLAYER_SETTING_NAME_PLACEHOLDER");
+                break;
+            }
+            gameObject.GetComponent<Button>().interactable = true;
+        }
+    }
     private void StartLocalGame() {
-        Database.Instance.SetLocalOrOnline("Local");
+        Database.Instance.SetLocalOrOnline(Constants.LOCAL);
         List<string> playerNames = new List<string>();
 
         int correctsToWinInt = (int)correctsToWin.value;
@@ -25,6 +39,8 @@ public class NewStartLocalGameScript : MonoBehaviour
         int secondsToAnswerInt = (int)secondsToAnswer.value;
         int gameId = Database.Instance.SetupNewLocalGame(correctsToWinInt, numberOfPayersInt, secondsToAnswerInt);
 
+        bool okToStart = true;
+
         Transform newPlayersPanel = GameObject.Find("NewPlayersPanel").transform;
         PlayerSetting[] playerSettings = newPlayersPanel.GetComponentsInChildren<PlayerSetting>();
 
@@ -35,11 +51,13 @@ public class NewStartLocalGameScript : MonoBehaviour
 
         Database.Instance.LinkPlayersToLocalGame(playerNames, gameId);
 
-        PlayerPrefs.SetString("GameMode", "Local");
-        PlayerPrefs.SetInt("GameId", gameId);
-        PlayerPrefs.SetInt("QuestionTimer", secondsToAnswerInt);
-        PlayerPrefs.SetInt("NeededForWin", correctsToWinInt);
-        SceneManager.LoadSceneAsync("narKampen");
+        PlayerPrefs.SetString(Constants.GAME_MODE, Constants.LOCAL);
+        PlayerPrefs.SetInt(Constants.GAME_ID, gameId);
+        PlayerPrefs.SetInt(Constants.GAME_QUESTION_TIMER, secondsToAnswerInt);
+        PlayerPrefs.SetInt(Constants.GAME_TO_WIN, correctsToWinInt);
+        if (okToStart) {
+            SceneManager.LoadSceneAsync(Constants.SCENE_NAR_KAMPEN);
+        }
     }
 
 }

+ 16 - 10
Assets/Scripts/NewGameScene/OnlineGameScript.cs

@@ -9,6 +9,12 @@ public class OnlineGameScript : MonoBehaviour {
     // Status color Pending, not your turn, your turn, declined
     List<Color32> statusColors = new List<Color32>() { new Color32(234, 164, 17, 100), new Color32(255, 255, 24, 175), new Color32(0, 255, 0, 100), new Color32(219, 12, 65, 100), new Color32(12,12,219,150) };
 
+    public const string GAME_STATUS_ACTIVE = "ACTIVE";
+    public const string GAME_STATUS_PENDING = "PENDING";
+    public const string GAME_STATUS_YOUR_TURN = "YOUR_TURN";
+    public const string GAME_STATUS_INVITED = "INVITED";
+    public const string GAME_STATUS_OTHERS_TURN = "OTHERS_TURN";
+
     public Text gameStatusText;
     public Text gameTitleText;
 
@@ -104,17 +110,17 @@ public class OnlineGameScript : MonoBehaviour {
 
     private void SetColor(string status) {
         Image image = this.GetComponent<Image>();
-        if ("PENDING".Equals(status)) {
+        if (OnlineGameScript.GAME_STATUS_PENDING.Equals(status)) {
             image.color = statusColors[0];
-        } else if ("YOUR_TURN".Equals(status)) {
+        } else if (OnlineGameScript.GAME_STATUS_YOUR_TURN.Equals(status)) {
             image.color = statusColors[2];
-        } else if ("OTHERS_TURN".Equals(status)) {
+        } else if (OnlineGameScript.GAME_STATUS_OTHERS_TURN.Equals(status)) {
             image.color = statusColors[1];
         } else if ("DECLINED".Equals(status)) {
             image.color = statusColors[3];
-        } else if ("INVITED".Equals(status)) {
+        } else if (OnlineGameScript.GAME_STATUS_INVITED.Equals(status)) {
             image.color = statusColors[4];
-        } else if ("ACTIVE".Equals(status)) {
+        } else if (GAME_STATUS_ACTIVE.Equals(status)) {
             if (CurrentPlayer != null && CurrentPlayer.Equals(Database.Instance.GetSignedInUser().Value)) {
                 image.color = statusColors[2];
             } else {
@@ -130,17 +136,17 @@ public class OnlineGameScript : MonoBehaviour {
     }
 
     public void SetGameStatusText() {
-        if ("PENDING".Equals(GameStatus)) {
+        if (OnlineGameScript.GAME_STATUS_PENDING.Equals(GameStatus)) {
             gameStatusText.gameObject.GetComponent<TextLocalization>().key = PENDING;
             gameStatusText.text = LocalizationManager.Instance.GetText(PENDING);
             gameTitleText.gameObject.GetComponent<TextLocalization>().key = PENDING_TITLE;
             SetTitleText(LocalizationManager.Instance.GetText(PENDING_TITLE));
-        } else if ("YOUR_TURN".Equals(GameStatus)) {
+        } else if (OnlineGameScript.GAME_STATUS_YOUR_TURN.Equals(GameStatus)) {
             gameStatusText.gameObject.GetComponent<TextLocalization>().key = YOUR_TURN;
             gameStatusText.text = LocalizationManager.Instance.GetText(YOUR_TURN);
             gameTitleText.gameObject.GetComponent<TextLocalization>().key = "FCM_NEXT_PLAYER_TITLE";
             SetTitleText(LocalizationManager.Instance.GetText("FCM_NEXT_PLAYER_TITLE"));
-        } else if ("OTHERS_TURN".Equals(GameStatus)) {
+        } else if (OnlineGameScript.GAME_STATUS_OTHERS_TURN.Equals(GameStatus)) {
             TextLocalization textLocalization = gameStatusText.gameObject.GetComponent<TextLocalization>();
             textLocalization.key = OTHERS_TURN;
             textLocalization.SetReplaceText(CurrentPlayer);
@@ -154,12 +160,12 @@ public class OnlineGameScript : MonoBehaviour {
             gameStatusText.text = LocalizationManager.Instance.GetText(DECLINED);
             gameTitleText.gameObject.GetComponent<TextLocalization>().key = DECLINED_TITLE;
             SetTitleText(LocalizationManager.Instance.GetText(DECLINED_TITLE));
-        } else if ("INVITED".Equals(GameStatus)) {
+        } else if (OnlineGameScript.GAME_STATUS_INVITED.Equals(GameStatus)) {
             gameStatusText.gameObject.GetComponent<TextLocalization>().key = INVITED;
             gameStatusText.text = LocalizationManager.Instance.GetText(INVITED);
             gameTitleText.gameObject.GetComponent<TextLocalization>().key = INVITED_TITLE;
             SetTitleText(LocalizationManager.Instance.GetText(INVITED_TITLE));
-        } else if ("ACTIVE".Equals(GameStatus)) {
+        } else if (GAME_STATUS_ACTIVE.Equals(GameStatus)) {
             TextLocalization textLocalization = gameStatusText.gameObject.GetComponent<TextLocalization>();
             textLocalization.key = ACTIVE;
             textLocalization.SetReplaceText(CurrentPlayer);

+ 1 - 1
Assets/Scripts/NewGameScene/OnlinePlayerInfoScript.cs

@@ -50,7 +50,7 @@ public class OnlinePlayerInfoScript : MonoBehaviour
         if ("WAITING".Equals(status)) {
             playerStatus.GetComponent<TextLocalization>().key = PENDING;
             playerStatus.text = LocalizationManager.Instance.GetText(PENDING);
-        } else if ("ACCEPTED".Equals(status)) {
+        } else if ("ACCEPTED".Equals(status)) { // Göm status på spelare och visa info om aktivt spel
             playerStatus.GetComponent<TextLocalization>().key = ACCEPTED;
             playerStatus.text = LocalizationManager.Instance.GetText(ACCEPTED);
         } else if ("DECLINED".Equals(status)) {

+ 1 - 0
Assets/Scripts/NewGameScene/PlayerInfo.cs

@@ -17,4 +17,5 @@ public class PlayerInfo : MonoBehaviour
     internal void SetPoints(int points) {
         pointsText.text = points.ToString();
     }
+
 }

+ 1 - 1
Assets/Scripts/PrivacyPolicy.cs

@@ -7,7 +7,7 @@ using UnityEngine.UI;
 public class PrivacyPolicy : MonoBehaviour
 {
     Button pp;
-    private string privacyPolicyLink = "http://narkampen.nordh.xyz/narKampen/PrivacyPolicy/privacy_policy.html";
+    private string privacyPolicyLink = "http://nordh.xyz/narKampen/privacy_policy.html";
 
     // Start is called before the first frame update
     void Start()

+ 42 - 0
Assets/SettingsScript.cs

@@ -0,0 +1,42 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.UI;
+using System.Linq;
+using System;
+
+public class SettingsScript : MonoBehaviour
+{
+
+    [SerializeField] GameObject LangaugeSelectBox;
+    // Start is called before the first frame update
+
+    private Dropdown languageSelector;
+    void Start()
+    {
+        languageSelector = LangaugeSelectBox.GetComponent<Dropdown>();
+        languageSelector.onValueChanged.AddListener(delegate { languageSelectionChange(languageSelector); });
+        setLanguages();
+
+    }
+
+    private void languageSelectionChange(Dropdown selection) {
+        PlayerPrefs.SetString("SelectedLanguage", selection.options[selection.value].text);
+    }
+
+    // Update is called once per frame
+    void Update()
+    {
+        
+    }
+
+    void setLanguages() {
+        languageSelector.options.Clear();
+        languageSelector.AddOptions(LocalizationManager.Instance.languages.Select(l => l.languageString).ToList<string>());
+
+        string currentLang = PlayerPrefs.GetString("SelectedLanguage");
+        if (!String.IsNullOrEmpty(currentLang)) {
+            languageSelector.SetValueWithoutNotify(languageSelector.options.IndexOf(languageSelector.options.Where(od => od.text.Equals(currentLang)).First()));
+        }
+    }
+}

+ 11 - 0
Assets/SettingsScript.cs.meta

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

+ 2 - 0
Assets/Sprites/ByFreepik.jpg.meta

@@ -26,6 +26,7 @@ TextureImporter:
   isReadable: 0
   streamingMipmaps: 0
   streamingMipmapsPriority: 0
+  vTOnly: 0
   grayScaleToAlpha: 0
   generateCubemap: 6
   cubemapConvolution: 0
@@ -60,6 +61,7 @@ TextureImporter:
   maxTextureSizeSet: 0
   compressionQualitySet: 0
   textureFormatSet: 0
+  ignorePngGamma: 0
   applyGammaDecoding: 0
   platformSettings:
   - serializedVersion: 3

+ 1 - 1
Assets/StreamingAssets/google-services-desktop.json

@@ -2,7 +2,7 @@
   "project_info": {
     "project_number": "108102546370",
     "firebase_url": "https://narkampen.firebaseio.com",
-    "project_id": "narkampen",
+    "project_id": "narKampen",
     "storage_bucket": "narkampen.appspot.com"
   },
   "client": [

+ 1 - 1
Assets/StreamingAssets/google-services-desktop.json.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: e989830c178aa4045ac1d33847f0e63f
+guid: c36e37acc4418a545b9c1e830fd8405a
 TextScriptImporter:
   externalObjects: {}
   userData: 

+ 3 - 2
Assets/Translations/ENGLISH.xml

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<Language LANG="english" ID="1">
+<Language LANG="English" ID="1">
   <!-- Main Menu -->
   <text key="YES">Yes</text>
   <text key="NO">No</text>
@@ -64,7 +64,7 @@
   <text key="INVITE_DIALOG_SEARCH_FIELD_PLACEHOLDER">Search players</text>
   <text key="INVITE_DIALOG_NAME_DIALOG_TEXT">Playername</text>
   <text key="INVITE_DIALOG_INVITE_TEXT">Invite</text>
-  <text key="INVITE_PANEL_DIALOG_RANDOM_BUTTON">Find random players</text>
+  <text key="INVITE_PANEL_DIALOG_RANDOM_BUTTON">Random players</text>
   <text key="INVITE_PANEL_DIALOG_BUTTON">Done</text>
   <text key="INVITE_COUNT_TEXT">Invite {0} players</text>
   <text key="INVITED_PLAYERS_TEXT">players invited</text>
@@ -112,4 +112,5 @@
 
   <text key="GAME_OVER_MESSAGE">{0} won the game after {1} rounds</text>
   <text key="GAME_OVER_TITLE">Game over!</text>
+  <text key="PLAYER_SETTING_NAME_PLACEHOLDER">You need a name</text>
 </Language>

+ 5 - 2
Assets/Translations/SWEDISH.xml

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<Language LANG="swedish" ID="0">
+<Language LANG="Svenska" ID="0">
   <!-- Main Menu -->
   <text key="YES">Ja</text>
   <text key="NO">Nej</text>
@@ -65,7 +65,7 @@
   <text key="INVITE_DIALOG_SEARCH_FIELD_PLACEHOLDER">Sök spelare</text>
   <text key="INVITE_DIALOG_NAME_DIALOG_TEXT">Spelarnamn</text>
   <text key="INVITE_DIALOG_INVITE_TEXT">Bjud in</text>
-  <text key="INVITE_PANEL_DIALOG_RANDOM_BUTTON">Sök slumpade spelare</text>
+  <text key="INVITE_PANEL_DIALOG_RANDOM_BUTTON">Slumpade spelare</text>
   <text key="INVITE_PANEL_DIALOG_BUTTON">Färdig</text>
   <text key="INVITE_COUNT_TEXT">Bjud in {0} spelare</text>
   <text key="INVITED_PLAYERS_TEXT">spelare inbjudna</text>
@@ -113,4 +113,7 @@
   
   <text key="GAME_OVER_MESSAGE">{0} vann spelet efter {1} rundor</text>
   <text key="GAME_OVER_TITLE">Spelet avslutat</text>
+
+  <text key="PLAYER_SETTING_NAME_PLACEHOLDER">Du måste skriva in ett namn</text>
+  
 </Language>

BIN
Assets/narKampenLocal.db


+ 7 - 6
Packages/manifest.json

@@ -4,16 +4,17 @@
     "com.google.firebase.messaging": "6.14.1",
     "com.unity.2d.sprite": "1.0.0",
     "com.unity.2d.tilemap": "1.0.0",
-    "com.unity.ads": "3.4.5",
+    "com.unity.ads": "3.4.9",
     "com.unity.analytics": "3.3.5",
-    "com.unity.collab-proxy": "1.2.16",
+    "com.unity.collab-proxy": "1.3.9",
     "com.unity.ext.nunit": "1.0.0",
-    "com.unity.ide.rider": "1.1.4",
-    "com.unity.ide.visualstudio": "1.0.11",
+    "com.unity.ide.rider": "1.2.1",
+    "com.unity.ide.visualstudio": "2.0.2",
     "com.unity.ide.vscode": "1.2.1",
+    "com.unity.inputsystem": "1.0.0",
     "com.unity.multiplayer-hlapi": "1.0.4",
-    "com.unity.test-framework": "1.1.14",
-    "com.unity.textmeshpro": "2.0.1",
+    "com.unity.test-framework": "1.1.16",
+    "com.unity.textmeshpro": "3.0.1",
     "com.unity.timeline": "1.2.6",
     "com.unity.ugui": "1.0.0",
     "com.unity.xr.legacyinputhelpers": "2.1.4",

+ 425 - 0
Packages/packages-lock.json

@@ -0,0 +1,425 @@
+{
+  "dependencies": {
+    "com.google.external-dependency-manager": {
+      "version": "1.2.155",
+      "depth": 2,
+      "source": "registry",
+      "dependencies": {},
+      "url": "https://unityregistry-pa.googleapis.com"
+    },
+    "com.google.firebase.analytics": {
+      "version": "6.14.1",
+      "depth": 0,
+      "source": "registry",
+      "dependencies": {
+        "com.google.firebase.app": "6.14.1"
+      },
+      "url": "https://unityregistry-pa.googleapis.com"
+    },
+    "com.google.firebase.app": {
+      "version": "6.14.1",
+      "depth": 1,
+      "source": "registry",
+      "dependencies": {
+        "com.google.external-dependency-manager": "1.2.155"
+      },
+      "url": "https://unityregistry-pa.googleapis.com"
+    },
+    "com.google.firebase.messaging": {
+      "version": "6.14.1",
+      "depth": 0,
+      "source": "registry",
+      "dependencies": {
+        "com.google.firebase.app": "6.14.1"
+      },
+      "url": "https://unityregistry-pa.googleapis.com"
+    },
+    "com.unity.2d.sprite": {
+      "version": "1.0.0",
+      "depth": 0,
+      "source": "builtin",
+      "dependencies": {}
+    },
+    "com.unity.2d.tilemap": {
+      "version": "1.0.0",
+      "depth": 0,
+      "source": "builtin",
+      "dependencies": {}
+    },
+    "com.unity.ads": {
+      "version": "3.4.9",
+      "depth": 0,
+      "source": "registry",
+      "dependencies": {
+        "com.unity.ugui": "1.0.0"
+      },
+      "url": "https://packages.unity.com"
+    },
+    "com.unity.analytics": {
+      "version": "3.3.5",
+      "depth": 0,
+      "source": "registry",
+      "dependencies": {
+        "com.unity.ugui": "1.0.0"
+      },
+      "url": "https://packages.unity.com"
+    },
+    "com.unity.collab-proxy": {
+      "version": "1.3.9",
+      "depth": 0,
+      "source": "registry",
+      "dependencies": {},
+      "url": "https://packages.unity.com"
+    },
+    "com.unity.ext.nunit": {
+      "version": "1.0.0",
+      "depth": 0,
+      "source": "registry",
+      "dependencies": {},
+      "url": "https://packages.unity.com"
+    },
+    "com.unity.ide.rider": {
+      "version": "1.2.1",
+      "depth": 0,
+      "source": "registry",
+      "dependencies": {
+        "com.unity.test-framework": "1.1.1"
+      },
+      "url": "https://packages.unity.com"
+    },
+    "com.unity.ide.visualstudio": {
+      "version": "2.0.2",
+      "depth": 0,
+      "source": "registry",
+      "dependencies": {},
+      "url": "https://packages.unity.com"
+    },
+    "com.unity.ide.vscode": {
+      "version": "1.2.1",
+      "depth": 0,
+      "source": "registry",
+      "dependencies": {},
+      "url": "https://packages.unity.com"
+    },
+    "com.unity.inputsystem": {
+      "version": "1.0.0",
+      "depth": 0,
+      "source": "registry",
+      "dependencies": {},
+      "url": "https://packages.unity.com"
+    },
+    "com.unity.multiplayer-hlapi": {
+      "version": "1.0.4",
+      "depth": 0,
+      "source": "registry",
+      "dependencies": {
+        "nuget.mono-cecil": "0.1.5-preview"
+      },
+      "url": "https://packages.unity.com"
+    },
+    "com.unity.test-framework": {
+      "version": "1.1.16",
+      "depth": 0,
+      "source": "registry",
+      "dependencies": {
+        "com.unity.ext.nunit": "1.0.0",
+        "com.unity.modules.imgui": "1.0.0",
+        "com.unity.modules.jsonserialize": "1.0.0"
+      },
+      "url": "https://packages.unity.com"
+    },
+    "com.unity.textmeshpro": {
+      "version": "3.0.1",
+      "depth": 0,
+      "source": "registry",
+      "dependencies": {
+        "com.unity.ugui": "1.0.0"
+      },
+      "url": "https://packages.unity.com"
+    },
+    "com.unity.timeline": {
+      "version": "1.2.6",
+      "depth": 0,
+      "source": "registry",
+      "dependencies": {},
+      "url": "https://packages.unity.com"
+    },
+    "com.unity.ugui": {
+      "version": "1.0.0",
+      "depth": 0,
+      "source": "builtin",
+      "dependencies": {
+        "com.unity.modules.ui": "1.0.0",
+        "com.unity.modules.imgui": "1.0.0"
+      }
+    },
+    "com.unity.xr.legacyinputhelpers": {
+      "version": "2.1.4",
+      "depth": 0,
+      "source": "registry",
+      "dependencies": {},
+      "url": "https://packages.unity.com"
+    },
+    "nuget.mono-cecil": {
+      "version": "0.1.5-preview",
+      "depth": 1,
+      "source": "registry",
+      "dependencies": {},
+      "url": "https://packages.unity.com"
+    },
+    "com.unity.modules.ai": {
+      "version": "1.0.0",
+      "depth": 0,
+      "source": "builtin",
+      "dependencies": {}
+    },
+    "com.unity.modules.androidjni": {
+      "version": "1.0.0",
+      "depth": 0,
+      "source": "builtin",
+      "dependencies": {}
+    },
+    "com.unity.modules.animation": {
+      "version": "1.0.0",
+      "depth": 0,
+      "source": "builtin",
+      "dependencies": {}
+    },
+    "com.unity.modules.assetbundle": {
+      "version": "1.0.0",
+      "depth": 0,
+      "source": "builtin",
+      "dependencies": {}
+    },
+    "com.unity.modules.audio": {
+      "version": "1.0.0",
+      "depth": 0,
+      "source": "builtin",
+      "dependencies": {}
+    },
+    "com.unity.modules.cloth": {
+      "version": "1.0.0",
+      "depth": 0,
+      "source": "builtin",
+      "dependencies": {
+        "com.unity.modules.physics": "1.0.0"
+      }
+    },
+    "com.unity.modules.director": {
+      "version": "1.0.0",
+      "depth": 0,
+      "source": "builtin",
+      "dependencies": {
+        "com.unity.modules.audio": "1.0.0",
+        "com.unity.modules.animation": "1.0.0"
+      }
+    },
+    "com.unity.modules.imageconversion": {
+      "version": "1.0.0",
+      "depth": 0,
+      "source": "builtin",
+      "dependencies": {}
+    },
+    "com.unity.modules.imgui": {
+      "version": "1.0.0",
+      "depth": 0,
+      "source": "builtin",
+      "dependencies": {}
+    },
+    "com.unity.modules.jsonserialize": {
+      "version": "1.0.0",
+      "depth": 0,
+      "source": "builtin",
+      "dependencies": {}
+    },
+    "com.unity.modules.particlesystem": {
+      "version": "1.0.0",
+      "depth": 0,
+      "source": "builtin",
+      "dependencies": {}
+    },
+    "com.unity.modules.physics": {
+      "version": "1.0.0",
+      "depth": 0,
+      "source": "builtin",
+      "dependencies": {}
+    },
+    "com.unity.modules.physics2d": {
+      "version": "1.0.0",
+      "depth": 0,
+      "source": "builtin",
+      "dependencies": {}
+    },
+    "com.unity.modules.screencapture": {
+      "version": "1.0.0",
+      "depth": 0,
+      "source": "builtin",
+      "dependencies": {
+        "com.unity.modules.imageconversion": "1.0.0"
+      }
+    },
+    "com.unity.modules.subsystems": {
+      "version": "1.0.0",
+      "depth": 1,
+      "source": "builtin",
+      "dependencies": {
+        "com.unity.modules.jsonserialize": "1.0.0"
+      }
+    },
+    "com.unity.modules.terrain": {
+      "version": "1.0.0",
+      "depth": 0,
+      "source": "builtin",
+      "dependencies": {}
+    },
+    "com.unity.modules.terrainphysics": {
+      "version": "1.0.0",
+      "depth": 0,
+      "source": "builtin",
+      "dependencies": {
+        "com.unity.modules.physics": "1.0.0",
+        "com.unity.modules.terrain": "1.0.0"
+      }
+    },
+    "com.unity.modules.tilemap": {
+      "version": "1.0.0",
+      "depth": 0,
+      "source": "builtin",
+      "dependencies": {
+        "com.unity.modules.physics2d": "1.0.0"
+      }
+    },
+    "com.unity.modules.ui": {
+      "version": "1.0.0",
+      "depth": 0,
+      "source": "builtin",
+      "dependencies": {}
+    },
+    "com.unity.modules.uielements": {
+      "version": "1.0.0",
+      "depth": 0,
+      "source": "builtin",
+      "dependencies": {
+        "com.unity.modules.ui": "1.0.0",
+        "com.unity.modules.imgui": "1.0.0",
+        "com.unity.modules.jsonserialize": "1.0.0",
+        "com.unity.modules.uielementsnative": "1.0.0"
+      }
+    },
+    "com.unity.modules.uielementsnative": {
+      "version": "1.0.0",
+      "depth": 1,
+      "source": "builtin",
+      "dependencies": {
+        "com.unity.modules.ui": "1.0.0",
+        "com.unity.modules.imgui": "1.0.0",
+        "com.unity.modules.jsonserialize": "1.0.0"
+      }
+    },
+    "com.unity.modules.umbra": {
+      "version": "1.0.0",
+      "depth": 0,
+      "source": "builtin",
+      "dependencies": {}
+    },
+    "com.unity.modules.unityanalytics": {
+      "version": "1.0.0",
+      "depth": 0,
+      "source": "builtin",
+      "dependencies": {
+        "com.unity.modules.unitywebrequest": "1.0.0",
+        "com.unity.modules.jsonserialize": "1.0.0"
+      }
+    },
+    "com.unity.modules.unitywebrequest": {
+      "version": "1.0.0",
+      "depth": 0,
+      "source": "builtin",
+      "dependencies": {}
+    },
+    "com.unity.modules.unitywebrequestassetbundle": {
+      "version": "1.0.0",
+      "depth": 0,
+      "source": "builtin",
+      "dependencies": {
+        "com.unity.modules.assetbundle": "1.0.0",
+        "com.unity.modules.unitywebrequest": "1.0.0"
+      }
+    },
+    "com.unity.modules.unitywebrequestaudio": {
+      "version": "1.0.0",
+      "depth": 0,
+      "source": "builtin",
+      "dependencies": {
+        "com.unity.modules.unitywebrequest": "1.0.0",
+        "com.unity.modules.audio": "1.0.0"
+      }
+    },
+    "com.unity.modules.unitywebrequesttexture": {
+      "version": "1.0.0",
+      "depth": 0,
+      "source": "builtin",
+      "dependencies": {
+        "com.unity.modules.unitywebrequest": "1.0.0",
+        "com.unity.modules.imageconversion": "1.0.0"
+      }
+    },
+    "com.unity.modules.unitywebrequestwww": {
+      "version": "1.0.0",
+      "depth": 0,
+      "source": "builtin",
+      "dependencies": {
+        "com.unity.modules.unitywebrequest": "1.0.0",
+        "com.unity.modules.unitywebrequestassetbundle": "1.0.0",
+        "com.unity.modules.unitywebrequestaudio": "1.0.0",
+        "com.unity.modules.audio": "1.0.0",
+        "com.unity.modules.assetbundle": "1.0.0",
+        "com.unity.modules.imageconversion": "1.0.0"
+      }
+    },
+    "com.unity.modules.vehicles": {
+      "version": "1.0.0",
+      "depth": 0,
+      "source": "builtin",
+      "dependencies": {
+        "com.unity.modules.physics": "1.0.0"
+      }
+    },
+    "com.unity.modules.video": {
+      "version": "1.0.0",
+      "depth": 0,
+      "source": "builtin",
+      "dependencies": {
+        "com.unity.modules.audio": "1.0.0",
+        "com.unity.modules.ui": "1.0.0",
+        "com.unity.modules.unitywebrequest": "1.0.0"
+      }
+    },
+    "com.unity.modules.vr": {
+      "version": "1.0.0",
+      "depth": 0,
+      "source": "builtin",
+      "dependencies": {
+        "com.unity.modules.jsonserialize": "1.0.0",
+        "com.unity.modules.physics": "1.0.0",
+        "com.unity.modules.xr": "1.0.0"
+      }
+    },
+    "com.unity.modules.wind": {
+      "version": "1.0.0",
+      "depth": 0,
+      "source": "builtin",
+      "dependencies": {}
+    },
+    "com.unity.modules.xr": {
+      "version": "1.0.0",
+      "depth": 0,
+      "source": "builtin",
+      "dependencies": {
+        "com.unity.modules.physics": "1.0.0",
+        "com.unity.modules.jsonserialize": "1.0.0",
+        "com.unity.modules.subsystems": "1.0.0"
+      }
+    }
+  }
+}

+ 3 - 0
ProjectSettings/EditorBuildSettings.asset

@@ -17,4 +17,7 @@ EditorBuildSettings:
   - enabled: 1
     path: Assets/Scenes/narKampen.unity
     guid: 173419871896d2742a84e462fa3af7df
+  - enabled: 1
+    path: Assets/Scenes/Settings.unity
+    guid: ebce5b95fcd20ea41b58381baa6cc020
   m_configObjects: {}

+ 51 - 0
ProjectSettings/PackageManagerSettings.asset

@@ -0,0 +1,51 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &1
+MonoBehaviour:
+  m_ObjectHideFlags: 61
+  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: 13964, guid: 0000000000000000e000000000000000, type: 0}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_EnablePreviewPackages: 0
+  m_EnablePackageDependencies: 0
+  m_AdvancedSettingsExpanded: 1
+  m_ScopedRegistriesSettingsExpanded: 1
+  oneTimeWarningShown: 0
+  m_Registries:
+  - m_Id: main
+    m_Name: 
+    m_Url: https://packages.unity.com
+    m_Scopes: []
+    m_IsDefault: 1
+    m_Capabilities: 7
+  - m_Id: scoped:Game Package Registry by Google
+    m_Name: Game Package Registry by Google
+    m_Url: https://unityregistry-pa.googleapis.com
+    m_Scopes:
+    - com.google
+    m_IsDefault: 0
+    m_Capabilities: 0
+  m_UserSelectedRegistryName: 
+  m_UserAddingNewScopedRegistry: 0
+  m_RegistryInfoDraft:
+    m_ErrorMessage: 
+    m_Original:
+      m_Id: scoped:Game Package Registry by Google
+      m_Name: Game Package Registry by Google
+      m_Url: https://unityregistry-pa.googleapis.com
+      m_Scopes:
+      - com.google
+      m_IsDefault: 0
+      m_Capabilities: 0
+    m_Modified: 0
+    m_Name: Game Package Registry by Google
+    m_Url: https://unityregistry-pa.googleapis.com
+    m_Scopes:
+    - com.google
+    m_SelectedScopeIndex: 0

+ 20 - 4
ProjectSettings/ProjectSettings.asset

@@ -49,6 +49,8 @@ PlayerSettings:
   m_StereoRenderingPath: 0
   m_ActiveColorSpace: 0
   m_MTRendering: 1
+  mipStripping: 0
+  numberOfMipsStripped: 0
   m_StackTraceTypes: 010000000100000001000000010000000100000001000000
   iosShowActivityIndicatorOnLoading: -1
   androidShowActivityIndicatorOnLoading: -1
@@ -111,10 +113,13 @@ PlayerSettings:
   switchNVNShaderPoolsGranularity: 33554432
   switchNVNDefaultPoolsGranularity: 16777216
   switchNVNOtherPoolsGranularity: 16777216
+  switchNVNMaxPublicTextureIDCount: 0
+  switchNVNMaxPublicSamplerIDCount: 0
   stadiaPresentMode: 0
   stadiaTargetFramerate: 0
   vulkanNumSwapchainBuffers: 3
   vulkanEnableSetSRGBWrite: 0
+  vulkanEnableLateAcquireNextImage: 0
   m_SupportedAspectRatios:
     4:3: 1
     5:4: 1
@@ -183,10 +188,10 @@ PlayerSettings:
   StripUnusedMeshComponents: 0
   VertexChannelCompressionMask: 214
   iPhoneSdkVersion: 988
-  iOSTargetOSVersionString: 10.0
+  iOSTargetOSVersionString: 11.0
   tvOSSdkVersion: 0
   tvOSRequireExtendedGameController: 0
-  tvOSTargetOSVersionString: 10.0
+  tvOSTargetOSVersionString: 11.0
   uIPrerenderedIcon: 0
   uIRequiresPersistentWiFi: 0
   uIRequiresFullScreen: 1
@@ -258,6 +263,9 @@ PlayerSettings:
     height: 180
     banner: {fileID: 2800000, guid: bf12e139794f4d54b9b71699c524a038, type: 3}
   androidGamepadSupportLevel: 0
+  AndroidMinifyWithR8: 0
+  AndroidMinifyRelease: 0
+  AndroidMinifyDebug: 0
   AndroidValidateAppBundleSize: 1
   AndroidAppBundleSizeToValidate: 100
   m_BuildTargetIcons:
@@ -435,12 +443,14 @@ PlayerSettings:
   cameraUsageDescription: 
   locationUsageDescription: 
   microphoneUsageDescription: 
+  switchNMETAOverride: 
   switchNetLibKey: 
   switchSocketMemoryPoolSize: 6144
   switchSocketAllocatorPoolSize: 128
   switchSocketConcurrencyLimit: 14
   switchScreenResolutionBehavior: 2
   switchUseCPUProfiler: 0
+  switchUseGOLDLinker: 0
   switchApplicationID: 0x01004b9000490000
   switchNSODependencies: 
   switchTitleNames_0: 
@@ -591,6 +601,7 @@ PlayerSettings:
   ps4ShareFilePath: 
   ps4ShareOverlayImagePath: 
   ps4PrivacyGuardImagePath: 
+  ps4ExtraSceSysFile: 
   ps4NPtitleDatPath: 
   ps4RemotePlayKeyAssignment: -1
   ps4RemotePlayKeyMappingDir: 
@@ -633,6 +644,8 @@ PlayerSettings:
   ps4disableAutoHideSplash: 0
   ps4videoRecordingFeaturesUsed: 0
   ps4contentSearchFeaturesUsed: 0
+  ps4CompatibilityPS5: 0
+  ps4GPU800MHz: 1
   ps4attribEyeToEyeDistanceSettingVR: 0
   ps4IncludedModules: []
   ps4attribVROutputEnabled: 0
@@ -652,9 +665,10 @@ PlayerSettings:
   webGLAnalyzeBuildSize: 0
   webGLUseEmbeddedResources: 0
   webGLCompressionFormat: 1
+  webGLWasmArithmeticExceptions: 0
   webGLLinkerTarget: 1
   webGLThreadsSupport: 0
-  webGLWasmStreaming: 0
+  webGLDecompressionFallback: 0
   scriptingDefineSymbols: {}
   platformArchitecture: {}
   scriptingBackend:
@@ -663,6 +677,7 @@ PlayerSettings:
   managedStrippingLevel: {}
   incrementalIl2cppBuild: {}
   allowUnsafeCode: 0
+  useDeterministicCompilation: 0
   additionalIl2CppArgs: 
   scriptingRuntimeVersion: 1
   gcIncremental: 0
@@ -750,6 +765,7 @@ PlayerSettings:
   projectName: NarKampenV3
   organizationId: axelnordh
   cloudEnabled: 0
-  enableNativePlatformBackendsForNewInputSystem: 0
+  enableNativePlatformBackendsForNewInputSystem: 1
   disableOldInputManagerSupport: 0
   legacyClampBlendShapeWeights: 1
+  virtualTexturingSupportEnabled: 0

+ 2 - 2
ProjectSettings/ProjectVersion.txt

@@ -1,2 +1,2 @@
-m_EditorVersion: 2019.3.15f1
-m_EditorVersionWithRevision: 2019.3.15f1 (59ff3e03856d)
+m_EditorVersion: 2020.1.8f1
+m_EditorVersionWithRevision: 2020.1.8f1 (22e8c0b0c3ec)

BIN
ProjectSettings/VersionControlSettings.asset


BIN
UserSettings/EditorUserSettings.asset


+ 1 - 1
app.config

@@ -4,7 +4,7 @@
     <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
       <dependentAssembly>
         <assemblyIdentity name="System.IO.Compression" publicKeyToken="b77a5c561934e089" culture="neutral" />
-        <bindingRedirect oldVersion="0.0.0.0-4.1.3.0" newVersion="4.1.3.0" />
+        <bindingRedirect oldVersion="0.0.0.0-4.1.3.0Constants.LOCAL newVersion="4.1.3.0" />
       </dependentAssembly>
     </assemblyBinding>
   </runtime>

+ 2 - 2
dbFiles/Categories.php

@@ -11,7 +11,7 @@
 	}
 	mysqli_set_charset($conn,'utf8');
 		
-	$gameId = $_POST['gameId'];
+	$gameId = $_POST['GameId'];
 
 	$categoryFilter = "";
 	if ($gameId == -1) {
@@ -36,7 +36,7 @@
 		echo json_encode($returnArray);
 		
 	} else {
-		echo "ERROR - No Categories found";
+		echo "ERROR - No Categories found by sql " . $sql;
 	}
 	$conn->close();
 	

+ 1 - 1
dbFiles/FirebaseCaller.php

@@ -22,7 +22,7 @@
 	$messageType = $conn->real_escape_string(isset($_POST['type'])?$_POST['type']:"");
 	$title = $conn->real_escape_string($_POST['title']);
 	$messageToSend = $_POST['message'];
-	$gameId = $conn->real_escape_string($_POST['gameId']);
+	$gameId = $conn->real_escape_string($_POST['GameId']);
 
 	if ($messageType === "FCMNextPlayer") {
 		$playerName = $conn->real_escape_string($_POST['playerName']);

+ 3 - 2
dbFiles/NewOnlineGame.php

@@ -20,11 +20,12 @@
 	$categoryIds = $_POST['categoryIds'];
 	
 	$playerIdsArray = explode(",",$playerIds);
+	shuffle($playerIdsArray);
 	$playerCount = count($playerIdsArray);
 	if ($playerCount == 1) {
 		$status = "STARTED";
 	} else {
-		$status = "PENDING";
+		$status = Constants.GAME_STATUS_PENDING;
 	}
 	$sql = "INSERT INTO game(" .
 			"gameMode, " .
@@ -43,7 +44,7 @@
 			"$limitPerQuestion, " .
 			"$limitPerPlayer, " .
 			"$playerCount, " .
-			"(SELECT id FROM users WHERE id IN ($playerIds) ORDER BY RAND() LIMIT 1), " .
+			$playerIdsArray[0] . ", " .
 			"1, " .
 			"NOW())";
 	

+ 1 - 1
dbFiles/OnlineGameInfo.php

@@ -10,7 +10,7 @@
 	}
 	mysqli_set_charset($conn,'utf8');
 	
-	$gameId = $conn->real_escape_string($_POST['gameId']);
+	$gameId = $conn->real_escape_string($_POST['GameId']);
 	$callFunction = $conn->real_escape_string($_POST['f']);
 	
 	if ($callFunction === "GetGameInfo") {

+ 10 - 1
dbFiles/OnlineGames.php

@@ -13,7 +13,7 @@
 	
 	$userId = $conn->real_escape_string(isset($_POST['userId'])?$_POST['userId']:"");
 	$callFunction = $conn->real_escape_string(isset($_POST['f'])?$_POST['f']:"");
-	$gameId = $conn->real_escape_string(isset($_POST['gameId'])?$_POST['gameId']:"");
+	$gameId = $conn->real_escape_string(isset($_POST['GameId'])?$_POST['GameId']:"");
 	$userName = $conn->real_escape_string(isset($_POST['userName'])?$_POST['userName']:"");
 	$userId = $conn->query("SELECT id FROM users where username = '$userName'")->fetch_assoc()['id'];
 	
@@ -179,6 +179,10 @@
 		if (!$result) {
 			echo "Failed to update current player for game with id $gameId - error: " . $conn->error;
 		}
+	} else if ($callFunction === "SetPlayerRound") {
+		$player = $_POST['player'];
+		$sql = "UPDATE gamePlayers SET playerRound = playerRound + 1 WHERE playerId = (Select id FROM users WHERE username = '" . $player . "' AND gameId = $gameId";
+		$conn->query($sql);
 	} else if ($callFunction === "GetRound") {
 		$sql = "SELECT round FROM game WHERE id = $gameId";
 		$result = $conn->query($sql);
@@ -238,6 +242,11 @@
 		$setFinishedStatusSql = "UPDATE game SET status = 'FINISHED' WHERE id = $gameId";
 
 		$conn->query($setFinishedStatusSql);
+	} else if ($callFunction === "IncreasePlayerRound") {
+		$playerName = $_POST['player'];
+		
+		$sql = "UPDATE gamePlayers SET playerRound = playerRound + 1 WHERE gameId = $gameId AND playerId = (SELECT id FROM users WHERE username = '$playerName'";
+		$conn->query($sql);
 	}
 	
 	

+ 1 - 1
dbFiles/Question.php

@@ -7,7 +7,7 @@
 
 	$conn = new mysqli($hostname, $username, $pass, $database);
 	
-	$gameId = $_POST["gameId"];
+	$gameId = $_POST[Constants.GAME_ID];
 	$playerId = $_POST['playerId'];
 	
 	if (!$conn) {

+ 1 - 1
narkampen-firebase-adminsdk-k42j5-d3d0354e37.json

@@ -1,6 +1,6 @@
 {
   "type": "service_account",
-  "project_id": "narkampen",
+  "project_id": Constants.SCENE_NAR_KAMPEN,
   "private_key_id": "d3d0354e375c1d56dcca7091c1ff32e466d082ff",
   "private_key": "-----BEGIN PRIVATE KEY-----\nMIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC3go32Bwiybeg/\n1FJlW7kuGcuMNRenZSudmMsubX666jZACT4ipzaJtEB8abnaec+WEPzYSFYtQyGK\n2tTTEnoVdAqlIG1rBnEt3nP9X4Shz4vbQCcu4yX1WHQsYg5wAEzFI9ER1hCFsc/J\nTEL0K4+NlFQALao8cb89/tFRCST+ftIu7xFoaxLJUmVDBuNSwId+YRXmBUHSOYYf\nxdQWZDN0u6Zpt0WAVGZoJSo5bx2QjKquuou7/EhdWHJ6D77ddU955F1Y4i24Iaem\nQw/n6wbMb60BSZy6MBFzf64/UHnyEo8lZSBN+TKLT4pNDUUYsU6Cc/hv5zUHy1JC\n1HvMoLo5AgMBAAECggEAR2IEgMBptKamIjYgOwc7+F/WWtrIMbhcB/jIiG3VTzYO\nFkjCH861m0k/kGW8Au1BP5mqESPKSd8ELDRFdzmHvdKe1W7QwUIHQpV2vwep2xuV\nxpqk40s+l7pprl4SSaUEN+dfyzVexfLN5frBTKOpOqSJLGyW/N4uSxpVJ9WLy2a1\neXk8H7gTPmMX0C8CGXTxFGhnUA1GlW7UARAb0tKPUrziPlECNpSFC/8/THT0iY66\ncwMfg62lxg29IuS2Qo2+e2JlOAyhnJbQ/0P5N7TKfhzsaNelaVwjFzdAkXVYTo1F\nXKqqV5wAL4kCq6HLf+lw4Ir49nMTMVA0XdJu5tgTBQKBgQD4rnAolIDMKgxZLyyp\nbKhV+jWhZyclDTvBvSdm/n3aP4pAeWrh+vB+20JoUSrAtL6rJnTv1BiejorYbsRl\nbQyMekiwdIRfJNBxmCk3tffi/7pN+5ogPzbLe/t6yE+z1LHVzY+Nfy6DDT8li+db\ntld8qqzKjIgtesUWZaQCaVYwbwKBgQC86R2tVvDX/DBIwicay01XFv+lDdG5aDgq\ntsoeskVspWPMjjnYkHqxh4U5Op5jmgbvo3Mk4VxDStYgHkFOTMUteOLgfkf/yfis\n3F+XWOcJinUY6Vizczc/cjIcLjCGnECZwG5hz2vCxIQ8VtGrEQ/K2pTNu2deMGnN\nn3vC+P9D1wKBgQD23hxDfKCbjQZzJoycqFw39cp1rvRCKO/wdTl/WhZPqZIyTRZY\nvYcvN7Sl4CWj5gn915BwYMoL5Q9aqiNXWLkDX4V3fkPGO8KdceNBBejONPWa4rFv\nX7GisTLGAcJ1kCj2STk/y0i+GlFckZUcC1iwTrJ35KhvFZg/kqkNJ8rDCwKBgAoI\ns8vWN1qxiXsD3QHeVJBQp2mD72TStVEHfnrc6zUXH9LopwfqvKmbUic1Bt6xerbV\nzrLhyX3FhtQT51IaX8rHhf14l6hteOjtl6I5VaQ7F3coRc7aSs/y59h5V5h+yiug\nffxyAP5KY9+0mNRmRpl2vLqkvpvRJH2IgBFeGmjnAoGBALHVOIab9pNvDB0/DA3r\nrgyGVKKE90RhGtsZZj/4/+mrxPbiLOFc3ia0KmEk80l2xdfmq66uX3H17TDKUrOZ\nPfiAmw1FVsSUabdqkT3rPW4d0YG+GIn9Hu1Q9uKYKVaxllopyQlWBjWeHNQ2VVhp\nJQi656i1QN45aVSauNzcAo+l\n-----END PRIVATE KEY-----\n",
   "client_email": "firebase-adminsdk-k42j5@narkampen.iam.gserviceaccount.com",

Some files were not shown because too many files changed in this diff