Kaynağa Gözat

Local game somewhat done, early beta?

Axel Nordh 7 yıl önce
ebeveyn
işleme
9f0e8f7cb0
38 değiştirilmiş dosya ile 5156 ekleme ve 596 silme
  1. BIN
      Assets/Images/icons8-play-26.png
  2. 88 0
      Assets/Images/icons8-play-26.png.meta
  3. BIN
      Assets/Images/rubbish-bin.png
  4. 88 0
      Assets/Images/rubbish-bin.png.meta
  5. 716 79
      Assets/MainMenu.unity
  6. 0 9
      Assets/Movinarc/PackageUninstaller.meta
  7. 2214 0
      Assets/Prefab/LocalGame.prefab
  8. 7 0
      Assets/Prefab/LocalGame.prefab.meta
  9. 17 2
      Assets/Prefab/NewQuestion.prefab
  10. 314 0
      Assets/Prefab/PlayerInfo.prefab
  11. 7 0
      Assets/Prefab/PlayerInfo.prefab.meta
  12. 3 3
      Assets/Prefab/PlayerSetting.prefab
  13. 6 0
      Assets/Prefab/QuestionCard.prefab
  14. 170 0
      Assets/Prefab/TimerCircle.prefab
  15. 7 0
      Assets/Prefab/TimerCircle.prefab.meta
  16. 53 0
      Assets/RoundButtonsScript.cs
  17. 11 0
      Assets/RoundButtonsScript.cs.meta
  18. 434 0
      Assets/Scripts/Database.cs
  19. 11 0
      Assets/Scripts/Database.cs.meta
  20. 5 0
      Assets/Scripts/Draggable.cs
  21. 58 0
      Assets/Scripts/EventManager.cs
  22. 11 0
      Assets/Scripts/EventManager.cs.meta
  23. 47 0
      Assets/Scripts/GameManagerScript.cs
  24. 11 0
      Assets/Scripts/GameManagerScript.cs.meta
  25. 8 3
      Assets/Scripts/GeneralDialog/GenericDialog.cs
  26. 73 0
      Assets/Scripts/LocalGameScript.cs
  27. 11 0
      Assets/Scripts/LocalGameScript.cs.meta
  28. 60 29
      Assets/Scripts/MainMenu.cs
  29. 5 7
      Assets/Scripts/NewQuestion.cs
  30. 20 0
      Assets/Scripts/PlayerInfo.cs
  31. 11 0
      Assets/Scripts/PlayerInfo.cs.meta
  32. 2 8
      Assets/Scripts/QuestionCard.cs
  33. 158 43
      Assets/Scripts/ScrollViewScript.cs
  34. 56 13
      Assets/Scripts/StatsScript.cs
  35. 58 10
      Assets/Scripts/TimerScript.cs
  36. 409 390
      Assets/narKampen.unity
  37. BIN
      Assets/narKampenLocal.db
  38. 7 0
      Assets/narKampenLocal.db.meta

BIN
Assets/Images/icons8-play-26.png


+ 88 - 0
Assets/Images/icons8-play-26.png.meta

@@ -0,0 +1,88 @@
+fileFormatVersion: 2
+guid: 57298fbd52a28eb44bcaf1537a27e53e
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  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
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: ca9f2ea6ddec044478a70ea259092523
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
Assets/Images/rubbish-bin.png


+ 88 - 0
Assets/Images/rubbish-bin.png.meta

@@ -0,0 +1,88 @@
+fileFormatVersion: 2
+guid: 1db831c1f6b277342926be6d7cf0d2cc
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  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
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 25c027903309d01498fe7dae94298832
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

Dosya farkı çok büyük olduğundan ihmal edildi
+ 716 - 79
Assets/MainMenu.unity


+ 0 - 9
Assets/Movinarc/PackageUninstaller.meta

@@ -1,9 +0,0 @@
-fileFormatVersion: 2
-guid: a47b06b8f00d4384495519fb6cea4522
-folderAsset: yes
-timeCreated: 1428752350
-licenseType: Store
-DefaultImporter:
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 

+ 2214 - 0
Assets/Prefab/LocalGame.prefab

@@ -0,0 +1,2214 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &42619528544656127
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1116830186213535936}
+  - component: {fileID: 2327726590543259668}
+  - component: {fileID: 2501885493253421566}
+  m_Layer: 5
+  m_Name: SecondSet
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1116830186213535936
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 42619528544656127}
+  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: 4507242760725225999}
+  - {fileID: 3825421921045616686}
+  - {fileID: 1697649127049410735}
+  - {fileID: 2624966628068292946}
+  - {fileID: 7263392944381503667}
+  - {fileID: 7851769284838558382}
+  m_Father: {fileID: 5023127887778350163}
+  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: 56}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &2327726590543259668
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 42619528544656127}
+  m_CullTransparentMesh: 0
+--- !u!114 &2501885493253421566
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 42619528544656127}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 0.9411765}
+  m_RaycastTarget: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+      Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+  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: 1
+--- !u!1 &618395110754206352
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 94255188951414047}
+  - component: {fileID: 6939083419617496641}
+  - component: {fileID: 200170930938477676}
+  m_Layer: 5
+  m_Name: Handle
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &94255188951414047
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 618395110754206352}
+  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: 141134251706582632}
+  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!222 &6939083419617496641
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 618395110754206352}
+  m_CullTransparentMesh: 0
+--- !u!114 &200170930938477676
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 618395110754206352}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+      Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+  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
+--- !u!1 &1227600613147041323
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 5069358253752073381}
+  - component: {fileID: 8738922778625025522}
+  - component: {fileID: 7638124527190342456}
+  m_Layer: 5
+  m_Name: Image
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &5069358253752073381
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1227600613147041323}
+  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: 74425638051798129}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0.5}
+  m_AnchorMax: {x: 0.5, y: 0.5}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 15, y: 15}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &8738922778625025522
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1227600613147041323}
+  m_CullTransparentMesh: 0
+--- !u!114 &7638124527190342456
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1227600613147041323}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+      Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+  m_Sprite: {fileID: 21300000, guid: 1db831c1f6b277342926be6d7cf0d2cc, 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
+--- !u!1 &1664908716489364341
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 5163841379501265449}
+  - component: {fileID: 1679201117906561037}
+  m_Layer: 5
+  m_Name: Content
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &5163841379501265449
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1664908716489364341}
+  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: 836720572515074108}
+  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: 210, y: 55}
+  m_Pivot: {x: 0, y: 0.5}
+--- !u!114 &1679201117906561037
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1664908716489364341}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1297475563, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Padding:
+    m_Left: 0
+    m_Right: 0
+    m_Top: 0
+    m_Bottom: 0
+  m_ChildAlignment: 0
+  m_Spacing: 2
+  m_ChildForceExpandWidth: 1
+  m_ChildForceExpandHeight: 0
+  m_ChildControlWidth: 1
+  m_ChildControlHeight: 0
+--- !u!1 &1817048224785970866
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 3825421921045616686}
+  - component: {fileID: 4423267948463624571}
+  - component: {fileID: 9086838199245484855}
+  m_Layer: 5
+  m_Name: LastPlayedText
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &3825421921045616686
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1817048224785970866}
+  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: 1116830186213535936}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 0, y: 1}
+  m_AnchoredPosition: {x: 5, y: -27.924988}
+  m_SizeDelta: {x: 125, y: 20}
+  m_Pivot: {x: 0, y: 0.5}
+--- !u!222 &4423267948463624571
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1817048224785970866}
+  m_CullTransparentMesh: 0
+--- !u!114 &9086838199245484855
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1817048224785970866}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+  m_RaycastTarget: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+      Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+  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: 0
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: Last played
+--- !u!1 &2082655178611575159
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1697649127049410735}
+  - component: {fileID: 6329110866332479920}
+  - component: {fileID: 3367042676641082177}
+  m_Layer: 5
+  m_Name: FinishedText
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1697649127049410735
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2082655178611575159}
+  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: 1116830186213535936}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 0, y: 1}
+  m_AnchoredPosition: {x: 5, y: -55.850006}
+  m_SizeDelta: {x: 125, y: 20}
+  m_Pivot: {x: 0, y: 0}
+--- !u!222 &6329110866332479920
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2082655178611575159}
+  m_CullTransparentMesh: 0
+--- !u!114 &3367042676641082177
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2082655178611575159}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+  m_RaycastTarget: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+      Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+  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: 0
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: Date finished
+--- !u!1 &3017067386826634500
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 74425638051798129}
+  - component: {fileID: 7635040467168009077}
+  - component: {fileID: 671025367310041736}
+  - component: {fileID: 7789072483948193122}
+  m_Layer: 5
+  m_Name: DeleteButton
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &74425638051798129
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3017067386826634500}
+  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: 5069358253752073381}
+  m_Father: {fileID: 811018145157722118}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 1, y: 1}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 20, y: 20}
+  m_Pivot: {x: 1, y: 1}
+--- !u!222 &7635040467168009077
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3017067386826634500}
+  m_CullTransparentMesh: 0
+--- !u!114 &671025367310041736
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3017067386826634500}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+      Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+  m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 0
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+--- !u!114 &7789072483948193122
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3017067386826634500}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, 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_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_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 671025367310041736}
+  m_OnClick:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+--- !u!1 &3605599147948487036
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 4000913085181046185}
+  - component: {fileID: 3229588560087873816}
+  - component: {fileID: 3024353618322409956}
+  - component: {fileID: 3843912538627643036}
+  m_Layer: 5
+  m_Name: StartButton
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &4000913085181046185
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3605599147948487036}
+  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: 4204670196405447269}
+  m_Father: {fileID: 811018145157722118}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 1, y: 0}
+  m_AnchorMax: {x: 1, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 20, y: 20}
+  m_Pivot: {x: 1, y: 0}
+--- !u!222 &3229588560087873816
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3605599147948487036}
+  m_CullTransparentMesh: 0
+--- !u!114 &3024353618322409956
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3605599147948487036}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+      Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+  m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 0
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+--- !u!114 &3843912538627643036
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3605599147948487036}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, 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_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_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 3024353618322409956}
+  m_OnClick:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+--- !u!1 &4032945670509132161
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 2576524311624294734}
+  - component: {fileID: 6182560893298494505}
+  - component: {fileID: 1842462612431922134}
+  - component: {fileID: 5115417198119527972}
+  m_Layer: 5
+  m_Name: PlayerPanel
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &2576524311624294734
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4032945670509132161}
+  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: 836720572515074108}
+  - {fileID: 2648654414683390979}
+  m_Father: {fileID: 811018145157722118}
+  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: 301.1, y: 60}
+  m_Pivot: {x: 0, y: 0.5}
+--- !u!114 &6182560893298494505
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4032945670509132161}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1367256648, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Content: {fileID: 5163841379501265449}
+  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: 836720572515074108}
+  m_HorizontalScrollbar: {fileID: 0}
+  m_VerticalScrollbar: {fileID: 8997571400812670112}
+  m_HorizontalScrollbarVisibility: 2
+  m_VerticalScrollbarVisibility: 1
+  m_HorizontalScrollbarSpacing: -3
+  m_VerticalScrollbarSpacing: -3
+  m_OnValueChanged:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.ScrollRect+ScrollRectEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+--- !u!222 &1842462612431922134
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4032945670509132161}
+  m_CullTransparentMesh: 0
+--- !u!114 &5115417198119527972
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4032945670509132161}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 0.392}
+  m_RaycastTarget: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+      Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+  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
+--- !u!1 &5023127886737789045
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 5023127886737789046}
+  - component: {fileID: 5023127886737789048}
+  - component: {fileID: 5023127886737789047}
+  m_Layer: 5
+  m_Name: FirstSet
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &5023127886737789046
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5023127886737789045}
+  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: 5023127888765457907}
+  - {fileID: 5023127886976451395}
+  - {fileID: 5023127888712049900}
+  - {fileID: 5023127887786194206}
+  - {fileID: 5023127888652341888}
+  - {fileID: 5023127887985366416}
+  m_Father: {fileID: 5023127887778350163}
+  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: 56}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &5023127886737789048
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5023127886737789045}
+  m_CullTransparentMesh: 0
+--- !u!114 &5023127886737789047
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5023127886737789045}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 0.9411765}
+  m_RaycastTarget: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+      Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+  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
+--- !u!1 &5023127886976451394
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 5023127886976451395}
+  - component: {fileID: 5023127886976451397}
+  - component: {fileID: 5023127886976451396}
+  m_Layer: 5
+  m_Name: NumberToWinText
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &5023127886976451395
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5023127886976451394}
+  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: 5023127886737789046}
+  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: 5, y: 0}
+  m_SizeDelta: {x: 125, y: 20}
+  m_Pivot: {x: 0, y: 0.5}
+--- !u!222 &5023127886976451397
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5023127886976451394}
+  m_CullTransparentMesh: 0
+--- !u!114 &5023127886976451396
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5023127886976451394}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+  m_RaycastTarget: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+      Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+  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: 0
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: Needed to win
+--- !u!1 &5023127887778350162
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 5023127887778350163}
+  - component: {fileID: 5023127887778350167}
+  - component: {fileID: 5023127887778350166}
+  - component: {fileID: 5023127887778350164}
+  - component: {fileID: 6215567905525528358}
+  - component: {fileID: 5057488155341461589}
+  m_Layer: 5
+  m_Name: LocalGame
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &5023127887778350163
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5023127887778350162}
+  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: 5023127886737789046}
+  - {fileID: 1116830186213535936}
+  - {fileID: 811018145157722118}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0.5}
+  m_AnchorMax: {x: 0.5, y: 0.5}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 1006, y: 60}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &5023127887778350167
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5023127887778350162}
+  m_CullTransparentMesh: 0
+--- !u!114 &5023127887778350166
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5023127887778350162}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0, g: 0, b: 0, a: 1}
+  m_RaycastTarget: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+      Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+  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
+--- !u!114 &5023127887778350164
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5023127887778350162}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1679637790, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_IgnoreLayout: 0
+  m_MinWidth: -1
+  m_MinHeight: 60
+  m_PreferredWidth: -1
+  m_PreferredHeight: 60
+  m_FlexibleWidth: 1
+  m_FlexibleHeight: 0
+  m_LayoutPriority: 1
+--- !u!114 &6215567905525528358
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5023127887778350162}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: d18159e03f7340f4c955abe45eaec013, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  content: {fileID: 5163841379501265449}
+  playerInfoPrefab: {fileID: 1668827557623854269, guid: 60b5f76dad1e30a408a805de4745bec4,
+    type: 3}
+  startButton: {fileID: 3843912538627643036}
+  deleteButton: {fileID: 7789072483948193122}
+--- !u!114 &5057488155341461589
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5023127887778350162}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -405508275, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Padding:
+    m_Left: 2
+    m_Right: 2
+    m_Top: 2
+    m_Bottom: 2
+  m_ChildAlignment: 0
+  m_Spacing: 0
+  m_ChildForceExpandWidth: 1
+  m_ChildForceExpandHeight: 0
+  m_ChildControlWidth: 1
+  m_ChildControlHeight: 0
+--- !u!1 &5023127887786194205
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 5023127887786194206}
+  - component: {fileID: 5023127887786194176}
+  - component: {fileID: 5023127887786194207}
+  m_Layer: 5
+  m_Name: NumPlayersValue
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &5023127887786194206
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5023127887786194205}
+  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: 5023127886737789046}
+  m_RootOrder: 3
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 0, y: 1}
+  m_AnchoredPosition: {x: 130, y: 0}
+  m_SizeDelta: {x: 40, y: 20}
+  m_Pivot: {x: 0, y: 1}
+--- !u!222 &5023127887786194176
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5023127887786194205}
+  m_CullTransparentMesh: 0
+--- !u!114 &5023127887786194207
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5023127887786194205}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+  m_RaycastTarget: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+      Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+  m_FontData:
+    m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+    m_FontSize: 14
+    m_FontStyle: 0
+    m_BestFit: 1
+    m_MinSize: 10
+    m_MaxSize: 14
+    m_Alignment: 0
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: 1
+--- !u!1 &5023127887985366511
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 5023127887985366416}
+  - component: {fileID: 5023127887985366418}
+  - component: {fileID: 5023127887985366417}
+  m_Layer: 5
+  m_Name: RoundValue
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &5023127887985366416
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5023127887985366511}
+  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: 5023127886737789046}
+  m_RootOrder: 5
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 130, y: 0}
+  m_SizeDelta: {x: 40, y: 20}
+  m_Pivot: {x: 0, y: 0}
+--- !u!222 &5023127887985366418
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5023127887985366511}
+  m_CullTransparentMesh: 0
+--- !u!114 &5023127887985366417
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5023127887985366511}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+  m_RaycastTarget: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+      Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+  m_FontData:
+    m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+    m_FontSize: 14
+    m_FontStyle: 0
+    m_BestFit: 1
+    m_MinSize: 10
+    m_MaxSize: 14
+    m_Alignment: 0
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: 1
+--- !u!1 &5023127888652341919
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 5023127888652341888}
+  - component: {fileID: 5023127888652341890}
+  - component: {fileID: 5023127888652341889}
+  m_Layer: 5
+  m_Name: NumberToWinValue
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &5023127888652341888
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5023127888652341919}
+  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: 5023127886737789046}
+  m_RootOrder: 4
+  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: 130, y: 0}
+  m_SizeDelta: {x: 40, y: 20}
+  m_Pivot: {x: 0, y: 0.5}
+--- !u!222 &5023127888652341890
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5023127888652341919}
+  m_CullTransparentMesh: 0
+--- !u!114 &5023127888652341889
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5023127888652341919}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+  m_RaycastTarget: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+      Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+  m_FontData:
+    m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+    m_FontSize: 14
+    m_FontStyle: 0
+    m_BestFit: 1
+    m_MinSize: 10
+    m_MaxSize: 14
+    m_Alignment: 0
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: 10
+--- !u!1 &5023127888712049899
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 5023127888712049900}
+  - component: {fileID: 5023127888712049902}
+  - component: {fileID: 5023127888712049901}
+  m_Layer: 5
+  m_Name: RoundText
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &5023127888712049900
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5023127888712049899}
+  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: 5023127886737789046}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 5, y: 0}
+  m_SizeDelta: {x: 125, y: 20}
+  m_Pivot: {x: 0, y: 0}
+--- !u!222 &5023127888712049902
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5023127888712049899}
+  m_CullTransparentMesh: 0
+--- !u!114 &5023127888712049901
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5023127888712049899}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+  m_RaycastTarget: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+      Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+  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: 0
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: Round
+--- !u!1 &5023127888765457906
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 5023127888765457907}
+  - component: {fileID: 5023127888765457909}
+  - component: {fileID: 5023127888765457908}
+  m_Layer: 5
+  m_Name: NumPlayersText
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &5023127888765457907
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5023127888765457906}
+  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: 5023127886737789046}
+  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: 5, y: 0}
+  m_SizeDelta: {x: 125, y: 20}
+  m_Pivot: {x: 0, y: 1}
+--- !u!222 &5023127888765457909
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5023127888765457906}
+  m_CullTransparentMesh: 0
+--- !u!114 &5023127888765457908
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5023127888765457906}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+  m_RaycastTarget: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+      Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+  m_FontData:
+    m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+    m_FontSize: 14
+    m_FontStyle: 0
+    m_BestFit: 1
+    m_MinSize: 10
+    m_MaxSize: 14
+    m_Alignment: 0
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: Number of players
+--- !u!1 &5160137626202013976
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 7851769284838558382}
+  - component: {fileID: 5581834071525396212}
+  - component: {fileID: 8099248376441888420}
+  m_Layer: 5
+  m_Name: FinishedValue
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &7851769284838558382
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5160137626202013976}
+  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: 1116830186213535936}
+  m_RootOrder: 5
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 0, y: 1}
+  m_AnchoredPosition: {x: 130, y: -55.850006}
+  m_SizeDelta: {x: 98, y: 20}
+  m_Pivot: {x: 0, y: 0}
+--- !u!222 &5581834071525396212
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5160137626202013976}
+  m_CullTransparentMesh: 0
+--- !u!114 &8099248376441888420
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5160137626202013976}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+  m_RaycastTarget: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+      Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+  m_FontData:
+    m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+    m_FontSize: 14
+    m_FontStyle: 0
+    m_BestFit: 1
+    m_MinSize: 10
+    m_MaxSize: 14
+    m_Alignment: 0
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: Not Finished
+--- !u!1 &5637823844739059913
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 141134251706582632}
+  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 &141134251706582632
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5637823844739059913}
+  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: 94255188951414047}
+  m_Father: {fileID: 2648654414683390979}
+  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 &6659332493645555649
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 7263392944381503667}
+  - component: {fileID: 5768994918859405375}
+  - component: {fileID: 3702179469982551027}
+  m_Layer: 5
+  m_Name: LastPlayedValue
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &7263392944381503667
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6659332493645555649}
+  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: 1116830186213535936}
+  m_RootOrder: 4
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 0, y: 1}
+  m_AnchoredPosition: {x: 130, y: -27.925003}
+  m_SizeDelta: {x: 98, y: 20}
+  m_Pivot: {x: 0, y: 0.5}
+--- !u!222 &5768994918859405375
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6659332493645555649}
+  m_CullTransparentMesh: 0
+--- !u!114 &3702179469982551027
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6659332493645555649}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+  m_RaycastTarget: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+      Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+  m_FontData:
+    m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+    m_FontSize: 14
+    m_FontStyle: 0
+    m_BestFit: 1
+    m_MinSize: 10
+    m_MaxSize: 14
+    m_Alignment: 0
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: 2019-05-05
+--- !u!1 &6734560964887302180
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 2648654414683390979}
+  - component: {fileID: 6756067598341924035}
+  - component: {fileID: 6201820576704480617}
+  - component: {fileID: 8997571400812670112}
+  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 &2648654414683390979
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6734560964887302180}
+  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: 141134251706582632}
+  m_Father: {fileID: 2576524311624294734}
+  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.0000038147}
+  m_Pivot: {x: 1, y: 1}
+--- !u!222 &6756067598341924035
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6734560964887302180}
+  m_CullTransparentMesh: 0
+--- !u!114 &6201820576704480617
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6734560964887302180}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+      Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+  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
+--- !u!114 &8997571400812670112
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6734560964887302180}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -2061169968, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 0
+    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_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_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 200170930938477676}
+  m_HandleRect: {fileID: 94255188951414047}
+  m_Direction: 2
+  m_Value: 0
+  m_Size: 1
+  m_NumberOfSteps: 0
+  m_OnValueChanged:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.Scrollbar+ScrollEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+--- !u!1 &6862541077311492898
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 836720572515074108}
+  - component: {fileID: 5739117512803278509}
+  - component: {fileID: 7829962957662893146}
+  - component: {fileID: 5994327305092965777}
+  m_Layer: 5
+  m_Name: Viewport
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &836720572515074108
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6862541077311492898}
+  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: 5163841379501265449}
+  m_Father: {fileID: 2576524311624294734}
+  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: 210, y: 55}
+  m_Pivot: {x: 0, y: 0.5}
+--- !u!114 &5739117512803278509
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6862541077311492898}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -1200242548, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_ShowMaskGraphic: 0
+--- !u!222 &7829962957662893146
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6862541077311492898}
+  m_CullTransparentMesh: 0
+--- !u!114 &5994327305092965777
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6862541077311492898}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+      Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+  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
+--- !u!1 &7039354607996169044
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 811018145157722118}
+  - component: {fileID: 2859621530706764107}
+  - component: {fileID: 1770132588610470049}
+  - component: {fileID: 1157595015682304595}
+  m_Layer: 5
+  m_Name: thirdSet
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &811018145157722118
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7039354607996169044}
+  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: 2576524311624294734}
+  - {fileID: 74425638051798129}
+  - {fileID: 4000913085181046185}
+  m_Father: {fileID: 5023127887778350163}
+  m_RootOrder: 2
+  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: 56}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &2859621530706764107
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7039354607996169044}
+  m_CullTransparentMesh: 0
+--- !u!114 &1770132588610470049
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7039354607996169044}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 0.9411765}
+  m_RaycastTarget: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+      Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+  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
+--- !u!225 &1157595015682304595
+CanvasGroup:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7039354607996169044}
+  m_Enabled: 1
+  m_Alpha: 1
+  m_Interactable: 1
+  m_BlocksRaycasts: 1
+  m_IgnoreParentGroups: 0
+--- !u!1 &7479828009431830729
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 2624966628068292946}
+  - component: {fileID: 2304574365398270146}
+  - component: {fileID: 1308109698597430440}
+  m_Layer: 5
+  m_Name: DateStartedValue
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &2624966628068292946
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7479828009431830729}
+  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: 1116830186213535936}
+  m_RootOrder: 3
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 0, y: 1}
+  m_AnchoredPosition: {x: 130, y: 0}
+  m_SizeDelta: {x: 98, y: 20}
+  m_Pivot: {x: 0, y: 1}
+--- !u!222 &2304574365398270146
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7479828009431830729}
+  m_CullTransparentMesh: 0
+--- !u!114 &1308109698597430440
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7479828009431830729}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+  m_RaycastTarget: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+      Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+  m_FontData:
+    m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+    m_FontSize: 14
+    m_FontStyle: 0
+    m_BestFit: 1
+    m_MinSize: 10
+    m_MaxSize: 14
+    m_Alignment: 0
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: 2019-05-05
+--- !u!1 &7551027533197004316
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 4204670196405447269}
+  - component: {fileID: 1405152512460005505}
+  - component: {fileID: 2101865002542852823}
+  m_Layer: 5
+  m_Name: Image
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &4204670196405447269
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7551027533197004316}
+  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: 4000913085181046185}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0.5}
+  m_AnchorMax: {x: 0.5, y: 0.5}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 15, y: 15}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &1405152512460005505
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7551027533197004316}
+  m_CullTransparentMesh: 0
+--- !u!114 &2101865002542852823
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7551027533197004316}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+      Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+  m_Sprite: {fileID: 21300000, guid: 57298fbd52a28eb44bcaf1537a27e53e, 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
+--- !u!1 &8352669345201601954
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 4507242760725225999}
+  - component: {fileID: 3680024320251317618}
+  - component: {fileID: 8952724014402504860}
+  m_Layer: 5
+  m_Name: DateStartedText
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &4507242760725225999
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8352669345201601954}
+  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: 1116830186213535936}
+  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: 5, y: 0}
+  m_SizeDelta: {x: 125, y: 20}
+  m_Pivot: {x: 0, y: 1}
+--- !u!222 &3680024320251317618
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8352669345201601954}
+  m_CullTransparentMesh: 0
+--- !u!114 &8952724014402504860
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8352669345201601954}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+  m_RaycastTarget: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+      Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+  m_FontData:
+    m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+    m_FontSize: 14
+    m_FontStyle: 0
+    m_BestFit: 1
+    m_MinSize: 10
+    m_MaxSize: 14
+    m_Alignment: 0
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: Date started

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

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

+ 17 - 2
Assets/Prefab/NewQuestion.prefab

@@ -39,8 +39,8 @@ RectTransform:
   m_Father: {fileID: 0}
   m_RootOrder: 0
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
-  m_AnchorMin: {x: 0, y: 0}
-  m_AnchorMax: {x: 0, y: 0}
+  m_AnchorMin: {x: 0.5, y: 0.5}
+  m_AnchorMax: {x: 0.5, y: 0.5}
   m_AnchoredPosition: {x: 0, y: 0}
   m_SizeDelta: {x: 100, y: 180}
   m_Pivot: {x: 0.5, y: 0.5}
@@ -118,6 +118,18 @@ MonoBehaviour:
   m_EditorClassIdentifier: 
   questionText: {fileID: 5145380997340698411}
   answerText: {fileID: 5145380997204476517}
+  questionString: 
+  answerString: 
+  idString: 
+  categoryString: 
+  unsafeColor:
+    serializedVersion: 2
+    rgba: 3356364464
+  safeColor:
+    serializedVersion: 2
+    rgba: 3248895005
+  originalPos: {x: 0, y: 0, z: 0}
+  originalRot: {x: 0, y: 0, z: 0, w: 0}
 --- !u!114 &7933561225938041952
 MonoBehaviour:
   m_ObjectHideFlags: 0
@@ -130,6 +142,9 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: 06f334e0430ec0944ba0abce4592c950, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
+  parent: {fileID: 0}
+  placeholderParent: {fileID: 0}
+  placeholder: {fileID: 0}
 --- !u!114 &3652310416093541855
 MonoBehaviour:
   m_ObjectHideFlags: 0

+ 314 - 0
Assets/Prefab/PlayerInfo.prefab

@@ -0,0 +1,314 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &1668827557623854269
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 8182258568001242865}
+  - component: {fileID: 8355837596623320845}
+  - component: {fileID: 3980037200411588144}
+  - component: {fileID: 487875939721856792}
+  - component: {fileID: 7062300083992947690}
+  m_Layer: 5
+  m_Name: PlayerInfo
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &8182258568001242865
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1668827557623854269}
+  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: 3051462764174508475}
+  - {fileID: 6044339896983845255}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0.5}
+  m_AnchorMax: {x: 0.5, y: 0.5}
+  m_AnchoredPosition: {x: 0.000015258789, y: 0}
+  m_SizeDelta: {x: 296, y: 20}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &8355837596623320845
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1668827557623854269}
+  m_CullTransparentMesh: 0
+--- !u!114 &3980037200411588144
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1668827557623854269}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 0.392}
+  m_RaycastTarget: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+      Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+  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
+--- !u!114 &487875939721856792
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1668827557623854269}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1679637790, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_IgnoreLayout: 0
+  m_MinWidth: -1
+  m_MinHeight: 20
+  m_PreferredWidth: -1
+  m_PreferredHeight: 20
+  m_FlexibleWidth: 1
+  m_FlexibleHeight: 0
+  m_LayoutPriority: 1
+--- !u!114 &7062300083992947690
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1668827557623854269}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 40f0516aecbd2bb48b2b915f1576ad00, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  nameText: {fileID: 8502294024371270356}
+  pointsText: {fileID: 8380995092262412217}
+--- !u!1 &2189208103802656590
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 3051462764174508475}
+  - component: {fileID: 2950324220866648863}
+  - component: {fileID: 8502294024371270356}
+  - component: {fileID: 5020330713745931875}
+  m_Layer: 5
+  m_Name: PlayerName
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &3051462764174508475
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2189208103802656590}
+  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: 8182258568001242865}
+  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: 5, y: 0}
+  m_SizeDelta: {x: 190, y: 16}
+  m_Pivot: {x: 0, y: 0.5}
+--- !u!222 &2950324220866648863
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2189208103802656590}
+  m_CullTransparentMesh: 0
+--- !u!114 &8502294024371270356
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2189208103802656590}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+  m_RaycastTarget: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+      Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+  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: 0
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: New Text
+--- !u!114 &5020330713745931875
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2189208103802656590}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1679637790, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_IgnoreLayout: 0
+  m_MinWidth: 100
+  m_MinHeight: -1
+  m_PreferredWidth: 150
+  m_PreferredHeight: -1
+  m_FlexibleWidth: 1
+  m_FlexibleHeight: -1
+  m_LayoutPriority: 1
+--- !u!1 &5650528250997615816
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 6044339896983845255}
+  - component: {fileID: 8850173315071199892}
+  - component: {fileID: 8380995092262412217}
+  - component: {fileID: 6355233126203097465}
+  m_Layer: 5
+  m_Name: PlayerPoints
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &6044339896983845255
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5650528250997615816}
+  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: 8182258568001242865}
+  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: -0.000015258789, y: 0}
+  m_SizeDelta: {x: 102, y: 16}
+  m_Pivot: {x: 1, y: 0.5}
+--- !u!222 &8850173315071199892
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5650528250997615816}
+  m_CullTransparentMesh: 0
+--- !u!114 &8380995092262412217
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5650528250997615816}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+  m_RaycastTarget: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+      Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+  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: 0
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: New Text
+--- !u!114 &6355233126203097465
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5650528250997615816}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1679637790, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_IgnoreLayout: 0
+  m_MinWidth: 0
+  m_MinHeight: -1
+  m_PreferredWidth: 60
+  m_PreferredHeight: -1
+  m_FlexibleWidth: 1
+  m_FlexibleHeight: -1
+  m_LayoutPriority: 1

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

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

+ 3 - 3
Assets/Prefab/PlayerSetting.prefab

@@ -196,13 +196,13 @@ MonoBehaviour:
   m_TargetGraphic: {fileID: 4493885812376020612}
   m_TextComponent: {fileID: 4493885811720675548}
   m_Placeholder: {fileID: 4493885812590308721}
-  m_ContentType: 5
+  m_ContentType: 0
   m_InputType: 0
   m_AsteriskChar: 42
-  m_KeyboardType: 6
+  m_KeyboardType: 0
   m_LineType: 0
   m_HideMobileInput: 0
-  m_CharacterValidation: 4
+  m_CharacterValidation: 0
   m_CharacterLimit: 64
   m_OnEndEdit:
     m_PersistentCalls:

+ 6 - 0
Assets/Prefab/QuestionCard.prefab

@@ -121,6 +121,12 @@ MonoBehaviour:
   answerString: 
   idString: 
   categoryString: 
+  unsafeColor:
+    serializedVersion: 2
+    rgba: 3356364464
+  safeColor:
+    serializedVersion: 2
+    rgba: 3248895005
 --- !u!114 &3820892049407775847
 MonoBehaviour:
   m_ObjectHideFlags: 0

+ 170 - 0
Assets/Prefab/TimerCircle.prefab

@@ -0,0 +1,170 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &988709381998842068
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 988709381998842069}
+  - component: {fileID: 988709381998842075}
+  - component: {fileID: 988709381998842074}
+  - component: {fileID: 988709381998842072}
+  m_Layer: 5
+  m_Name: TimerCircle
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &988709381998842069
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 988709381998842068}
+  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: 988709382271047117}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0.5}
+  m_AnchorMax: {x: 0.5, y: 0.5}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 136, y: 136}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &988709381998842075
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 988709381998842068}
+  m_CullTransparentMesh: 0
+--- !u!114 &988709381998842074
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 988709381998842068}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.0627451, g: 0, b: 1, a: 0.78431374}
+  m_RaycastTarget: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+      Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+  m_Sprite: {fileID: 21300000, guid: 0012b68376d172042955bcd416938d5e, 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
+--- !u!114 &988709381998842072
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 988709381998842068}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 761d6c59c52f6574db4b82295caf2714, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  timerText: {fileID: 988709382271047122}
+--- !u!1 &988709382271047116
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 988709382271047117}
+  - component: {fileID: 988709382271047123}
+  - component: {fileID: 988709382271047122}
+  m_Layer: 5
+  m_Name: TimeText
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &988709382271047117
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 988709382271047116}
+  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: 988709381998842069}
+  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.000015258789, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &988709382271047123
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 988709382271047116}
+  m_CullTransparentMesh: 0
+--- !u!114 &988709382271047122
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 988709382271047116}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 0.78431374}
+  m_RaycastTarget: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+      Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+  m_FontData:
+    m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+    m_FontSize: 14
+    m_FontStyle: 0
+    m_BestFit: 1
+    m_MinSize: 8
+    m_MaxSize: 40
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: 50

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

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

+ 53 - 0
Assets/RoundButtonsScript.cs

@@ -0,0 +1,53 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine.UI;
+using UnityEngine;
+
+public class RoundButtonsScript : MonoBehaviour
+{
+    public Button newQuestionButton;
+    public Button nextPlayerButton;
+    private ScrollViewScript svs;
+    private TimerScript ts;
+
+    // Start is called before the first frame update
+    void Start()
+    {
+        newQuestionButton.onClick.AddListener(NewQuestion);
+        nextPlayerButton.onClick.AddListener(NextPlayer);
+        svs = GameObject.Find("Scroll View").GetComponent<ScrollViewScript>();
+        ts = GameObject.Find("TimerCircle").GetComponent<TimerScript>();
+    }
+
+    void NewQuestion() {
+        if (svs == null) {
+            svs = GameObject.Find("Scroll View").GetComponent<ScrollViewScript>();
+        }
+        Database db = GameObject.Find("GameManager").GetComponent<Database>();
+        NewQuestion q = db.GetNewQuestion();
+        q.SetAnswerText("???? - ????");
+        svs.SetNewQuestion(q);
+        HidePanel();
+        ts.StartTimer();
+    }
+
+    void NextPlayer() {
+        svs.SetAllQuestionsLocked(true);
+        svs.NextPlayer();
+        HidePanel();
+    }
+
+    public void HidePanel() {
+        CanvasGroup cg = this.GetComponent<CanvasGroup>();
+        cg.alpha = 0F;
+        cg.blocksRaycasts = false;
+
+    }
+
+    public void ShowPanel() {
+        CanvasGroup cg = this.GetComponent<CanvasGroup>();
+        cg.alpha = 1F;
+        cg.blocksRaycasts = true;
+        
+    }
+}

+ 11 - 0
Assets/RoundButtonsScript.cs.meta

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

+ 434 - 0
Assets/Scripts/Database.cs

@@ -0,0 +1,434 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using Mono.Data.Sqlite;
+using System.Data;
+using System;
+using UnityEngine.Networking;
+
+public class Database : MonoBehaviour {
+    string connectionType;
+    string databaseUrl;
+    string gameMode;
+    int winAmount = -1;
+
+    public GameObject questionCardPrefab;
+
+    [Serializable]
+    public class Question {
+        public string question;
+        public string answer;
+        public string id;
+        public string category;
+    }
+
+    [Serializable]
+    public class Questions {
+        public List<Question> questionsList = new List<Question>();
+    }
+
+    string questionString = "";
+    string answerString = "";
+    string idString = "";
+    string categoryString = "";
+    private int round;
+
+    public string QuestionString { get => questionString; set => questionString = value; }
+
+
+    private void Start() {
+        if (databaseUrl == null || databaseUrl.Equals("")) {
+            SetLocalOrOnline("Local"); // Temporary, shoild not be needed after local testing
+        }
+    }
+
+    internal int GetQuestionTimer(int gameId) {
+        string sql = "SELECT answerTimer FROM game WHERE id = " + gameId;
+        if (databaseUrl == null) {
+            SetLocalOrOnline("Local");
+        }
+        IDbConnection conn = new SqliteConnection(databaseUrl);
+        conn.Open();
+        IDbCommand cmd = conn.CreateCommand();
+        cmd.CommandText = sql;
+        IDataReader reader = cmd.ExecuteReader();
+
+        int answerTime = 15;
+        while (reader.Read()) {
+            answerTime = reader.GetInt32(0);
+        }
+        reader.Close();
+        cmd.Dispose();
+        conn.Close();
+
+        return answerTime;
+    }
+
+    internal void GetOnlineGames(int userId) {
+        string sql = "SELECT * FROM games WHERE userId = " + userId;
+    }
+
+    internal List<LocalGameScript> GetLocalGames(GameObject prefab) {
+        List<LocalGameScript> games = new List<LocalGameScript>();
+        string sql = "SELECT game.*, name,count(name) as points, localUsers.id FROM game INNER JOIN localGamePlayers on game.id = localGamePlayers.gameId INNER JOIN localUsers on playerId = localUsers.id INNER JOIN usersLockedQuestions ON name = usersLockedQuestions.playerName GROUP BY name order by points ASC;";
+        IDbConnection conn = new SqliteConnection(databaseUrl);
+        conn.Open();
+        IDbCommand cmd = conn.CreateCommand();
+        cmd.CommandText = sql;
+        IDataReader reader = cmd.ExecuteReader();
+        int currentGame = -1;
+        GameObject localGame = Instantiate(prefab, new Vector2(0, 0), Quaternion.identity) as GameObject;
+        LocalGameScript lgs = localGame.GetComponent<LocalGameScript>();
+
+        while (reader.Read()) {
+
+
+            if (currentGame == reader.GetInt32(0)) {
+                lgs.AddPlayer(reader.GetString(10), reader.GetInt32(11));
+            } else {
+                localGame = Instantiate(prefab, new Vector2(0, 0), Quaternion.identity) as GameObject;
+                lgs = localGame.GetComponent<LocalGameScript>();
+
+                lgs.GameId = reader.GetInt32(0);
+                lgs.GameMode = reader.GetString(1);
+                lgs.QuestionsNeededToWin = reader.GetInt32(2);
+                lgs.AnswerTimer = reader.GetInt32(3);
+                lgs.NumberOfPlayers = reader.GetInt32(4);
+                lgs.CurrentPlayer = reader.GetString(5);
+                lgs.Round = reader.GetInt32(6);
+                lgs.StartDate = reader.GetValue(7) != DBNull.Value ? reader.GetString(7) : "";
+                lgs.LastPlayedDate = reader.GetValue(8) != DBNull.Value ? reader.GetString(8) : "";
+                lgs.FinishedDate = reader.GetValue(9) != DBNull.Value ? reader.GetString(9) : "";
+                lgs.AddPlayer(reader.GetString(10), reader.GetInt32(11));
+                games.Add(lgs);
+            }
+
+            currentGame = reader.GetInt32(0);
+        }
+        reader.Close();
+        cmd.Dispose();
+        conn.Close();
+
+        return games;
+    }
+
+    public string GetCurrentPlayer(int gameId) {
+        string sql = "SELECT currentPlayer FROM game WHERE id = " + gameId;
+        IDbConnection conn = new SqliteConnection(databaseUrl);
+        conn.Open();
+        IDbCommand cmd = conn.CreateCommand();
+        cmd.CommandText = sql;
+        IDataReader reader = cmd.ExecuteReader();
+
+        string currentPlayer = "";
+        while (reader.Read()) {
+            currentPlayer = reader.GetString(0);
+        }
+        reader.Close();
+        cmd.Dispose();
+        conn.Close();
+
+        return currentPlayer;
+    }
+
+    public void SetCurrentPlayer(int gameId, string currentPlayer) {
+        string sql = "UPDATE game SET currentPlayer = '" + currentPlayer + "' WHERE id = " + gameId;
+        IDbConnection conn = new SqliteConnection(databaseUrl);
+        conn.Open();
+        IDbCommand cmd = conn.CreateCommand();
+        cmd.CommandText = sql;
+        cmd.ExecuteNonQuery();
+
+        cmd.Dispose();
+        conn.Close();
+    }
+
+    internal void SetFinishedDate(int gameId, string finishedDate) {
+        string sql = "UPDATE game SET finishedDate = '" + finishedDate + "' WHERE id = " + gameId;
+        IDbConnection conn = new SqliteConnection(databaseUrl);
+        conn.Open();
+        IDbCommand cmd = conn.CreateCommand();
+        cmd.CommandText = sql;
+        cmd.ExecuteNonQuery();
+
+        cmd.Dispose();
+        conn.Close();
+    }
+
+    internal void SetRoundValue(int gameId, int round) {
+        string sql = "UPDATE game SET round = " + round + " WHERE id = " + gameId;
+        IDbConnection conn = new SqliteConnection(databaseUrl);
+        conn.Open();
+        IDbCommand cmd = conn.CreateCommand();
+        cmd.CommandText = sql;
+        cmd.ExecuteNonQuery();
+
+        cmd.Dispose();
+        conn.Close();
+    }
+
+    internal int GetRoundValue(int gameId) {
+        if (this.round == null) {
+            string sql = "SELECT round FROM game WHERE id = " + gameId;
+            IDbConnection conn = new SqliteConnection(databaseUrl);
+            conn.Open();
+            IDbCommand cmd = conn.CreateCommand();
+            cmd.CommandText = sql;
+            IDataReader reader = cmd.ExecuteReader();
+            while (reader.Read()) {
+                this.gameMode = reader.GetString(0);
+            }
+            reader.Close();
+            cmd.Dispose();
+            conn.Close();
+        }
+        return this.round;
+    }
+
+    internal List<KeyValuePair<string, int>> GetPlayersForGame(int gameId) {
+        string sql = "SELECT name, (SELECT count(*) FROM usersLockedQuestions WHERE playerName = localUsers.name) as numAnswers  FROM localGamePlayers " +
+            "LEFT JOIN localUsers ON localGamePlayers.playerId = localUsers.id " +
+            "WHERE gameId = " + gameId;
+        IDbConnection conn = new SqliteConnection(databaseUrl);
+        conn.Open();
+        IDbCommand cmd = conn.CreateCommand();
+        cmd.CommandText = sql;
+
+        IDataReader reader = cmd.ExecuteReader();
+
+        List<KeyValuePair<string, int>> returnList = new List<KeyValuePair<string, int>>();
+        while (reader.Read()) {
+            KeyValuePair<string, int> player = new KeyValuePair<string, int>(reader.GetString(0), reader.GetInt32(1));
+            returnList.Add(player);
+        }
+
+        return returnList;
+    }
+
+    public string AnswerString { get => answerString; set => answerString = value; }
+    public string IdString { get => idString; set => idString = value; }
+    public string CategoryString { get => categoryString; set => categoryString = value; }
+
+    public void SetLocalOrOnline(string type) {
+        gameMode = type;
+        if (type.Equals("Local")) {
+            databaseUrl = "URI=file:" + Application.dataPath + "/narKampenLocal.db";
+        } else {
+            databaseUrl = "nordh.xyz/narKampen/dbFiles/dbAccess.php";
+        }
+        connectionType = type;
+    }
+
+    public string GetGameMode(int gameId) {
+        if (this.gameMode == null) {
+            string sql = "SELECT gameMode FROM game WHERE id = " + gameId;
+            IDbConnection conn = new SqliteConnection(databaseUrl);
+            conn.Open();
+            IDbCommand cmd = conn.CreateCommand();
+            cmd.CommandText = sql;
+            IDataReader reader = cmd.ExecuteReader();
+            while (reader.Read()) {
+                this.gameMode = reader.GetString(0);
+            }
+            reader.Close();
+            cmd.Dispose();
+            conn.Close();
+        }
+        return this.gameMode;
+    }
+
+    public void LinkPlayersToLocalGame(List<string> playerNames, int gameId) {
+        foreach (string player in playerNames) {
+            string sql = "SELECT id FROM localUsers WHERE name = '" + player + "'";
+            IDbConnection conn = new SqliteConnection(databaseUrl);
+            conn.Open();
+            IDbCommand cmd = conn.CreateCommand();
+            cmd.CommandText = sql;
+            IDataReader reader = cmd.ExecuteReader();
+            if (reader.Read()) {
+                int playerId = reader.GetInt32(0);
+                conn.Close();
+                LinkPlayerToGame(playerId, gameId);
+                continue;
+            } else {
+                reader.Close();
+                sql = "INSERT INTO localUsers (name) VALUES ('" + player + "')";
+                cmd.CommandText = sql;
+                cmd.ExecuteNonQuery();
+
+                cmd.CommandText = "SELECT last_insert_rowid()";
+                Int64 lastInsert64 = (Int64)cmd.ExecuteScalar();
+
+                LinkPlayerToGame((int)lastInsert64, gameId);
+            }
+            conn.Close();
+            cmd.Dispose();
+            reader.Close();
+        }
+
+    }
+
+    private void LinkPlayerToGame(int playerId, int gameId) {
+        string sql = "INSERT INTO localGamePlayers (gameId, playerId) VALUES (" + gameId + ", " + playerId + ")";
+        SqliteConnection conn2 = new SqliteConnection(databaseUrl);
+        conn2.Open();
+        IDbCommand cmd = conn2.CreateCommand();
+        cmd.CommandText = sql;
+        cmd.ExecuteScalar();
+        cmd.Dispose();
+        conn2.Close();
+    }
+
+    internal int GetWinCondition(int gameId) {
+        if (winAmount == -1) {
+            string sql = "SELECT winNumber FROM game WHERE id = " + gameId;
+            IDbConnection conn = new SqliteConnection(databaseUrl);
+            conn.Open();
+            IDbCommand cmd = conn.CreateCommand();
+            cmd.CommandText = sql;
+            IDataReader reader = cmd.ExecuteReader();
+            while (reader.Read()) {
+                this.winAmount = reader.GetInt32(0);
+            }
+            reader.Close();
+            cmd.Dispose();
+            conn.Close();
+        }
+        return this.winAmount;
+    }
+
+    public int SetupNewLocalGame(int winNumber, int numberOfPlayers, int questionTimer) {
+        string sql = "INSERT INTO game (winNumber, numberOfPlayers, answerTimer, gameMode) VALUES (" + winNumber + "," + numberOfPlayers + "," + questionTimer + ", 'Local')";
+        IDbConnection conn = new SqliteConnection(databaseUrl);
+        conn.Open();
+        IDbCommand cmd = conn.CreateCommand();
+        cmd.CommandText = sql;
+        int status = cmd.ExecuteNonQuery();
+
+        cmd.CommandText = "SELECT last_insert_rowid()";
+        Int64 lastInsert64 = (Int64)cmd.ExecuteScalar();
+
+        return (int)lastInsert64;
+    }
+
+    public NewQuestion GetNewQuestion() {
+        if (connectionType == null) {
+            int gameId = GameObject.Find("GameManager").GetComponent<GameManagerScript>().GameId;
+            SetLocalOrOnline(GetGameMode(gameId));
+        }
+        if (connectionType == "Local") {
+            IDbConnection conn = new SqliteConnection(databaseUrl);
+            conn.Open();
+            IDbCommand cmd = conn.CreateCommand();
+
+            string sql = "SELECT questions.id, question, answer, categoryId as category, name FROM questions INNER JOIN questionToCategory ON questions.id = questionToCategory.questionId INNER JOIN category on category.id = questionToCategory.categoryId ORDER BY RANDOM() limit 1";
+            cmd.CommandText = sql;
+            IDataReader reader = cmd.ExecuteReader();
+
+            while (reader.Read()) {
+                int id = reader.GetInt32(0);
+                string question = reader.GetString(1);
+                int answer = reader.GetInt32(2);
+                int catergoryId = reader.GetInt32(3);
+                string categoryName = reader.GetString(4);
+
+                idString = id.ToString();
+                questionString = question;
+                categoryString = catergoryId.ToString();
+                answerString = answer.ToString();
+            }
+
+            reader.Close();
+            cmd.Dispose();
+            conn.Close();
+        } else { // Connect Through db
+            Debug.Log("Online Call");
+            StartCoroutine(GetQuestionData(false));
+        }
+        NewQuestion q = NewQuestion.Instance();
+        q.questionString = questionString;
+        q.answerString = answerString;
+        q.categoryString = categoryString;
+        q.idString = idString;
+
+        return q;
+    }
+
+    public void SavePlayersQuestion(string questionId, string playerNameValue, int gameId) {
+        if (databaseUrl == null) {
+            SetLocalOrOnline(GetGameMode(gameId));
+        }
+        Int32.TryParse(questionId, out int qId);
+        string sql = "INSERT OR IGNORE INTO usersLockedQuestions (playerName, questionId, gameId) VALUES ('" + playerNameValue + "'," + qId + "," + gameId + ")";
+        IDbConnection conn = new SqliteConnection(databaseUrl);
+        conn.Open();
+        IDbCommand cmd = conn.CreateCommand();
+        cmd.CommandText = sql;
+
+        cmd.ExecuteReader();
+
+        cmd.Dispose();
+        conn.Close();
+    }
+
+    public List<QuestionCard> GetPlayerQuestions(int gameId, string playerNameValue) {
+        if (databaseUrl == null) {
+            SetLocalOrOnline(GetGameMode(gameId));
+        }
+        List<QuestionCard> questions = new List<QuestionCard>();
+
+        if (connectionType.Equals("Local")) {
+            string sql = "SELECT * FROM questions WHERE id IN ( SELECT questionId FROM usersLockedQuestions WHERE gameId = " + gameId + " AND playerName = '" + playerNameValue + "') ORDER BY answer ASC";
+            IDbConnection conn = new SqliteConnection(databaseUrl);
+            conn.Open();
+            IDbCommand cmd = conn.CreateCommand();
+            cmd.CommandText = sql;
+
+            IDataReader reader = cmd.ExecuteReader();
+            while (reader.Read()) {
+                GameObject question = Instantiate(questionCardPrefab, new Vector2(0, 0), Quaternion.identity) as GameObject;
+                QuestionCard q = question.GetComponent<QuestionCard>();
+
+                q.SetAnswerText(reader.GetInt32(2).ToString());
+                q.SetQuestionText(reader.GetString(1));
+                q.idString = reader.GetInt32(0).ToString();
+
+                questions.Add(q);
+            }
+            cmd.Dispose();
+            conn.Close();
+        }
+        return questions;
+    }
+
+    private IEnumerator GetQuestionData(bool showAnswer) {
+        UnityWebRequest www = UnityWebRequest.Get("nordh.xyz/narKampen/dbFiles/dbAccess.php");
+
+        yield return www.SendWebRequest();
+
+        if (www.isNetworkError || www.isHttpError) {
+            Debug.Log(www.error);
+        } else {
+            while (!www.isDone) {
+                yield return null;
+            }
+            // Show result
+            string jsonData = www.downloadHandler.text;
+
+            jsonData = "{\"questionsList\" : [ " + jsonData + " ]}";
+
+            Questions qe = new Questions();
+            JsonUtility.FromJsonOverwrite(jsonData, qe);
+            /*         if (qe.questionsList.Count > 0 && questionText != null) {
+                         if (showAnswer && answerText != null) {
+                             answerText.text = qe.questionsList[0].answer;
+                         }
+                         questionText.text = qe.questionsList[0].question;
+                     } */
+            questionString = qe.questionsList[0].question;
+            answerString = qe.questionsList[0].answer;
+            idString = qe.questionsList[0].id;
+            categoryString = qe.questionsList[0].category;
+        }
+    }
+}

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

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

+ 5 - 0
Assets/Scripts/Draggable.cs

@@ -77,6 +77,9 @@ public class Draggable : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDra
     }
 
     public void OnBeginDrag(PointerEventData eventData) {
+
+        Draggable d = eventData.pointerDrag.GetComponent<Draggable>();
+        d.GetComponent<CanvasGroup>().alpha = 0.8f;
         placeholder = new GameObject();
         placeholder.transform.SetParent(this.transform.parent);
         LayoutElement le = placeholder.AddComponent<LayoutElement>();
@@ -97,6 +100,8 @@ public class Draggable : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDra
     }
 
     public void OnEndDrag(PointerEventData eventData) {
+        Draggable d = eventData.pointerDrag.GetComponent<Draggable>();
+        d.GetComponent<CanvasGroup>().alpha = 1f;
         this.transform.SetParent(parent);
         this.transform.SetSiblingIndex(placeholder.transform.GetSiblingIndex());
         GetComponent<CanvasGroup>().blocksRaycasts = true;

+ 58 - 0
Assets/Scripts/EventManager.cs

@@ -0,0 +1,58 @@
+using UnityEngine;
+using UnityEngine.Events;
+using System.Collections;
+using System.Collections.Generic;
+
+public class EventManager : MonoBehaviour {
+    private Dictionary<string, UnityEvent> eventDictionary;
+
+    private static EventManager eventManager;
+
+    public static EventManager instance {
+        get {
+            if (!eventManager) {
+                eventManager = FindObjectOfType(typeof(EventManager)) as EventManager;
+
+                if (!eventManager) {
+                    Debug.LogError("There needs to be one active EventManger script on a GameObject in your scene.");
+                } else {
+                    eventManager.Init();
+                }
+            }
+
+            return eventManager;
+        }
+    }
+
+    void Init() {
+        if (eventDictionary == null) {
+            eventDictionary = new Dictionary<string, UnityEvent>();
+        }
+    }
+
+    public static void StartListening(string eventName, UnityAction listener) {
+        UnityEvent thisEvent = null;
+        if (instance.eventDictionary.TryGetValue(eventName, out thisEvent)) {
+            thisEvent.AddListener(listener);
+        } else {
+            thisEvent = new UnityEvent();
+            thisEvent.AddListener(listener);
+            instance.eventDictionary.Add(eventName, thisEvent);
+        }
+    }
+
+    public static void StopListening(string eventName, UnityAction listener) {
+        if (eventManager == null) return;
+        UnityEvent thisEvent = null;
+        if (instance.eventDictionary.TryGetValue(eventName, out thisEvent)) {
+            thisEvent.RemoveListener(listener);
+        }
+    }
+
+    public static void TriggerEvent(string eventName) {
+        UnityEvent thisEvent = null;
+        if (instance.eventDictionary.TryGetValue(eventName, out thisEvent)) {
+            thisEvent.Invoke();
+        }
+    }
+}

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

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

+ 47 - 0
Assets/Scripts/GameManagerScript.cs

@@ -0,0 +1,47 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class GameManagerScript : MonoBehaviour {
+
+    private int playerCount;
+    private string gameMode;
+    private int gameId;
+
+    public Database db;
+     
+    public string GameMode { get => gameMode; set => gameMode = value; }
+    public int GameId { get; internal set; }
+
+    List<KeyValuePair<string, int>> players;
+
+    // Start is called before the first frame update
+    void Start() {
+        db = GameObject.Find("GameManager").GetComponent<Database>();
+        GameId = PlayerPrefs.GetInt("GameId");
+
+        db.SetLocalOrOnline("Local");
+
+        StatsScript statsScript = GameObject.Find("StatsPanel").GetComponent<StatsScript>();
+        statsScript.AddPlayersToStats(GetPlayersForGame());
+    }
+
+    private List<KeyValuePair<string,int>> GetPlayersForGame() {
+        players = db.GetPlayersForGame(GameId);
+        return players;
+    }
+
+    public List<KeyValuePair<string, int>> GetPlayers() {
+        if (players == null) {
+            players = GetPlayersForGame();
+        }
+        return players;
+    }
+
+    public Database GetDatabase() {
+        if (db == null) {
+            db = GameObject.Find("GameManager").GetComponent<Database>();
+        }
+        return db;
+    }
+}

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

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

+ 8 - 3
Assets/Scripts/GeneralDialog/GenericDialog.cs

@@ -25,9 +25,14 @@ public class GenericDialog : MonoBehaviour {
     }
 
     public GenericDialog SetOnDecline(string text, UnityAction action) {
-        decline.text = text;
-        declineButton.onClick.RemoveAllListeners();
-        declineButton.onClick.AddListener(action);
+        if (text.Equals("")) {
+            declineButton.gameObject.SetActive(false);
+        } else {
+            declineButton.gameObject.SetActive(true);
+            decline.text = text;
+            declineButton.onClick.RemoveAllListeners();
+            declineButton.onClick.AddListener(action);
+        }
         return this;
     }
 

+ 73 - 0
Assets/Scripts/LocalGameScript.cs

@@ -0,0 +1,73 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.SceneManagement;
+using UnityEngine.UI;
+
+public class LocalGameScript : MonoBehaviour
+{
+
+    public Transform content;
+    public GameObject playerInfoPrefab;
+
+    public Button startButton;
+    public Button deleteButton;
+
+    private int gameId;
+    private string gameMode;
+    private int questionsNeededToWin;
+    private int answerTimer;
+    private int numberOfPlayers;
+    private string currentPlayer;
+    private string currentPlayerName;
+    private int round;
+    private string startDate;
+    private string lastPlayedDate;
+    private string finishedDate;
+    private List<KeyValuePair<string, int>> players;
+
+    public string CurrentPlayerName { get => currentPlayerName; set => currentPlayerName = value; }
+    public string CurrentPlayer { get => currentPlayer; set => currentPlayer = value; }
+    public int NumberOfPlayers { get => numberOfPlayers; set => numberOfPlayers = value; }
+    public int AnswerTimer { get => answerTimer; set => answerTimer = value; }
+    public int QuestionsNeededToWin { get => questionsNeededToWin; set => questionsNeededToWin = value; }
+    public string GameMode { get => gameMode; set => gameMode = value; }
+    public int GameId { get => gameId; set => gameId = value; }
+    public int Round { get => round; set => round = value; }
+    public string StartDate { get => startDate; set => startDate = value; }
+    public string LastPlayedDate { get => lastPlayedDate; set => lastPlayedDate = value; }
+    public string FinishedDate { get => finishedDate; set => finishedDate = value; }
+    public List<KeyValuePair<string, int>> Players { get => players; set => players = value; }
+
+    private void Start() {
+        startButton.onClick.AddListener(StartThisGame);
+        deleteButton.onClick.AddListener(DeleteThisGame);
+    }
+
+    public void AddPlayer(string name, int points) {
+        if (players == null) {
+            players = new List<KeyValuePair<string, int>>();
+        }
+        KeyValuePair<string, int> p = new KeyValuePair<string, int>(name, points);
+        Players.Add(p);
+
+        GameObject go = Instantiate(playerInfoPrefab, new Vector2(0, 0), Quaternion.identity) as GameObject;
+        PlayerInfo playerInfo = go.GetComponent<PlayerInfo>();
+
+        playerInfo.SetName(name);
+        playerInfo.SetPoints(points);
+
+        playerInfo.transform.SetParent(content);
+        playerInfo.transform.SetSiblingIndex(0);
+    }
+
+    public void StartThisGame() {
+        Debug.Log("CLicked button to start game");
+        PlayerPrefs.SetInt("GameId", GameId);
+        SceneManager.LoadSceneAsync("narKampen");
+    }
+
+    public void DeleteThisGame() {
+        Debug.Log("CLicked button to delete game");
+    }
+}

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

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

+ 60 - 29
Assets/Scripts/MainMenu.cs

@@ -18,17 +18,57 @@ public class MainMenu : MonoBehaviour {
     public Button startLocalGameButton;
     public InputField winningCountInputField;
     public InputField timeToAnswerInputField;
+    public GameObject localGamePrefab;
+    public GameObject onlineGamePrefab;
 
+    private Database db;
 
-    private string gamesPostUrl = "nordh.xyz/narKampen/dbFiles/Games.php?";
+    private readonly string gamesPostUrl = "nordh.xyz/narKampen/dbFiles/Games.php?";
 
     private void Start() {
-        GetGames();
+        // GetGames();
         startNewGameButton.onClick.AddListener(StartNewGameAction);
         quitButton.onClick.AddListener(() => { Application.Quit(); });
         gameTypeSlider.onValueChanged.AddListener(SliderChoice);
         localPlayers.onValueChanged.AddListener(LocalPlayersAction);
         startLocalGameButton.onClick.AddListener(StartLocalGame);
+
+        db = GameObject.Find("Main Panel").GetComponent<Database>();
+
+        GetGames();
+    }
+
+    private void GetGames() {
+        int loggedInUserId = PlayerPrefs.GetInt("UserId");
+        List<LocalGameScript> localGames = db.GetLocalGames(localGamePrefab);
+        Transform localGamesList = GameObject.Find("LocalGamesList").transform;
+
+        int i = 1;
+        foreach (LocalGameScript lgs in localGames) {
+            lgs.transform.SetParent(localGamesList.transform);
+            lgs.transform.SetSiblingIndex(i++);
+
+        }
+        if (checkInternetConnection()) {
+            db.GetOnlineGames(loggedInUserId);
+        } else {
+            // Display no internet information
+            Debug.Log("No internet");
+        }
+    }
+
+    private bool checkInternetConnection() {
+        bool internetConnectivityActive;
+        UnityWebRequest www = UnityWebRequest.Get("http://google.com");
+        www.SendWebRequest();
+
+        if (www.isNetworkError || www.isHttpError) {
+            internetConnectivityActive = false;
+        } else {
+            internetConnectivityActive = true;
+        }
+
+        return internetConnectivityActive;
     }
 
     private void LocalPlayersAction(string value) {
@@ -58,14 +98,8 @@ public class MainMenu : MonoBehaviour {
                 Destroy(toDestroy.gameObject);
             }
         }
-    }
-
-    private void StartGameAction() {
-        Debug.Log("logged in player id: " + PlayerPrefs.GetInt("UserId"));
-    }
-
-    private void GetGames() {
-
+        ScrollRect scrollPanel = GameObject.Find("LacalPlayersScrollView").GetComponent<ScrollRect>();
+        scrollPanel.verticalNormalizedPosition = 0f;
     }
 
     private IEnumerator GetGamesFromServer() {
@@ -116,36 +150,33 @@ public class MainMenu : MonoBehaviour {
     }
 
     private void StartLocalGame() {
-        ArrayList playerNames = new ArrayList();
+        db = GameObject.Find("Main Panel").GetComponent<Database>();
+        db.SetLocalOrOnline("Local");
+        List<string> playerNames = new List<string>();
 
-        if (Int32.TryParse(winningCountInputField.text, out int winningCount)) {
-            PlayerPrefs.SetInt("WinningCount", winningCount);
-        } else {
-            PlayerPrefs.SetInt("WinningCount", 10);
+        if (!Int32.TryParse(winningCountInputField.text, out int winningCount)) {
+            winningCount = 10;
         }
-
-        if (Int32.TryParse(localPlayers.text, out int players)) {
-            PlayerPrefs.SetInt("PlayerCount", players);
-        } else {
-            PlayerPrefs.SetInt("PlayerCount", 1);
+        if (!Int32.TryParse(localPlayers.text, out int players)) {
+            players = 1;
         }
+        if (!Int32.TryParse(timeToAnswerInputField.text, out int questionTimer)) {
+            questionTimer = 20;
+        }
+
+        int gameId = db.SetupNewLocalGame(winningCount, players, questionTimer);
 
         Transform settingsPanel = GameObject.Find("PlayerSettingsPanel").transform;
         PlayerSetting[] playerSettings = settingsPanel.GetComponentsInChildren<PlayerSetting>();
 
         for (int i = 0; i < playerSettings.Length; i++) {
             string playerName = playerSettings[i].GetComponent<PlayerSetting>().nameInput.text;
-            PlayerPrefs.SetString("Player" + i, playerName);
+            playerNames.Add(playerName);
         }
 
-        if (Int32.TryParse(timeToAnswerInputField.text, out int questionTimer)) {
-            PlayerPrefs.SetInt("QuestionTimer", questionTimer);
-        } else {
-            PlayerPrefs.SetInt("QuestionTimer", 20);
-        }
-
-        PlayerPrefs.SetString("GameMode", "Local");
-
+        db.LinkPlayersToLocalGame(playerNames, gameId);
+ 
+        PlayerPrefs.SetInt("GameId", gameId);
         SceneManager.LoadSceneAsync("narKampen");
     }
 }

+ 5 - 7
Assets/Scripts/NewQuestion.cs

@@ -4,16 +4,14 @@ using UnityEngine.EventSystems;
 
 public class NewQuestion : QuestionCard {
     // Start is called before the first frame update
+    public Vector3 originalPos;
+    public Quaternion originalRot;
+
     void Start()
     {
         // Get question from server
-        SetQuestionData();
-    }
-    
-    public void SetQuestionData()
-    {
-        GetQuestion(false);
-        SetAnswerText("???? - ????");
+        originalPos = this.transform.position;
+        originalRot = this.transform.rotation;
     }
 
     private static NewQuestion instance;

+ 20 - 0
Assets/Scripts/PlayerInfo.cs

@@ -0,0 +1,20 @@
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.UI;
+
+public class PlayerInfo : MonoBehaviour
+{
+    public Text nameText;
+    public Text pointsText;
+
+
+    internal void SetName(string name) {
+        nameText.text = name;
+    }
+
+    internal void SetPoints(int points) {
+        pointsText.text = points.ToString();
+    }
+}

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

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

+ 2 - 8
Assets/Scripts/QuestionCard.cs

@@ -15,9 +15,8 @@ public class QuestionCard : MonoBehaviour
     public string idString = "";
     public string categoryString = "";
 
-    private Color32 unsafeColor = new Color32(255, 1, 1, 150);
-    private Color32 safeColor = new Color32(1, 255, 1, 75);
-    private bool gettingQuestion;
+    public Color32 unsafeColor;
+    public Color32 safeColor;
 
     [Serializable]
     public class Question {
@@ -78,11 +77,6 @@ public class QuestionCard : MonoBehaviour
         }
     }
 
-    public void GetQuestion(bool showAnswer)
-    {
-        StartCoroutine(GetQuestionData(showAnswer));
-    }
-
     public void SetQuestionSafe()
     {
         this.GetComponent<Image>().color = safeColor;

+ 158 - 43
Assets/Scripts/ScrollViewScript.cs

@@ -8,15 +8,45 @@ using UnityEngine.UI;
 public class ScrollViewScript : MonoBehaviour, IDropHandler {
     public GameObject prefab;
     public Transform contentPanel;
-    private bool placeQuestion;
+    public Transform newQuestionsPanel;
+
     NewQuestion nq;
     private int newQuestionSiblingIndex;
-    ModalPanel modalPanel;
     private bool answeredCorrectly;
+    private List<KeyValuePair<string, int>> players;
+    private int gameId;
+
+    StatsScript statsScript;
+    Database db;
+    GameManagerScript gameManagerScript;
+    TimerScript ts;
+
+    string currentPlayer;
 
     // Start is called before the first frame update
     void Start() {
-        SetGiventQuestion();
+        statsScript = GameObject.Find("StatsPanel").GetComponent<StatsScript>();
+        db = GameObject.Find("GameManager").GetComponent<Database>();
+        gameManagerScript = GameObject.Find("GameManager").GetComponent<GameManagerScript>();
+        ts = GameObject.Find("TimerCircle").GetComponent<TimerScript>();
+
+        players = gameManagerScript.GetPlayers();
+
+        EventManager.StartListening("TimerEvent", TimerRunOutEvent);
+        gameId = gameManagerScript.GameId;
+        currentPlayer = db.GetCurrentPlayer(gameId);
+
+        statsScript.MakeBold(currentPlayer);
+
+        List<QuestionCard> answerlineQuestions = db.GetPlayerQuestions(gameId, currentPlayer);
+        SetQuestionsInAnswerLine(answerlineQuestions);
+        if (answerlineQuestions.Count == 0) {
+            SetGiventQuestion();
+        }
+        SetNewQuestion(db.GetNewQuestion());
+        ResetNewQuestionPosition();
+        ts.ResetTimer();
+        ts.StartTimer();
     }
 
     public void SetGiventQuestion() {
@@ -24,11 +54,24 @@ public class ScrollViewScript : MonoBehaviour, IDropHandler {
         GameObject question = Instantiate(prefab, new Vector2(0, 0), Quaternion.identity) as GameObject;
         QuestionCard questionCard = question.GetComponent<QuestionCard>();
         questionCard.PrepareQuestion("QuestionText", "AnswerText");
-        questionCard.GetQuestion(true);
+        questionCard = db.GetNewQuestion();
         questionCard.SetQuestionSafe();
 
         questionCard.transform.SetSiblingIndex(0);
         questionCard.transform.SetParent(contentPanel);
+
+        for (int i = 0; i < players.Count; i++) {
+            db.SavePlayersQuestion(questionCard.idString, players[i].Key, gameId);
+        }
+    }
+
+    private void SetQuestionsInAnswerLine(List<QuestionCard> questions) {
+        foreach (QuestionCard q in questions) {
+            q.transform.SetParent(contentPanel);
+            q.SetQuestionSafe();
+        }
+
+        SetAllQuestionsLocked(false);
     }
 
     public int GetUnlockedQuestionCount() {
@@ -42,13 +85,35 @@ public class ScrollViewScript : MonoBehaviour, IDropHandler {
         return unlockedQuestionCount;
     }
 
-    private void SetAllQuestionsLocked() {
+    public void SetAllQuestionsLocked(bool needsSave) {
         for (int i = 0; i < contentPanel.childCount; i++) {
             QuestionCard q = contentPanel.GetChild(i).GetComponent<QuestionCard>();
             q.SetQuestionSafe();
+
+            if (needsSave) {
+                Database db = GameObject.Find("GameManager").GetComponent<Database>();
+                db.SavePlayersQuestion(q.idString, currentPlayer, gameId);
+            }
         }
     }
 
+    public void SetNewQuestion(NewQuestion q) {
+        nq = q;
+        nq.SetQuestionText(q.questionString);
+        nq.SetAnswerText("???? - ????");
+        nq.GetComponent<CanvasGroup>().alpha = 1f;
+        q.transform.SetParent(newQuestionsPanel.transform);
+        ResetNewQuestionPosition();
+    }
+
+    private void ResetNewQuestionPosition() {
+        nq.transform.position = nq.originalPos;
+        nq.transform.localPosition = new Vector3(0, 0, 0);
+
+        nq.GetComponent<CanvasGroup>().alpha = 1f;
+        nq.transform.SetParent(newQuestionsPanel);
+    }
+
     public void OnDrop(PointerEventData eventData) {
         Draggable d = eventData.pointerDrag.GetComponent<Draggable>();
         if (d == null || !d.gameObject.name.Contains("NewQuestion")) {
@@ -66,64 +131,66 @@ public class ScrollViewScript : MonoBehaviour, IDropHandler {
 
 
             if (answeredCorrectly) {
-                dialog.SetTitle("Korrekt svarat " + nq.answerString + "!");
-                dialog.SetMessage("Helt korrekt, vill du ha en ny fråga, du riskerar då " + GetUnlockedQuestionCount() + " om du svarar fel");
-                dialog.SetOnAccept("Ja", () => {
-                    dialog.Hide();
-                    nq.SetQuestionData();
-                    SetQuestionsInAnswerLine();
-                }); // generera ny fråga
-                dialog.SetOnDecline("Nej", () => {
-                    dialog.Hide();
-                    SetAllQuestionsLocked();
-                    IncreaseRoundValue();
-                    SetQuestionsInAnswerLine();
-                }); // lås frågor som ej är låsta.
+                GameObject.Find("RoundButtons").GetComponent<RoundButtonsScript>().ShowPanel();
+                nq.GetComponent<CanvasGroup>().alpha = 0;
+                CheckWin();
+                ts.StopTimer();
+                ts.ResetTimer();
+                statsScript.SetQuestionsInAnswerLine(currentPlayer, contentPanel.childCount);
             } else {
+                ts.StopTimer();
+                ts.ResetTimer();
+
                 dialog.SetTitle("Tyvärr fel svar, korrekt svar var " + nq.answerString);
                 dialog.SetMessage("Du förlorade " + GetUnlockedQuestionCount() + ", bättre lycka nästa gång");
                 RemoveUnlockedQuestions();
-                dialog.SetOnAccept("Ok", () => dialog.Hide());
+                dialog.SetOnAccept("Ok", () => {
+                    dialog.Hide();
+                    NextPlayer();
+                });
                 dialog.SetOnDecline("", () => dialog.Hide());
-                IncreaseRoundValue();
-
-                nq.SetQuestionData();
+                ResetNewQuestionPosition();
+                dialog.Show();
             }
-            dialog.Show();
 
         });
-        dialog.SetOnDecline("Nej", () => dialog.Hide());
+        dialog.SetOnDecline("Nej", () => { dialog.Hide(); ResetNewQuestionPosition(); });
         dialog.Show();
     }
 
+    private void CheckWin() { // TODO
+        if (db.GetWinCondition(gameId) <= contentPanel.childCount) {
+
+            GenericDialog dialog = GenericDialog.Instance();
+            dialog.title.text = "You won!";
+            dialog.message.text = "You reached the goal of " + db.GetWinCondition(gameId) + " first, " +
+                "you lost " + GameObject.Find("Stats Value Lost").GetComponent<Text>().text + " questions from your answer to unlocked questions. " +
+                "It took " + db.GetRoundValue(gameId) + " rounds";
+            dialog.SetOnAccept("YEAY!", () => { dialog.Hide(); });
+        }
+    }
+
+    public void RemoveAllQuestionsFromAnswerline() {
+        QuestionCard[] questions = contentPanel.GetComponentsInChildren<QuestionCard>();
+        foreach (QuestionCard q in questions) {
+            Destroy(q);
+            Destroy(q.gameObject);
+        }
+    }
     private void RemoveUnlockedQuestions() {
         int lostQuestions = 0;
         for (int i = 0; i < contentPanel.childCount; i++) {
             QuestionCard q = contentPanel.GetChild(i).GetComponent<QuestionCard>();
             if (!q.IsQuestionSafe()) {
                 lostQuestions++;
+                Destroy(q);
                 Destroy(q.gameObject);
             }
         }
         Text lostQuestionsValueText = GameObject.Find("Stats Value Lost").GetComponent<Text>();
         lostQuestionsValueText.text = (Int16.Parse(lostQuestionsValueText.text) + lostQuestions).ToString();
 
-        SetQuestionsInAnswerLine(contentPanel.childCount - lostQuestions);
-    }
-
-    private void IncreaseRoundValue() {
-        Text roundTextValue = GameObject.Find("Stats Value Round").GetComponent<Text>();
-        roundTextValue.text = (Int16.Parse(roundTextValue.text) + 1).ToString();
-    }
-
-    private void SetQuestionsInAnswerLine() {
-        Text answerlineTextValue = GameObject.Find("Stats Value Inline").GetComponent<Text>();
-        answerlineTextValue.text = contentPanel.childCount.ToString();
-    }
-
-    private void SetQuestionsInAnswerLine(int answers) {
-        Text answerlineTextValue = GameObject.Find("Stats Value Inline").GetComponent<Text>();
-        answerlineTextValue.text = answers.ToString();
+        statsScript.SetQuestionsInAnswerLine(currentPlayer, contentPanel.childCount - lostQuestions);
     }
 
     void YesFunction() {
@@ -132,14 +199,13 @@ public class ScrollViewScript : MonoBehaviour, IDropHandler {
         int currentChildCount = contentPanel.childCount;
         Transform questionBefore = null;
         Transform questionAfter = null;
-        if (newQuestionSiblingIndex - 1 > 0) {
+        if (newQuestionSiblingIndex - 1 >= 0) {
             questionBefore = contentPanel.GetChild(newQuestionSiblingIndex - 1);
         }
         if (newQuestionSiblingIndex < currentChildCount) {
             questionAfter = contentPanel.GetChild(newQuestionSiblingIndex);
         }
 
-        QuestionCard test = contentPanel.GetChild(0).GetComponent<QuestionCard>();
         int answerBefore = -1;
         int answerAfter = 999999;
         if (questionBefore != null) {
@@ -170,6 +236,55 @@ public class ScrollViewScript : MonoBehaviour, IDropHandler {
         }
     }
 
-    void NoFunction() {
+    void TimerRunOutEvent() {
+        GenericDialog dialog = GenericDialog.Instance();
+        dialog.SetTitle("Tiden tog slut!");
+        dialog.SetMessage("Tiden tog slut och du förlorade " + GetUnlockedQuestionCount() + " frågor");
+        dialog.SetOnAccept("Ok", () => {
+            if (db.GetGameMode(gameId).Equals("Local")) {
+                RemoveUnlockedQuestions();
+                ts.ResetTimer();
+                dialog.Hide();
+                NextPlayer();
+            } else {
+                // online
+            }
+        });
+        dialog.SetOnDecline("", () => dialog.Hide());
+        dialog.Show();
+
+    }
+
+    public void NextPlayer() {
+        for (int i = 0; i < players.Count; i++) {
+            if (players[i].Key.Equals(currentPlayer)) {
+                if (i + 1 < players.Count) {
+                    currentPlayer = players[i + 1].Key;
+                    break;
+                } else {
+                    currentPlayer = players[0].Key;
+                    statsScript.IncreaseRoundValue();
+                    break;
+                }
+            }
+        }
+        
+        GenericDialog dialog = GenericDialog.Instance();
+        dialog.SetTitle("Nästa spelare");
+        dialog.SetMessage("Dags för spelare " + currentPlayer);
+        dialog.SetOnAccept("Ok", () => {
+            RemoveAllQuestionsFromAnswerline();
+            List<QuestionCard> questions = db.GetPlayerQuestions(gameId, currentPlayer);
+            SetQuestionsInAnswerLine(questions);
+
+            statsScript.MakeBold(currentPlayer);
+            db.SetCurrentPlayer(gameId, currentPlayer);
+            ResetNewQuestionPosition();
+            SetNewQuestion(db.GetNewQuestion());
+            ts.StartTimer();
+            dialog.Hide();
+        });
+        dialog.SetOnDecline("", () => dialog.Hide());
+        dialog.Show();
     }
 }

+ 56 - 13
Assets/Scripts/StatsScript.cs

@@ -7,26 +7,31 @@ using UnityEngine.UI;
 public class StatsScript : MonoBehaviour {
     public GameObject statsNames;
     public GameObject statsValues;
-    Font Arial;
-    private void Start() {
 
+    private Text[] statsTextNames;
+    private Text[] statsTextValues;
 
-        AddTextComponent(statsNames, "Player",false);
-        AddTextComponent(statsValues, "",true);
-        AddPlayersFromRefs();
-    }
+    GameManagerScript gms;
 
-    private void AddPlayersFromRefs() {
-        int playerCount = PlayerPrefs.GetInt("PlayerCount");
+    private void Start() {
+        gms = GameObject.Find("GameManager").GetComponent<GameManagerScript>();
+        AddTextComponent(statsNames, "Player",false,-1);
+        AddTextComponent(statsValues, "",true,-1);
+        //AddPlayersFromRefs();
+        statsTextNames = statsNames.GetComponentsInChildren<Text>();
+        statsTextValues = statsValues.GetComponentsInChildren<Text>();
+    }
 
-        for (int i = 0; i < playerCount; i++) {
-            string name = PlayerPrefs.GetString("Player" + i);
-            AddTextComponent(statsNames, name, false);
-            AddTextComponent(statsValues, "1", true);
+    public void AddPlayersToStats(List<KeyValuePair<string,int>> players) {
+        int count = players.Count;
+        
+        for (int i = 0; i < count; i++) { 
+            AddTextComponent(statsNames, players[i].Key, false, i);
+            AddTextComponent(statsValues, players[i].Value.ToString(), true, i);
         }
     }
 
-    private void AddTextComponent(GameObject parent, string text, bool alignCenter) {
+    private void AddTextComponent(GameObject parent, string text, bool alignCenter, int index) {
         GameObject playerHeaderGameObject = new GameObject();
         playerHeaderGameObject.transform.parent = parent.transform;
 
@@ -39,6 +44,10 @@ public class StatsScript : MonoBehaviour {
         newTextObject.resizeTextMinSize = 10;
         newTextObject.resizeTextMaxSize = 14;
 
+        if (index >= 0) {
+            newTextObject.name = "Player" + index;
+        }
+
         if (alignCenter) {
             newTextObject.alignment = TextAnchor.MiddleCenter;
         }
@@ -48,4 +57,38 @@ public class StatsScript : MonoBehaviour {
         rectTransform.localPosition = new Vector3(0, 0, 0);
         rectTransform.localScale = new Vector3(1, 1, 1);
     }
+
+    public void MakeBold(string playerName) {
+        statsTextNames = statsNames.GetComponentsInChildren<Text>();
+        statsTextValues = statsValues.GetComponentsInChildren<Text>();
+        for (int i = 0; i < statsTextNames.Length; i++) {
+            if (statsTextNames[i].text.Equals(playerName)) {
+                statsTextNames[i].fontStyle = FontStyle.Bold;
+                statsTextValues[i].fontStyle = FontStyle.Bold;
+            } else {
+                statsTextNames[i].fontStyle = FontStyle.Normal;
+                statsTextValues[i].fontStyle = FontStyle.Normal;
+            }
+        }
+    }
+
+    public void IncreaseRoundValue() {
+        foreach (Text text in statsTextValues) {
+            if (text.name.Equals("Stats Value Round")) {
+                Int32.TryParse(text.text, out int round);
+                round++;
+                text.text = round.ToString();
+                gms.GetDatabase().SetRoundValue(gms.GameId, round);
+                break;
+            }
+        }
+    }
+
+    public void SetQuestionsInAnswerLine(string playerName, int count) {
+        for (int i = 0; i < statsTextNames.Length; i++) { 
+            if (statsTextNames[i].text.Equals(playerName)) {
+                statsTextValues[i].text = count.ToString();
+            }
+        }
+    }
 }

+ 58 - 10
Assets/Scripts/TimerScript.cs

@@ -1,4 +1,5 @@
-using System.Collections;
+using System;
+using System.Collections;
 using System.Collections.Generic;
 using UnityEngine;
 using UnityEngine.UI;
@@ -11,30 +12,77 @@ public class TimerScript : MonoBehaviour
     float time;
     float timeAmount;
 
+    public bool mainTimer;
+
+    bool timerRunning = false;
+
     Color finalColor = new Color32(130,0,16,220);
     Color startlColor = new Color32(16, 0, 255, 200);
 
+    Database db;
+    GameManagerScript gms;
+    TimerScript dialogTimer;
+    int gameId;
+
     // Start is called before the first frame update
     void Start()
     {
-        circleImage = this.GetComponent<Image>();
-        time = PlayerPrefs.GetInt("QuestionTimer");
-        timeAmount = time;
+        dialogTimer = GameObject.Find("DialogTimerCircle").GetComponent<TimerScript>();
+        gms = GameObject.Find("GameManager").GetComponent<GameManagerScript>();
+        db = gms.GetDatabase();
+        gameId = gms.GameId;
+        circleImage = this.GetComponent<Image>(); /*
+        time = db.GetQuestionTimer(gameId); 
+        timeAmount = time; */
+        
         circleColor = circleImage.color;
 
         timerText.text = time.ToString("F0");
     }
+    public void StopTimer() {
+        timerRunning = false;
+        dialogTimer.timerRunning = false;
+    }
+
+    public void ResetTimer() {
+        gameId = gms.GameId;
+        time = db.GetQuestionTimer(gameId);
+        timeAmount = time;
+        circleColor = Color.Lerp(startlColor, finalColor, 1 - (time / timeAmount));
+
+        dialogTimer.time = time;
+        dialogTimer.timeAmount = timeAmount;
+        dialogTimer.circleImage.color = circleColor;
+        dialogTimer.timerText.text = time.ToString("F0");
+
+        circleImage.color = circleColor;
+        timerText.text = time.ToString("F0");
+    }
 
     // Update is called once per frame
     void Update()
     {
-        circleColor = circleImage.color;
-        if (time > 0) {
-            time -= Time.deltaTime;
-            circleColor = Color.Lerp(startlColor, finalColor, 1-(time/timeAmount));
+        if (timerRunning) {
+            circleColor = circleImage.color;
+            if (time > 0) {
+                time -= Time.deltaTime;
+                circleColor = Color.Lerp(startlColor, finalColor, 1 - (time / timeAmount));
 
-            circleImage.color = circleColor;
-            timerText.text = time.ToString("F0");
+                circleImage.color = circleColor;
+                timerText.text = time.ToString("F0");
+            } else {
+                timerRunning = false;
+
+                // send message to fail question
+                if (mainTimer) {
+                    EventManager.TriggerEvent("TimerEvent");
+                }
+            }
         }
     }
+
+    internal void StartTimer() {
+        timerRunning = true;
+        dialogTimer.timerRunning = true;
+    }
 }

Dosya farkı çok büyük olduğundan ihmal edildi
+ 409 - 390
Assets/narKampen.unity


BIN
Assets/narKampenLocal.db


+ 7 - 0
Assets/narKampenLocal.db.meta

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

Bu fark içinde çok fazla dosya değişikliği olduğu için bazı dosyalar gösterilmiyor