Resolve WES-95 "User progress"
This commit is contained in:
8
Assets/Accounts/Images.meta
Normal file
8
Assets/Accounts/Images.meta
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: e802361212dbdaf498e49abbb5239946
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
BIN
Assets/Accounts/Images/highscore_marker.png
Normal file
BIN
Assets/Accounts/Images/highscore_marker.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 6.1 KiB |
135
Assets/Accounts/Images/highscore_marker.png.meta
Normal file
135
Assets/Accounts/Images/highscore_marker.png.meta
Normal file
@@ -0,0 +1,135 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: b37c2d724a87c4a45a3cab6e61daef83
|
||||||
|
TextureImporter:
|
||||||
|
internalIDToNameTable: []
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 12
|
||||||
|
mipmaps:
|
||||||
|
mipMapMode: 0
|
||||||
|
enableMipMap: 0
|
||||||
|
sRGBTexture: 1
|
||||||
|
linearTexture: 0
|
||||||
|
fadeOut: 0
|
||||||
|
borderMipMap: 0
|
||||||
|
mipMapsPreserveCoverage: 0
|
||||||
|
alphaTestReferenceValue: 0.5
|
||||||
|
mipMapFadeDistanceStart: 1
|
||||||
|
mipMapFadeDistanceEnd: 3
|
||||||
|
bumpmap:
|
||||||
|
convertToNormalMap: 0
|
||||||
|
externalNormalMap: 0
|
||||||
|
heightScale: 0.25
|
||||||
|
normalMapFilter: 0
|
||||||
|
isReadable: 0
|
||||||
|
streamingMipmaps: 0
|
||||||
|
streamingMipmapsPriority: 0
|
||||||
|
vTOnly: 0
|
||||||
|
ignoreMasterTextureLimit: 0
|
||||||
|
grayScaleToAlpha: 0
|
||||||
|
generateCubemap: 6
|
||||||
|
cubemapConvolution: 0
|
||||||
|
seamlessCubemap: 0
|
||||||
|
textureFormat: 1
|
||||||
|
maxTextureSize: 2048
|
||||||
|
textureSettings:
|
||||||
|
serializedVersion: 2
|
||||||
|
filterMode: 1
|
||||||
|
aniso: 1
|
||||||
|
mipBias: 0
|
||||||
|
wrapU: 1
|
||||||
|
wrapV: 1
|
||||||
|
wrapW: 0
|
||||||
|
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: 128, y: 118, z: 128, w: 64}
|
||||||
|
spriteGenerateFallbackPhysicsShape: 1
|
||||||
|
alphaUsage: 1
|
||||||
|
alphaIsTransparency: 1
|
||||||
|
spriteTessellationDetail: -1
|
||||||
|
textureType: 8
|
||||||
|
textureShape: 1
|
||||||
|
singleChannelComponent: 0
|
||||||
|
flipbookRows: 1
|
||||||
|
flipbookColumns: 1
|
||||||
|
maxTextureSizeSet: 0
|
||||||
|
compressionQualitySet: 0
|
||||||
|
textureFormatSet: 0
|
||||||
|
ignorePngGamma: 0
|
||||||
|
applyGammaDecoding: 0
|
||||||
|
cookieLightType: 0
|
||||||
|
platformSettings:
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: DefaultTexturePlatform
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: Standalone
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: Server
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: Windows Store Apps
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
spriteSheet:
|
||||||
|
serializedVersion: 2
|
||||||
|
sprites: []
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
bones: []
|
||||||
|
spriteID: 5e97eb03825dee720800000000000000
|
||||||
|
internalID: 1537655665
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
secondaryTextures: []
|
||||||
|
nameFileIdTable: {}
|
||||||
|
spritePackingTag:
|
||||||
|
pSDRemoveMatte: 0
|
||||||
|
pSDShowRemoveMatteOption: 0
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
636
Assets/Accounts/Prefabs/CourseProgressCard.prefab
Normal file
636
Assets/Accounts/Prefabs/CourseProgressCard.prefab
Normal file
@@ -0,0 +1,636 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!1 &2045808345835067526
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 745937690470119765}
|
||||||
|
- component: {fileID: 2633536296139725873}
|
||||||
|
m_Layer: 5
|
||||||
|
m_Name: Progress
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!224 &745937690470119765
|
||||||
|
RectTransform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 2045808345835067526}
|
||||||
|
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_ConstrainProportionsScale: 0
|
||||||
|
m_Children:
|
||||||
|
- {fileID: 3712883445089742215}
|
||||||
|
- {fileID: 8571282016879957287}
|
||||||
|
m_Father: {fileID: 5101881939626277737}
|
||||||
|
m_RootOrder: 2
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
m_AnchorMin: {x: 0.5, y: 0}
|
||||||
|
m_AnchorMax: {x: 0.5, y: 0}
|
||||||
|
m_AnchoredPosition: {x: 55, y: 25}
|
||||||
|
m_SizeDelta: {x: 350, y: 50}
|
||||||
|
m_Pivot: {x: 0.5, y: 0}
|
||||||
|
--- !u!114 &2633536296139725873
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 2045808345835067526}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 67db9e8f0e2ae9c40bc1e2b64352a6b4, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
m_Navigation:
|
||||||
|
m_Mode: 3
|
||||||
|
m_WrapAround: 0
|
||||||
|
m_SelectOnUp: {fileID: 0}
|
||||||
|
m_SelectOnDown: {fileID: 0}
|
||||||
|
m_SelectOnLeft: {fileID: 0}
|
||||||
|
m_SelectOnRight: {fileID: 0}
|
||||||
|
m_Transition: 0
|
||||||
|
m_Colors:
|
||||||
|
m_NormalColor: {r: 1, g: 0, b: 0, a: 1}
|
||||||
|
m_HighlightedColor: {r: 0.016251326, g: 1, b: 0, a: 1}
|
||||||
|
m_PressedColor: {r: 1, g: 0.8441375, b: 0, a: 1}
|
||||||
|
m_SelectedColor: {r: 0, g: 0.21683073, b: 1, a: 1}
|
||||||
|
m_DisabledColor: {r: 1, g: 0, b: 0.92438126, a: 0.5019608}
|
||||||
|
m_ColorMultiplier: 1
|
||||||
|
m_FadeDuration: 0.1
|
||||||
|
m_SpriteState:
|
||||||
|
m_HighlightedSprite: {fileID: 0}
|
||||||
|
m_PressedSprite: {fileID: 0}
|
||||||
|
m_SelectedSprite: {fileID: 0}
|
||||||
|
m_DisabledSprite: {fileID: 0}
|
||||||
|
m_AnimationTriggers:
|
||||||
|
m_NormalTrigger: Normal
|
||||||
|
m_HighlightedTrigger: Highlighted
|
||||||
|
m_PressedTrigger: Pressed
|
||||||
|
m_SelectedTrigger: Selected
|
||||||
|
m_DisabledTrigger: Disabled
|
||||||
|
m_Interactable: 0
|
||||||
|
m_TargetGraphic: {fileID: 0}
|
||||||
|
m_FillRect: {fileID: 3891881107574107445}
|
||||||
|
m_HandleRect: {fileID: 0}
|
||||||
|
m_Direction: 0
|
||||||
|
m_MinValue: 0
|
||||||
|
m_MaxValue: 1
|
||||||
|
m_WholeNumbers: 0
|
||||||
|
m_Value: 1
|
||||||
|
m_OnValueChanged:
|
||||||
|
m_PersistentCalls:
|
||||||
|
m_Calls: []
|
||||||
|
--- !u!1 &2194708751971992230
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 8571282016879957287}
|
||||||
|
m_Layer: 5
|
||||||
|
m_Name: Fill Area
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!224 &8571282016879957287
|
||||||
|
RectTransform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 2194708751971992230}
|
||||||
|
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_ConstrainProportionsScale: 0
|
||||||
|
m_Children:
|
||||||
|
- {fileID: 3891881107574107445}
|
||||||
|
m_Father: {fileID: 745937690470119765}
|
||||||
|
m_RootOrder: 1
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
m_AnchorMin: {x: 0, y: 0.25}
|
||||||
|
m_AnchorMax: {x: 1, y: 0.75}
|
||||||
|
m_AnchoredPosition: {x: 0, y: 0}
|
||||||
|
m_SizeDelta: {x: 0, y: 0}
|
||||||
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
|
--- !u!1 &3517894170244383749
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 3712883445089742215}
|
||||||
|
- component: {fileID: 8494404583723722979}
|
||||||
|
- component: {fileID: 3040170023878141651}
|
||||||
|
m_Layer: 5
|
||||||
|
m_Name: Background
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!224 &3712883445089742215
|
||||||
|
RectTransform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 3517894170244383749}
|
||||||
|
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_ConstrainProportionsScale: 0
|
||||||
|
m_Children: []
|
||||||
|
m_Father: {fileID: 745937690470119765}
|
||||||
|
m_RootOrder: 0
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
m_AnchorMin: {x: 0, y: 0.25}
|
||||||
|
m_AnchorMax: {x: 1, y: 0.75}
|
||||||
|
m_AnchoredPosition: {x: 0, y: 0}
|
||||||
|
m_SizeDelta: {x: 0, y: 0}
|
||||||
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
|
--- !u!222 &8494404583723722979
|
||||||
|
CanvasRenderer:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 3517894170244383749}
|
||||||
|
m_CullTransparentMesh: 1
|
||||||
|
--- !u!114 &3040170023878141651
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 3517894170244383749}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
m_Material: {fileID: 0}
|
||||||
|
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
m_RaycastTarget: 1
|
||||||
|
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
m_Maskable: 1
|
||||||
|
m_OnCullStateChanged:
|
||||||
|
m_PersistentCalls:
|
||||||
|
m_Calls: []
|
||||||
|
m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0}
|
||||||
|
m_Type: 1
|
||||||
|
m_PreserveAspect: 0
|
||||||
|
m_FillCenter: 1
|
||||||
|
m_FillMethod: 4
|
||||||
|
m_FillAmount: 1
|
||||||
|
m_FillClockwise: 1
|
||||||
|
m_FillOrigin: 0
|
||||||
|
m_UseSpriteMesh: 0
|
||||||
|
m_PixelsPerUnitMultiplier: 1
|
||||||
|
--- !u!1 &5101881939626277738
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 5101881939626277737}
|
||||||
|
- component: {fileID: 5101881939626277751}
|
||||||
|
- component: {fileID: 5101881939626277736}
|
||||||
|
- component: {fileID: -2577348215772602702}
|
||||||
|
- component: {fileID: 1259074662537736520}
|
||||||
|
m_Layer: 5
|
||||||
|
m_Name: CourseProgressCard
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!224 &5101881939626277737
|
||||||
|
RectTransform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 5101881939626277738}
|
||||||
|
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_ConstrainProportionsScale: 0
|
||||||
|
m_Children:
|
||||||
|
- {fileID: 5101881939775039228}
|
||||||
|
- {fileID: 5101881939882359065}
|
||||||
|
- {fileID: 745937690470119765}
|
||||||
|
m_Father: {fileID: 0}
|
||||||
|
m_RootOrder: 0
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
|
m_AnchorMax: {x: 0, y: 0}
|
||||||
|
m_AnchoredPosition: {x: 0, y: 0}
|
||||||
|
m_SizeDelta: {x: 0, y: 0}
|
||||||
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
|
--- !u!222 &5101881939626277751
|
||||||
|
CanvasRenderer:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 5101881939626277738}
|
||||||
|
m_CullTransparentMesh: 1
|
||||||
|
--- !u!114 &5101881939626277736
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 5101881939626277738}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
m_Material: {fileID: 0}
|
||||||
|
m_Color: {r: 1, g: 1, b: 1, a: 0.19607843}
|
||||||
|
m_RaycastTarget: 1
|
||||||
|
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
m_Maskable: 1
|
||||||
|
m_OnCullStateChanged:
|
||||||
|
m_PersistentCalls:
|
||||||
|
m_Calls: []
|
||||||
|
m_Sprite: {fileID: 0}
|
||||||
|
m_Type: 0
|
||||||
|
m_PreserveAspect: 0
|
||||||
|
m_FillCenter: 1
|
||||||
|
m_FillMethod: 4
|
||||||
|
m_FillAmount: 1
|
||||||
|
m_FillClockwise: 1
|
||||||
|
m_FillOrigin: 0
|
||||||
|
m_UseSpriteMesh: 0
|
||||||
|
m_PixelsPerUnitMultiplier: 1
|
||||||
|
--- !u!114 &-2577348215772602702
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 5101881939626277738}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
m_Navigation:
|
||||||
|
m_Mode: 3
|
||||||
|
m_WrapAround: 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_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||||
|
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
|
||||||
|
m_ColorMultiplier: 1
|
||||||
|
m_FadeDuration: 0.1
|
||||||
|
m_SpriteState:
|
||||||
|
m_HighlightedSprite: {fileID: 0}
|
||||||
|
m_PressedSprite: {fileID: 0}
|
||||||
|
m_SelectedSprite: {fileID: 0}
|
||||||
|
m_DisabledSprite: {fileID: 0}
|
||||||
|
m_AnimationTriggers:
|
||||||
|
m_NormalTrigger: Normal
|
||||||
|
m_HighlightedTrigger: Highlighted
|
||||||
|
m_PressedTrigger: Pressed
|
||||||
|
m_SelectedTrigger: Selected
|
||||||
|
m_DisabledTrigger: Disabled
|
||||||
|
m_Interactable: 1
|
||||||
|
m_TargetGraphic: {fileID: 5101881939626277736}
|
||||||
|
m_OnClick:
|
||||||
|
m_PersistentCalls:
|
||||||
|
m_Calls: []
|
||||||
|
--- !u!114 &1259074662537736520
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 5101881939626277738}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: c7f1ef892112fd243929d40c896c9b7b, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
button: {fileID: -2577348215772602702}
|
||||||
|
courseProgress:
|
||||||
|
entries: []
|
||||||
|
courseList: {fileID: 11400000, guid: a7ab583094b7897468bbca9243717608, type: 2}
|
||||||
|
thumbnail: {fileID: 5101881939775039227}
|
||||||
|
title: {fileID: 5101881939882359064}
|
||||||
|
progressBar: {fileID: 2633536296139725873}
|
||||||
|
--- !u!1 &5101881939775039229
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 5101881939775039228}
|
||||||
|
- component: {fileID: 5101881939775039226}
|
||||||
|
- component: {fileID: 5101881939775039227}
|
||||||
|
m_Layer: 5
|
||||||
|
m_Name: Thumbnail
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!224 &5101881939775039228
|
||||||
|
RectTransform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 5101881939775039229}
|
||||||
|
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_ConstrainProportionsScale: 0
|
||||||
|
m_Children: []
|
||||||
|
m_Father: {fileID: 5101881939626277737}
|
||||||
|
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: 20, y: 0}
|
||||||
|
m_SizeDelta: {x: 100, y: 100}
|
||||||
|
m_Pivot: {x: 0, y: 0.5}
|
||||||
|
--- !u!222 &5101881939775039226
|
||||||
|
CanvasRenderer:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 5101881939775039229}
|
||||||
|
m_CullTransparentMesh: 1
|
||||||
|
--- !u!114 &5101881939775039227
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 5101881939775039229}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
m_Material: {fileID: 0}
|
||||||
|
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
m_RaycastTarget: 1
|
||||||
|
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
m_Maskable: 1
|
||||||
|
m_OnCullStateChanged:
|
||||||
|
m_PersistentCalls:
|
||||||
|
m_Calls: []
|
||||||
|
m_Sprite: {fileID: 0}
|
||||||
|
m_Type: 0
|
||||||
|
m_PreserveAspect: 0
|
||||||
|
m_FillCenter: 1
|
||||||
|
m_FillMethod: 4
|
||||||
|
m_FillAmount: 1
|
||||||
|
m_FillClockwise: 1
|
||||||
|
m_FillOrigin: 0
|
||||||
|
m_UseSpriteMesh: 0
|
||||||
|
m_PixelsPerUnitMultiplier: 1
|
||||||
|
--- !u!1 &5101881939882359066
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 5101881939882359065}
|
||||||
|
- component: {fileID: 5101881939882360551}
|
||||||
|
- component: {fileID: 5101881939882359064}
|
||||||
|
m_Layer: 5
|
||||||
|
m_Name: Title
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!224 &5101881939882359065
|
||||||
|
RectTransform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 5101881939882359066}
|
||||||
|
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_ConstrainProportionsScale: 0
|
||||||
|
m_Children: []
|
||||||
|
m_Father: {fileID: 5101881939626277737}
|
||||||
|
m_RootOrder: 1
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
m_AnchorMin: {x: 0.5, y: 1}
|
||||||
|
m_AnchorMax: {x: 0.5, y: 1}
|
||||||
|
m_AnchoredPosition: {x: 55, y: -25}
|
||||||
|
m_SizeDelta: {x: 350, y: 50}
|
||||||
|
m_Pivot: {x: 0.5, y: 1}
|
||||||
|
--- !u!222 &5101881939882360551
|
||||||
|
CanvasRenderer:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 5101881939882359066}
|
||||||
|
m_CullTransparentMesh: 1
|
||||||
|
--- !u!114 &5101881939882359064
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 5101881939882359066}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
m_Material: {fileID: 0}
|
||||||
|
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
m_RaycastTarget: 1
|
||||||
|
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
m_Maskable: 1
|
||||||
|
m_OnCullStateChanged:
|
||||||
|
m_PersistentCalls:
|
||||||
|
m_Calls: []
|
||||||
|
m_text: <Minigame title>
|
||||||
|
m_isRightToLeft: 0
|
||||||
|
m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
||||||
|
m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
||||||
|
m_fontSharedMaterials: []
|
||||||
|
m_fontMaterial: {fileID: 0}
|
||||||
|
m_fontMaterials: []
|
||||||
|
m_fontColor32:
|
||||||
|
serializedVersion: 2
|
||||||
|
rgba: 4294967295
|
||||||
|
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
m_enableVertexGradient: 0
|
||||||
|
m_colorMode: 3
|
||||||
|
m_fontColorGradient:
|
||||||
|
topLeft: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
topRight: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
bottomRight: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
m_fontColorGradientPreset: {fileID: 0}
|
||||||
|
m_spriteAsset: {fileID: 0}
|
||||||
|
m_tintAllSprites: 0
|
||||||
|
m_StyleSheet: {fileID: 0}
|
||||||
|
m_TextStyleHashCode: -1183493901
|
||||||
|
m_overrideHtmlColors: 0
|
||||||
|
m_faceColor:
|
||||||
|
serializedVersion: 2
|
||||||
|
rgba: 4294967295
|
||||||
|
m_fontSize: 36
|
||||||
|
m_fontSizeBase: 36
|
||||||
|
m_fontWeight: 400
|
||||||
|
m_enableAutoSizing: 0
|
||||||
|
m_fontSizeMin: 18
|
||||||
|
m_fontSizeMax: 72
|
||||||
|
m_fontStyle: 0
|
||||||
|
m_HorizontalAlignment: 1
|
||||||
|
m_VerticalAlignment: 512
|
||||||
|
m_textAlignment: 65535
|
||||||
|
m_characterSpacing: 0
|
||||||
|
m_wordSpacing: 0
|
||||||
|
m_lineSpacing: 0
|
||||||
|
m_lineSpacingMax: 0
|
||||||
|
m_paragraphSpacing: 0
|
||||||
|
m_charWidthMaxAdj: 0
|
||||||
|
m_enableWordWrapping: 1
|
||||||
|
m_wordWrappingRatios: 0.4
|
||||||
|
m_overflowMode: 0
|
||||||
|
m_linkedTextComponent: {fileID: 0}
|
||||||
|
parentLinkedComponent: {fileID: 0}
|
||||||
|
m_enableKerning: 1
|
||||||
|
m_enableExtraPadding: 0
|
||||||
|
checkPaddingRequired: 0
|
||||||
|
m_isRichText: 1
|
||||||
|
m_parseCtrlCharacters: 1
|
||||||
|
m_isOrthographic: 1
|
||||||
|
m_isCullingEnabled: 0
|
||||||
|
m_horizontalMapping: 0
|
||||||
|
m_verticalMapping: 0
|
||||||
|
m_uvLineOffset: 0
|
||||||
|
m_geometrySortingOrder: 0
|
||||||
|
m_IsTextObjectScaleStatic: 0
|
||||||
|
m_VertexBufferAutoSizeReduction: 0
|
||||||
|
m_useMaxVisibleDescender: 1
|
||||||
|
m_pageToDisplay: 1
|
||||||
|
m_margin: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
m_isUsingLegacyAnimationComponent: 0
|
||||||
|
m_isVolumetricText: 0
|
||||||
|
m_hasFontAssetChanged: 0
|
||||||
|
m_baseMaterial: {fileID: 0}
|
||||||
|
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
--- !u!1 &6543468116765169176
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 3891881107574107445}
|
||||||
|
- component: {fileID: 8062532647226082379}
|
||||||
|
- component: {fileID: 1742397510050758904}
|
||||||
|
m_Layer: 5
|
||||||
|
m_Name: Fill
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!224 &3891881107574107445
|
||||||
|
RectTransform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 6543468116765169176}
|
||||||
|
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_ConstrainProportionsScale: 0
|
||||||
|
m_Children: []
|
||||||
|
m_Father: {fileID: 8571282016879957287}
|
||||||
|
m_RootOrder: 0
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
|
m_AnchorMax: {x: 0, y: 0}
|
||||||
|
m_AnchoredPosition: {x: 0, y: 0}
|
||||||
|
m_SizeDelta: {x: 0, y: 0}
|
||||||
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
|
--- !u!222 &8062532647226082379
|
||||||
|
CanvasRenderer:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 6543468116765169176}
|
||||||
|
m_CullTransparentMesh: 1
|
||||||
|
--- !u!114 &1742397510050758904
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 6543468116765169176}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
m_Material: {fileID: 0}
|
||||||
|
m_Color: {r: 0, g: 0.7529412, b: 1, a: 1}
|
||||||
|
m_RaycastTarget: 1
|
||||||
|
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
m_Maskable: 1
|
||||||
|
m_OnCullStateChanged:
|
||||||
|
m_PersistentCalls:
|
||||||
|
m_Calls: []
|
||||||
|
m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
|
||||||
|
m_Type: 1
|
||||||
|
m_PreserveAspect: 0
|
||||||
|
m_FillCenter: 1
|
||||||
|
m_FillMethod: 4
|
||||||
|
m_FillAmount: 1
|
||||||
|
m_FillClockwise: 1
|
||||||
|
m_FillOrigin: 0
|
||||||
|
m_UseSpriteMesh: 0
|
||||||
|
m_PixelsPerUnitMultiplier: 1
|
||||||
7
Assets/Accounts/Prefabs/CourseProgressCard.prefab.meta
Normal file
7
Assets/Accounts/Prefabs/CourseProgressCard.prefab.meta
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: b953de8778612cd449ba1999c4f7b8c4
|
||||||
|
PrefabImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
78
Assets/Accounts/Prefabs/Highscore Marker.prefab
Normal file
78
Assets/Accounts/Prefabs/Highscore Marker.prefab
Normal file
@@ -0,0 +1,78 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!1 &7141392721760992647
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 7141392721760992646}
|
||||||
|
- component: {fileID: 7141392721760992644}
|
||||||
|
- component: {fileID: 7141392721760992645}
|
||||||
|
m_Layer: 5
|
||||||
|
m_Name: Highscore Marker
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!224 &7141392721760992646
|
||||||
|
RectTransform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 7141392721760992647}
|
||||||
|
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_ConstrainProportionsScale: 0
|
||||||
|
m_Children: []
|
||||||
|
m_Father: {fileID: 0}
|
||||||
|
m_RootOrder: 0
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
|
m_AnchorMax: {x: 0, y: 0}
|
||||||
|
m_AnchoredPosition: {x: 0, y: 0}
|
||||||
|
m_SizeDelta: {x: 50, y: 50}
|
||||||
|
m_Pivot: {x: 0, y: 0}
|
||||||
|
--- !u!222 &7141392721760992644
|
||||||
|
CanvasRenderer:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 7141392721760992647}
|
||||||
|
m_CullTransparentMesh: 1
|
||||||
|
--- !u!114 &7141392721760992645
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 7141392721760992647}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
m_Material: {fileID: 0}
|
||||||
|
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
m_RaycastTarget: 1
|
||||||
|
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
m_Maskable: 1
|
||||||
|
m_OnCullStateChanged:
|
||||||
|
m_PersistentCalls:
|
||||||
|
m_Calls: []
|
||||||
|
m_Sprite: {fileID: 21300000, guid: b37c2d724a87c4a45a3cab6e61daef83, type: 3}
|
||||||
|
m_Type: 1
|
||||||
|
m_PreserveAspect: 0
|
||||||
|
m_FillCenter: 1
|
||||||
|
m_FillMethod: 4
|
||||||
|
m_FillAmount: 1
|
||||||
|
m_FillClockwise: 1
|
||||||
|
m_FillOrigin: 0
|
||||||
|
m_UseSpriteMesh: 0
|
||||||
|
m_PixelsPerUnitMultiplier: 100
|
||||||
7
Assets/Accounts/Prefabs/Highscore Marker.prefab.meta
Normal file
7
Assets/Accounts/Prefabs/Highscore Marker.prefab.meta
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: c54186c4d7aafd5459b0097d481b8fbf
|
||||||
|
PrefabImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
492
Assets/Accounts/Prefabs/MinigameProgressCard.prefab
Normal file
492
Assets/Accounts/Prefabs/MinigameProgressCard.prefab
Normal file
@@ -0,0 +1,492 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!1 &5101881939595570684
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 5101881939595570683}
|
||||||
|
- component: {fileID: 5101881939595570681}
|
||||||
|
- component: {fileID: 5101881939595570682}
|
||||||
|
m_Layer: 5
|
||||||
|
m_Name: Highscore
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!224 &5101881939595570683
|
||||||
|
RectTransform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 5101881939595570684}
|
||||||
|
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_ConstrainProportionsScale: 0
|
||||||
|
m_Children: []
|
||||||
|
m_Father: {fileID: 5101881939626277737}
|
||||||
|
m_RootOrder: 2
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
m_AnchorMin: {x: 0.5, y: 0}
|
||||||
|
m_AnchorMax: {x: 0.5, y: 0}
|
||||||
|
m_AnchoredPosition: {x: 55, y: 25}
|
||||||
|
m_SizeDelta: {x: 350, y: 50}
|
||||||
|
m_Pivot: {x: 0.5, y: 0}
|
||||||
|
--- !u!222 &5101881939595570681
|
||||||
|
CanvasRenderer:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 5101881939595570684}
|
||||||
|
m_CullTransparentMesh: 1
|
||||||
|
--- !u!114 &5101881939595570682
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 5101881939595570684}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
m_Material: {fileID: 0}
|
||||||
|
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
m_RaycastTarget: 1
|
||||||
|
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
m_Maskable: 1
|
||||||
|
m_OnCullStateChanged:
|
||||||
|
m_PersistentCalls:
|
||||||
|
m_Calls: []
|
||||||
|
m_text: 'Topscore: 123456789'
|
||||||
|
m_isRightToLeft: 0
|
||||||
|
m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
||||||
|
m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
||||||
|
m_fontSharedMaterials: []
|
||||||
|
m_fontMaterial: {fileID: 0}
|
||||||
|
m_fontMaterials: []
|
||||||
|
m_fontColor32:
|
||||||
|
serializedVersion: 2
|
||||||
|
rgba: 4294967295
|
||||||
|
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
m_enableVertexGradient: 0
|
||||||
|
m_colorMode: 3
|
||||||
|
m_fontColorGradient:
|
||||||
|
topLeft: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
topRight: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
bottomRight: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
m_fontColorGradientPreset: {fileID: 0}
|
||||||
|
m_spriteAsset: {fileID: 0}
|
||||||
|
m_tintAllSprites: 0
|
||||||
|
m_StyleSheet: {fileID: 0}
|
||||||
|
m_TextStyleHashCode: -1183493901
|
||||||
|
m_overrideHtmlColors: 0
|
||||||
|
m_faceColor:
|
||||||
|
serializedVersion: 2
|
||||||
|
rgba: 4294967295
|
||||||
|
m_fontSize: 28
|
||||||
|
m_fontSizeBase: 28
|
||||||
|
m_fontWeight: 400
|
||||||
|
m_enableAutoSizing: 0
|
||||||
|
m_fontSizeMin: 18
|
||||||
|
m_fontSizeMax: 72
|
||||||
|
m_fontStyle: 0
|
||||||
|
m_HorizontalAlignment: 4
|
||||||
|
m_VerticalAlignment: 512
|
||||||
|
m_textAlignment: 65535
|
||||||
|
m_characterSpacing: 0
|
||||||
|
m_wordSpacing: 0
|
||||||
|
m_lineSpacing: 0
|
||||||
|
m_lineSpacingMax: 0
|
||||||
|
m_paragraphSpacing: 0
|
||||||
|
m_charWidthMaxAdj: 0
|
||||||
|
m_enableWordWrapping: 1
|
||||||
|
m_wordWrappingRatios: 0.4
|
||||||
|
m_overflowMode: 0
|
||||||
|
m_linkedTextComponent: {fileID: 0}
|
||||||
|
parentLinkedComponent: {fileID: 0}
|
||||||
|
m_enableKerning: 1
|
||||||
|
m_enableExtraPadding: 0
|
||||||
|
checkPaddingRequired: 0
|
||||||
|
m_isRichText: 1
|
||||||
|
m_parseCtrlCharacters: 1
|
||||||
|
m_isOrthographic: 1
|
||||||
|
m_isCullingEnabled: 0
|
||||||
|
m_horizontalMapping: 0
|
||||||
|
m_verticalMapping: 0
|
||||||
|
m_uvLineOffset: 0
|
||||||
|
m_geometrySortingOrder: 0
|
||||||
|
m_IsTextObjectScaleStatic: 0
|
||||||
|
m_VertexBufferAutoSizeReduction: 0
|
||||||
|
m_useMaxVisibleDescender: 1
|
||||||
|
m_pageToDisplay: 1
|
||||||
|
m_margin: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
m_isUsingLegacyAnimationComponent: 0
|
||||||
|
m_isVolumetricText: 0
|
||||||
|
m_hasFontAssetChanged: 0
|
||||||
|
m_baseMaterial: {fileID: 0}
|
||||||
|
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
--- !u!1 &5101881939626277738
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 5101881939626277737}
|
||||||
|
- component: {fileID: 5101881939626277751}
|
||||||
|
- component: {fileID: 5101881939626277736}
|
||||||
|
- component: {fileID: 5555894415693752970}
|
||||||
|
- component: {fileID: 3200322882391602566}
|
||||||
|
m_Layer: 5
|
||||||
|
m_Name: MinigameProgressCard
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!224 &5101881939626277737
|
||||||
|
RectTransform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 5101881939626277738}
|
||||||
|
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_ConstrainProportionsScale: 0
|
||||||
|
m_Children:
|
||||||
|
- {fileID: 5101881939775039228}
|
||||||
|
- {fileID: 5101881939882359065}
|
||||||
|
- {fileID: 5101881939595570683}
|
||||||
|
m_Father: {fileID: 0}
|
||||||
|
m_RootOrder: 0
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
|
m_AnchorMax: {x: 0, y: 0}
|
||||||
|
m_AnchoredPosition: {x: 0, y: 0}
|
||||||
|
m_SizeDelta: {x: 0, y: 0}
|
||||||
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
|
--- !u!222 &5101881939626277751
|
||||||
|
CanvasRenderer:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 5101881939626277738}
|
||||||
|
m_CullTransparentMesh: 1
|
||||||
|
--- !u!114 &5101881939626277736
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 5101881939626277738}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
m_Material: {fileID: 0}
|
||||||
|
m_Color: {r: 1, g: 1, b: 1, a: 0.19607843}
|
||||||
|
m_RaycastTarget: 1
|
||||||
|
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
m_Maskable: 1
|
||||||
|
m_OnCullStateChanged:
|
||||||
|
m_PersistentCalls:
|
||||||
|
m_Calls: []
|
||||||
|
m_Sprite: {fileID: 0}
|
||||||
|
m_Type: 0
|
||||||
|
m_PreserveAspect: 0
|
||||||
|
m_FillCenter: 1
|
||||||
|
m_FillMethod: 4
|
||||||
|
m_FillAmount: 1
|
||||||
|
m_FillClockwise: 1
|
||||||
|
m_FillOrigin: 0
|
||||||
|
m_UseSpriteMesh: 0
|
||||||
|
m_PixelsPerUnitMultiplier: 1
|
||||||
|
--- !u!114 &5555894415693752970
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 5101881939626277738}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
m_Navigation:
|
||||||
|
m_Mode: 3
|
||||||
|
m_WrapAround: 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_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||||
|
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
|
||||||
|
m_ColorMultiplier: 1
|
||||||
|
m_FadeDuration: 0.1
|
||||||
|
m_SpriteState:
|
||||||
|
m_HighlightedSprite: {fileID: 0}
|
||||||
|
m_PressedSprite: {fileID: 0}
|
||||||
|
m_SelectedSprite: {fileID: 0}
|
||||||
|
m_DisabledSprite: {fileID: 0}
|
||||||
|
m_AnimationTriggers:
|
||||||
|
m_NormalTrigger: Normal
|
||||||
|
m_HighlightedTrigger: Highlighted
|
||||||
|
m_PressedTrigger: Pressed
|
||||||
|
m_SelectedTrigger: Selected
|
||||||
|
m_DisabledTrigger: Disabled
|
||||||
|
m_Interactable: 1
|
||||||
|
m_TargetGraphic: {fileID: 5101881939626277736}
|
||||||
|
m_OnClick:
|
||||||
|
m_PersistentCalls:
|
||||||
|
m_Calls: []
|
||||||
|
--- !u!114 &3200322882391602566
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 5101881939626277738}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: c2f3fceaa7f21164eaea98a63fa7d8e5, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
button: {fileID: 5555894415693752970}
|
||||||
|
minigameProgress:
|
||||||
|
entries: []
|
||||||
|
minigameList: {fileID: 11400000, guid: 51453f9b41bc72f468ba3e67ab622f8f, type: 2}
|
||||||
|
thumbnail: {fileID: 5101881939775039227}
|
||||||
|
title: {fileID: 5101881939882359064}
|
||||||
|
highscore: {fileID: 5101881939595570682}
|
||||||
|
--- !u!1 &5101881939775039229
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 5101881939775039228}
|
||||||
|
- component: {fileID: 5101881939775039226}
|
||||||
|
- component: {fileID: 5101881939775039227}
|
||||||
|
m_Layer: 5
|
||||||
|
m_Name: Thumbnail
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!224 &5101881939775039228
|
||||||
|
RectTransform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 5101881939775039229}
|
||||||
|
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_ConstrainProportionsScale: 0
|
||||||
|
m_Children: []
|
||||||
|
m_Father: {fileID: 5101881939626277737}
|
||||||
|
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: 20, y: 0}
|
||||||
|
m_SizeDelta: {x: 100, y: 100}
|
||||||
|
m_Pivot: {x: 0, y: 0.5}
|
||||||
|
--- !u!222 &5101881939775039226
|
||||||
|
CanvasRenderer:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 5101881939775039229}
|
||||||
|
m_CullTransparentMesh: 1
|
||||||
|
--- !u!114 &5101881939775039227
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 5101881939775039229}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
m_Material: {fileID: 0}
|
||||||
|
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
m_RaycastTarget: 1
|
||||||
|
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
m_Maskable: 1
|
||||||
|
m_OnCullStateChanged:
|
||||||
|
m_PersistentCalls:
|
||||||
|
m_Calls: []
|
||||||
|
m_Sprite: {fileID: 0}
|
||||||
|
m_Type: 0
|
||||||
|
m_PreserveAspect: 0
|
||||||
|
m_FillCenter: 1
|
||||||
|
m_FillMethod: 4
|
||||||
|
m_FillAmount: 1
|
||||||
|
m_FillClockwise: 1
|
||||||
|
m_FillOrigin: 0
|
||||||
|
m_UseSpriteMesh: 0
|
||||||
|
m_PixelsPerUnitMultiplier: 1
|
||||||
|
--- !u!1 &5101881939882359066
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 5101881939882359065}
|
||||||
|
- component: {fileID: 5101881939882360551}
|
||||||
|
- component: {fileID: 5101881939882359064}
|
||||||
|
m_Layer: 5
|
||||||
|
m_Name: Title
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!224 &5101881939882359065
|
||||||
|
RectTransform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 5101881939882359066}
|
||||||
|
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_ConstrainProportionsScale: 0
|
||||||
|
m_Children: []
|
||||||
|
m_Father: {fileID: 5101881939626277737}
|
||||||
|
m_RootOrder: 1
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
m_AnchorMin: {x: 0.5, y: 1}
|
||||||
|
m_AnchorMax: {x: 0.5, y: 1}
|
||||||
|
m_AnchoredPosition: {x: 55, y: -25}
|
||||||
|
m_SizeDelta: {x: 350, y: 50}
|
||||||
|
m_Pivot: {x: 0.5, y: 1}
|
||||||
|
--- !u!222 &5101881939882360551
|
||||||
|
CanvasRenderer:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 5101881939882359066}
|
||||||
|
m_CullTransparentMesh: 1
|
||||||
|
--- !u!114 &5101881939882359064
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 5101881939882359066}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
m_Material: {fileID: 0}
|
||||||
|
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
m_RaycastTarget: 1
|
||||||
|
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
m_Maskable: 1
|
||||||
|
m_OnCullStateChanged:
|
||||||
|
m_PersistentCalls:
|
||||||
|
m_Calls: []
|
||||||
|
m_text: <Minigame title>
|
||||||
|
m_isRightToLeft: 0
|
||||||
|
m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
||||||
|
m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
||||||
|
m_fontSharedMaterials: []
|
||||||
|
m_fontMaterial: {fileID: 0}
|
||||||
|
m_fontMaterials: []
|
||||||
|
m_fontColor32:
|
||||||
|
serializedVersion: 2
|
||||||
|
rgba: 4294967295
|
||||||
|
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
m_enableVertexGradient: 0
|
||||||
|
m_colorMode: 3
|
||||||
|
m_fontColorGradient:
|
||||||
|
topLeft: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
topRight: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
bottomRight: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
m_fontColorGradientPreset: {fileID: 0}
|
||||||
|
m_spriteAsset: {fileID: 0}
|
||||||
|
m_tintAllSprites: 0
|
||||||
|
m_StyleSheet: {fileID: 0}
|
||||||
|
m_TextStyleHashCode: -1183493901
|
||||||
|
m_overrideHtmlColors: 0
|
||||||
|
m_faceColor:
|
||||||
|
serializedVersion: 2
|
||||||
|
rgba: 4294967295
|
||||||
|
m_fontSize: 36
|
||||||
|
m_fontSizeBase: 36
|
||||||
|
m_fontWeight: 400
|
||||||
|
m_enableAutoSizing: 0
|
||||||
|
m_fontSizeMin: 18
|
||||||
|
m_fontSizeMax: 72
|
||||||
|
m_fontStyle: 0
|
||||||
|
m_HorizontalAlignment: 1
|
||||||
|
m_VerticalAlignment: 512
|
||||||
|
m_textAlignment: 65535
|
||||||
|
m_characterSpacing: 0
|
||||||
|
m_wordSpacing: 0
|
||||||
|
m_lineSpacing: 0
|
||||||
|
m_lineSpacingMax: 0
|
||||||
|
m_paragraphSpacing: 0
|
||||||
|
m_charWidthMaxAdj: 0
|
||||||
|
m_enableWordWrapping: 1
|
||||||
|
m_wordWrappingRatios: 0.4
|
||||||
|
m_overflowMode: 0
|
||||||
|
m_linkedTextComponent: {fileID: 0}
|
||||||
|
parentLinkedComponent: {fileID: 0}
|
||||||
|
m_enableKerning: 1
|
||||||
|
m_enableExtraPadding: 0
|
||||||
|
checkPaddingRequired: 0
|
||||||
|
m_isRichText: 1
|
||||||
|
m_parseCtrlCharacters: 1
|
||||||
|
m_isOrthographic: 1
|
||||||
|
m_isCullingEnabled: 0
|
||||||
|
m_horizontalMapping: 0
|
||||||
|
m_verticalMapping: 0
|
||||||
|
m_uvLineOffset: 0
|
||||||
|
m_geometrySortingOrder: 0
|
||||||
|
m_IsTextObjectScaleStatic: 0
|
||||||
|
m_VertexBufferAutoSizeReduction: 0
|
||||||
|
m_useMaxVisibleDescender: 1
|
||||||
|
m_pageToDisplay: 1
|
||||||
|
m_margin: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
m_isUsingLegacyAnimationComponent: 0
|
||||||
|
m_isVolumetricText: 0
|
||||||
|
m_hasFontAssetChanged: 0
|
||||||
|
m_baseMaterial: {fileID: 0}
|
||||||
|
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
|
||||||
7
Assets/Accounts/Prefabs/MinigameProgressCard.prefab.meta
Normal file
7
Assets/Accounts/Prefabs/MinigameProgressCard.prefab.meta
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: af026fa8050694c4f816aa0c615e1992
|
||||||
|
PrefabImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -1,5 +1,138 @@
|
|||||||
%YAML 1.1
|
%YAML 1.1
|
||||||
%TAG !u! tag:unity3d.com,2011:
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!1 &1181517405748209849
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 6106693873765109957}
|
||||||
|
- component: {fileID: 375218421478997717}
|
||||||
|
- component: {fileID: 4308998574390577179}
|
||||||
|
- component: {fileID: 6721012198510205598}
|
||||||
|
m_Layer: 5
|
||||||
|
m_Name: Delete
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!224 &6106693873765109957
|
||||||
|
RectTransform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1181517405748209849}
|
||||||
|
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_ConstrainProportionsScale: 0
|
||||||
|
m_Children: []
|
||||||
|
m_Father: {fileID: 7566391564300576380}
|
||||||
|
m_RootOrder: 2
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
m_AnchorMin: {x: 1, y: 0.5}
|
||||||
|
m_AnchorMax: {x: 1, y: 0.5}
|
||||||
|
m_AnchoredPosition: {x: 0, y: -5}
|
||||||
|
m_SizeDelta: {x: 80, y: 80}
|
||||||
|
m_Pivot: {x: 1, y: 0.5}
|
||||||
|
--- !u!222 &375218421478997717
|
||||||
|
CanvasRenderer:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1181517405748209849}
|
||||||
|
m_CullTransparentMesh: 1
|
||||||
|
--- !u!114 &4308998574390577179
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1181517405748209849}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
m_Material: {fileID: 0}
|
||||||
|
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
m_RaycastTarget: 1
|
||||||
|
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
m_Maskable: 1
|
||||||
|
m_OnCullStateChanged:
|
||||||
|
m_PersistentCalls:
|
||||||
|
m_Calls: []
|
||||||
|
m_Sprite: {fileID: 21300000, guid: 470815ca4561fd5ff92511e36e742f52, type: 3}
|
||||||
|
m_Type: 0
|
||||||
|
m_PreserveAspect: 0
|
||||||
|
m_FillCenter: 1
|
||||||
|
m_FillMethod: 4
|
||||||
|
m_FillAmount: 1
|
||||||
|
m_FillClockwise: 1
|
||||||
|
m_FillOrigin: 0
|
||||||
|
m_UseSpriteMesh: 0
|
||||||
|
m_PixelsPerUnitMultiplier: 1
|
||||||
|
--- !u!114 &6721012198510205598
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1181517405748209849}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
m_Navigation:
|
||||||
|
m_Mode: 3
|
||||||
|
m_WrapAround: 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_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||||
|
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
|
||||||
|
m_ColorMultiplier: 1
|
||||||
|
m_FadeDuration: 0.1
|
||||||
|
m_SpriteState:
|
||||||
|
m_HighlightedSprite: {fileID: 0}
|
||||||
|
m_PressedSprite: {fileID: 0}
|
||||||
|
m_SelectedSprite: {fileID: 0}
|
||||||
|
m_DisabledSprite: {fileID: 0}
|
||||||
|
m_AnimationTriggers:
|
||||||
|
m_NormalTrigger: Normal
|
||||||
|
m_HighlightedTrigger: Highlighted
|
||||||
|
m_PressedTrigger: Pressed
|
||||||
|
m_SelectedTrigger: Selected
|
||||||
|
m_DisabledTrigger: Disabled
|
||||||
|
m_Interactable: 1
|
||||||
|
m_TargetGraphic: {fileID: 4308998574390577179}
|
||||||
|
m_OnClick:
|
||||||
|
m_PersistentCalls:
|
||||||
|
m_Calls:
|
||||||
|
- m_Target: {fileID: 7925562100136086381}
|
||||||
|
m_TargetAssemblyTypeName: UserCard, Assembly-CSharp
|
||||||
|
m_MethodName: DeleteUser
|
||||||
|
m_Mode: 1
|
||||||
|
m_Arguments:
|
||||||
|
m_ObjectArgument: {fileID: 0}
|
||||||
|
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
|
||||||
|
m_IntArgument: 0
|
||||||
|
m_FloatArgument: 0
|
||||||
|
m_StringArgument:
|
||||||
|
m_BoolArgument: 0
|
||||||
|
m_CallState: 2
|
||||||
--- !u!1 &3497690530580441564
|
--- !u!1 &3497690530580441564
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -109,11 +242,11 @@ RectTransform:
|
|||||||
m_Father: {fileID: 7566391564300576380}
|
m_Father: {fileID: 7566391564300576380}
|
||||||
m_RootOrder: 1
|
m_RootOrder: 1
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 1, y: 0.5}
|
m_AnchorMin: {x: 0, y: 0.5}
|
||||||
m_AnchorMax: {x: 1, y: 0.5}
|
m_AnchorMax: {x: 0, y: 0.5}
|
||||||
m_AnchoredPosition: {x: 0, y: 0}
|
m_AnchoredPosition: {x: 110, y: 0}
|
||||||
m_SizeDelta: {x: 280, y: 100}
|
m_SizeDelta: {x: 280, y: 100}
|
||||||
m_Pivot: {x: 1, y: 0.5}
|
m_Pivot: {x: 0, y: 0.5}
|
||||||
--- !u!222 &7566391564272109415
|
--- !u!222 &7566391564272109415
|
||||||
CanvasRenderer:
|
CanvasRenderer:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -223,6 +356,7 @@ GameObject:
|
|||||||
- component: {fileID: 7566391564300576379}
|
- component: {fileID: 7566391564300576379}
|
||||||
- component: {fileID: 6541968173426898777}
|
- component: {fileID: 6541968173426898777}
|
||||||
- component: {fileID: 7566391564300576381}
|
- component: {fileID: 7566391564300576381}
|
||||||
|
- component: {fileID: 7925562100136086381}
|
||||||
m_Layer: 5
|
m_Layer: 5
|
||||||
m_Name: UserCard
|
m_Name: UserCard
|
||||||
m_TagString: Untagged
|
m_TagString: Untagged
|
||||||
@@ -244,13 +378,14 @@ RectTransform:
|
|||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 6844581870036246266}
|
- {fileID: 6844581870036246266}
|
||||||
- {fileID: 7566391564272109401}
|
- {fileID: 7566391564272109401}
|
||||||
|
- {fileID: 6106693873765109957}
|
||||||
m_Father: {fileID: 0}
|
m_Father: {fileID: 0}
|
||||||
m_RootOrder: 0
|
m_RootOrder: 0
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 1}
|
m_AnchorMin: {x: 0, y: 1}
|
||||||
m_AnchorMax: {x: 0, y: 1}
|
m_AnchorMax: {x: 0, y: 1}
|
||||||
m_AnchoredPosition: {x: 0, y: 0}
|
m_AnchoredPosition: {x: 0, y: 0}
|
||||||
m_SizeDelta: {x: 390, y: 100}
|
m_SizeDelta: {x: 450, y: 100}
|
||||||
m_Pivot: {x: 1, y: 1}
|
m_Pivot: {x: 1, y: 1}
|
||||||
--- !u!222 &7566391564300576379
|
--- !u!222 &7566391564300576379
|
||||||
CanvasRenderer:
|
CanvasRenderer:
|
||||||
@@ -334,3 +469,25 @@ MonoBehaviour:
|
|||||||
m_OnClick:
|
m_OnClick:
|
||||||
m_PersistentCalls:
|
m_PersistentCalls:
|
||||||
m_Calls: []
|
m_Calls: []
|
||||||
|
--- !u!114 &7925562100136086381
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 7566391564300576383}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 172fcacd3bd90f442a6b94f0ff43a76a, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
userList: {fileID: 11400000, guid: 072bec636a40f7e4e93b0ac624a3bda2, type: 2}
|
||||||
|
user:
|
||||||
|
username:
|
||||||
|
avatar: {fileID: 0}
|
||||||
|
playtime: 0
|
||||||
|
courses: []
|
||||||
|
minigames: []
|
||||||
|
button: {fileID: 7566391564300576381}
|
||||||
|
avatar: {fileID: 5164936991071620901}
|
||||||
|
username: {fileID: 7566391564272109414}
|
||||||
|
|||||||
@@ -1084,6 +1084,7 @@ MonoBehaviour:
|
|||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
userPrefab: {fileID: 7566391564300576383, guid: f5103a1b6ba1b0445a0d049203b9b6b2, type: 3}
|
userPrefab: {fileID: 7566391564300576383, guid: f5103a1b6ba1b0445a0d049203b9b6b2, type: 3}
|
||||||
usersContainer: {fileID: 1438010722}
|
usersContainer: {fileID: 1438010722}
|
||||||
|
error: {fileID: 1815188481}
|
||||||
userList: {fileID: 11400000, guid: 072bec636a40f7e4e93b0ac624a3bda2, type: 2}
|
userList: {fileID: 11400000, guid: 072bec636a40f7e4e93b0ac624a3bda2, type: 2}
|
||||||
--- !u!1 &1143249623
|
--- !u!1 &1143249623
|
||||||
GameObject:
|
GameObject:
|
||||||
@@ -1412,10 +1413,10 @@ MonoBehaviour:
|
|||||||
m_ChildAlignment: 0
|
m_ChildAlignment: 0
|
||||||
m_StartCorner: 0
|
m_StartCorner: 0
|
||||||
m_StartAxis: 0
|
m_StartAxis: 0
|
||||||
m_CellSize: {x: 390, y: 100}
|
m_CellSize: {x: 450, y: 100}
|
||||||
m_Spacing: {x: 10, y: 10}
|
m_Spacing: {x: 10, y: 10}
|
||||||
m_Constraint: 1
|
m_Constraint: 1
|
||||||
m_ConstraintCount: 4
|
m_ConstraintCount: 3
|
||||||
--- !u!114 &1438010724
|
--- !u!114 &1438010724
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -1651,6 +1652,7 @@ RectTransform:
|
|||||||
m_ConstrainProportionsScale: 0
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 906197777}
|
- {fileID: 906197777}
|
||||||
|
- {fileID: 1815188482}
|
||||||
m_Father: {fileID: 0}
|
m_Father: {fileID: 0}
|
||||||
m_RootOrder: 2
|
m_RootOrder: 2
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
@@ -1659,6 +1661,141 @@ RectTransform:
|
|||||||
m_AnchoredPosition: {x: 0, y: 0}
|
m_AnchoredPosition: {x: 0, y: 0}
|
||||||
m_SizeDelta: {x: 0, y: 0}
|
m_SizeDelta: {x: 0, y: 0}
|
||||||
m_Pivot: {x: 0, y: 0}
|
m_Pivot: {x: 0, y: 0}
|
||||||
|
--- !u!1 &1815188481
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 1815188482}
|
||||||
|
- component: {fileID: 1815188484}
|
||||||
|
- component: {fileID: 1815188483}
|
||||||
|
m_Layer: 5
|
||||||
|
m_Name: Error
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!224 &1815188482
|
||||||
|
RectTransform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1815188481}
|
||||||
|
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_ConstrainProportionsScale: 0
|
||||||
|
m_Children: []
|
||||||
|
m_Father: {fileID: 1768150806}
|
||||||
|
m_RootOrder: 1
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
m_AnchorMin: {x: 0, y: 0.5}
|
||||||
|
m_AnchorMax: {x: 1, y: 0.5}
|
||||||
|
m_AnchoredPosition: {x: 0, y: 350}
|
||||||
|
m_SizeDelta: {x: 0, y: 100}
|
||||||
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
|
--- !u!114 &1815188483
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1815188481}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
m_Material: {fileID: 0}
|
||||||
|
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
m_RaycastTarget: 1
|
||||||
|
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
m_Maskable: 1
|
||||||
|
m_OnCullStateChanged:
|
||||||
|
m_PersistentCalls:
|
||||||
|
m_Calls: []
|
||||||
|
m_text: Deze gebruiker kan niet verwijderd worden.
|
||||||
|
m_isRightToLeft: 0
|
||||||
|
m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
||||||
|
m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
||||||
|
m_fontSharedMaterials: []
|
||||||
|
m_fontMaterial: {fileID: 0}
|
||||||
|
m_fontMaterials: []
|
||||||
|
m_fontColor32:
|
||||||
|
serializedVersion: 2
|
||||||
|
rgba: 4278190335
|
||||||
|
m_fontColor: {r: 1, g: 0, b: 0, a: 1}
|
||||||
|
m_enableVertexGradient: 0
|
||||||
|
m_colorMode: 3
|
||||||
|
m_fontColorGradient:
|
||||||
|
topLeft: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
topRight: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
bottomRight: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
m_fontColorGradientPreset: {fileID: 0}
|
||||||
|
m_spriteAsset: {fileID: 0}
|
||||||
|
m_tintAllSprites: 0
|
||||||
|
m_StyleSheet: {fileID: 0}
|
||||||
|
m_TextStyleHashCode: -1183493901
|
||||||
|
m_overrideHtmlColors: 0
|
||||||
|
m_faceColor:
|
||||||
|
serializedVersion: 2
|
||||||
|
rgba: 4294967295
|
||||||
|
m_fontSize: 24
|
||||||
|
m_fontSizeBase: 24
|
||||||
|
m_fontWeight: 400
|
||||||
|
m_enableAutoSizing: 0
|
||||||
|
m_fontSizeMin: 18
|
||||||
|
m_fontSizeMax: 72
|
||||||
|
m_fontStyle: 0
|
||||||
|
m_HorizontalAlignment: 2
|
||||||
|
m_VerticalAlignment: 1024
|
||||||
|
m_textAlignment: 65535
|
||||||
|
m_characterSpacing: 0
|
||||||
|
m_wordSpacing: 0
|
||||||
|
m_lineSpacing: 0
|
||||||
|
m_lineSpacingMax: 0
|
||||||
|
m_paragraphSpacing: 0
|
||||||
|
m_charWidthMaxAdj: 0
|
||||||
|
m_enableWordWrapping: 1
|
||||||
|
m_wordWrappingRatios: 0.4
|
||||||
|
m_overflowMode: 0
|
||||||
|
m_linkedTextComponent: {fileID: 0}
|
||||||
|
parentLinkedComponent: {fileID: 0}
|
||||||
|
m_enableKerning: 1
|
||||||
|
m_enableExtraPadding: 0
|
||||||
|
checkPaddingRequired: 0
|
||||||
|
m_isRichText: 1
|
||||||
|
m_parseCtrlCharacters: 1
|
||||||
|
m_isOrthographic: 1
|
||||||
|
m_isCullingEnabled: 0
|
||||||
|
m_horizontalMapping: 0
|
||||||
|
m_verticalMapping: 0
|
||||||
|
m_uvLineOffset: 0
|
||||||
|
m_geometrySortingOrder: 0
|
||||||
|
m_IsTextObjectScaleStatic: 0
|
||||||
|
m_VertexBufferAutoSizeReduction: 0
|
||||||
|
m_useMaxVisibleDescender: 1
|
||||||
|
m_pageToDisplay: 1
|
||||||
|
m_margin: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
m_isUsingLegacyAnimationComponent: 0
|
||||||
|
m_isVolumetricText: 0
|
||||||
|
m_hasFontAssetChanged: 0
|
||||||
|
m_baseMaterial: {fileID: 0}
|
||||||
|
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
--- !u!222 &1815188484
|
||||||
|
CanvasRenderer:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1815188481}
|
||||||
|
m_CullTransparentMesh: 1
|
||||||
--- !u!1 &2109596086
|
--- !u!1 &2109596086
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -1698,7 +1835,7 @@ RectTransform:
|
|||||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||||
m_AnchoredPosition: {x: 0, y: 0}
|
m_AnchoredPosition: {x: 0, y: 0}
|
||||||
m_SizeDelta: {x: 1560, y: 600}
|
m_SizeDelta: {x: 1370, y: 600}
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
--- !u!114 &2109596088
|
--- !u!114 &2109596088
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -1,5 +1,4 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using TMPro;
|
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
using UnityEngine.UI;
|
using UnityEngine.UI;
|
||||||
|
|
||||||
@@ -18,6 +17,11 @@ public class ChangeUserScreen : MonoBehaviour
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public Transform usersContainer;
|
public Transform usersContainer;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// UI Reference to the error GameObject to display an error message
|
||||||
|
/// </summary>
|
||||||
|
public GameObject error;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Reference to the user list
|
/// Reference to the user list
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -38,6 +42,20 @@ public class ChangeUserScreen : MonoBehaviour
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
void Start()
|
void Start()
|
||||||
{
|
{
|
||||||
|
error.SetActive(false);
|
||||||
|
DisplayUsers();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Add all users to the container to display them
|
||||||
|
/// </summary>
|
||||||
|
private void DisplayUsers()
|
||||||
|
{
|
||||||
|
foreach (Transform child in usersContainer)
|
||||||
|
{
|
||||||
|
Destroy(child.gameObject);
|
||||||
|
}
|
||||||
|
|
||||||
List<User> users = userList.GetUsers();
|
List<User> users = userList.GetUsers();
|
||||||
currentUserIndex = userList.GetCurrentUserIndex();
|
currentUserIndex = userList.GetCurrentUserIndex();
|
||||||
for (int i = 0; i < users.Count; i++)
|
for (int i = 0; i < users.Count; i++)
|
||||||
@@ -49,18 +67,18 @@ public class ChangeUserScreen : MonoBehaviour
|
|||||||
|
|
||||||
// Store value of i so we can use it the callback (else it would get the value of sprites.Count)
|
// Store value of i so we can use it the callback (else it would get the value of sprites.Count)
|
||||||
int x = i;
|
int x = i;
|
||||||
// Add onClick callback
|
// Add user content
|
||||||
instance.GetComponent<Button>().onClick.AddListener(() => UpdateSelection(x));
|
UserCard card = instance.GetComponent<UserCard>();
|
||||||
// Set username
|
card.user = user;
|
||||||
instance.GetComponentInChildren<TMP_Text>().text = user.username;
|
card.selectUser = () => UpdateSelection(x);
|
||||||
|
card.updateUserCardContainer = DisplayUsers;
|
||||||
|
card.displayError = () => error.SetActive(true);
|
||||||
|
|
||||||
// Store reference to image for fancy coloring
|
// Store reference to image for fancy coloring
|
||||||
Image background = instance.GetComponent<Image>();
|
Image background = instance.GetComponent<Image>();
|
||||||
userBackgrounds.Add(background);
|
userBackgrounds.Add(background);
|
||||||
// Set background color
|
// Set background color
|
||||||
background.color = i == currentUserIndex ? Color.blue : Color.gray;
|
background.color = i == currentUserIndex ? Color.blue : Color.gray;
|
||||||
// Find correct component for setting the sprite
|
|
||||||
instance.transform.Find("Avatar").GetComponent<Image>().sprite = user.avatar;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
58
Assets/Accounts/Scripts/CourseProgressCard.cs
Normal file
58
Assets/Accounts/Scripts/CourseProgressCard.cs
Normal file
@@ -0,0 +1,58 @@
|
|||||||
|
using TMPro;
|
||||||
|
using UnityEngine;
|
||||||
|
using UnityEngine.Events;
|
||||||
|
using UnityEngine.UI;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Class to handle course progress card display
|
||||||
|
/// </summary>
|
||||||
|
public class CourseProgressCard : MonoBehaviour
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Callback to the UpdateSelection
|
||||||
|
/// </summary>
|
||||||
|
public UnityAction selectActivity;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Button to place to callback on
|
||||||
|
/// </summary>
|
||||||
|
public Button button;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Reference to the progress so we can display a progress bar
|
||||||
|
/// </summary>
|
||||||
|
public Progress courseProgress;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Reference to the list of courses so we can query the correct course
|
||||||
|
/// </summary>
|
||||||
|
public CourseList courseList;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// UI reference to the thumbnail of the course
|
||||||
|
/// </summary>
|
||||||
|
public Image thumbnail;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// UI refeerence to the title of the course
|
||||||
|
/// </summary>
|
||||||
|
public TMP_Text title;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Reference to the progress bar for the course
|
||||||
|
/// </summary>
|
||||||
|
public Slider progressBar;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Start is called before the first frame update
|
||||||
|
/// </summary>
|
||||||
|
void Start()
|
||||||
|
{
|
||||||
|
Course course = courseList.GetCourseByIndex(courseProgress.Get<CourseIndex>("courseIndex"));
|
||||||
|
|
||||||
|
thumbnail.sprite = course.thumbnail;
|
||||||
|
title.text = course.title;
|
||||||
|
progressBar.value = courseProgress.Get<float>("courseProgress");
|
||||||
|
button.onClick.AddListener(selectActivity);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 44c1f8e0fa862b44485ebaa3c81698fc
|
guid: c7f1ef892112fd243929d40c896c9b7b
|
||||||
MonoImporter:
|
MonoImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
59
Assets/Accounts/Scripts/MinigameProgressCard.cs
Normal file
59
Assets/Accounts/Scripts/MinigameProgressCard.cs
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
using System.Collections.Generic;
|
||||||
|
using TMPro;
|
||||||
|
using UnityEngine;
|
||||||
|
using UnityEngine.Events;
|
||||||
|
using UnityEngine.UI;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Class to handle minigame progress card display
|
||||||
|
/// </summary>
|
||||||
|
public class MinigameProgressCard : MonoBehaviour
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Callback to the UpdateSelection
|
||||||
|
/// </summary>
|
||||||
|
public UnityAction selectActivity;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Button to place the callback on
|
||||||
|
/// </summary>
|
||||||
|
public Button button;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Reference to the minigame progress
|
||||||
|
/// </summary>
|
||||||
|
public Progress minigameProgress;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Reference to the minigame list
|
||||||
|
/// </summary>
|
||||||
|
public MinigameList minigameList;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// UI reference to the minigame thumbnail
|
||||||
|
/// </summary>
|
||||||
|
public Image thumbnail;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// UI reference to the minigame title
|
||||||
|
/// </summary>
|
||||||
|
public TMP_Text title;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// UI reference to the user's highscore
|
||||||
|
/// </summary>
|
||||||
|
public TMP_Text highscore;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Start is called before the first frame update
|
||||||
|
/// </summary>
|
||||||
|
void Start()
|
||||||
|
{
|
||||||
|
Minigame minigame = minigameList.GetMinigameByIndex(minigameProgress.Get<MinigameIndex>("minigameIndex"));
|
||||||
|
|
||||||
|
thumbnail.sprite = minigame.thumbnail;
|
||||||
|
title.text = minigame.title;
|
||||||
|
highscore.text = $"Topscore: {minigameProgress.Get<List<Score>>("highestScores")[0].scoreValue}";
|
||||||
|
button.onClick.AddListener(selectActivity);
|
||||||
|
}
|
||||||
|
}
|
||||||
11
Assets/Accounts/Scripts/MinigameProgressCard.cs.meta
Normal file
11
Assets/Accounts/Scripts/MinigameProgressCard.cs.meta
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: c2f3fceaa7f21164eaea98a63fa7d8e5
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
78
Assets/Accounts/Scripts/UserCard.cs
Normal file
78
Assets/Accounts/Scripts/UserCard.cs
Normal file
@@ -0,0 +1,78 @@
|
|||||||
|
using TMPro;
|
||||||
|
using UnityEngine;
|
||||||
|
using UnityEngine.Events;
|
||||||
|
using UnityEngine.UI;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Class to display user info in the ChangeUserScreen scene
|
||||||
|
/// </summary>
|
||||||
|
public class UserCard : MonoBehaviour
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Reference to the userlist
|
||||||
|
/// </summary>
|
||||||
|
public UserList userList;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// User to upload info into this card
|
||||||
|
/// </summary>
|
||||||
|
public User user;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Callback to the UpdateSelection in the ChangeUserScreen
|
||||||
|
/// </summary>
|
||||||
|
public UnityAction selectUser;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Callback to the update hte users container in the ChangeUserScreen scene
|
||||||
|
/// </summary>
|
||||||
|
public UnityAction updateUserCardContainer;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Callback to display an error message in the ChangeUserScreen scene
|
||||||
|
/// </summary>
|
||||||
|
public UnityAction displayError;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// UI reference to the selectio button
|
||||||
|
/// </summary>
|
||||||
|
public Button button;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// UI reference to the avatar
|
||||||
|
/// </summary>
|
||||||
|
public Image avatar;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// UI reference to the username
|
||||||
|
/// </summary>
|
||||||
|
public TMP_Text username;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Start is called before the first frame update
|
||||||
|
/// </summary>
|
||||||
|
void Start()
|
||||||
|
{
|
||||||
|
avatar.sprite = user.avatar;
|
||||||
|
username.text = user.username;
|
||||||
|
button.onClick.AddListener(selectUser);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Delete the user from the userlist
|
||||||
|
/// </summary>
|
||||||
|
public void DeleteUser()
|
||||||
|
{
|
||||||
|
if (userList.DeleteUser(user))
|
||||||
|
{
|
||||||
|
// User is removed, update and save
|
||||||
|
userList.Save();
|
||||||
|
updateUserCardContainer();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// User is not removed, display an error
|
||||||
|
displayError();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
11
Assets/Accounts/Scripts/UserCard.cs.meta
Normal file
11
Assets/Accounts/Scripts/UserCard.cs.meta
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 172fcacd3bd90f442a6b94f0ff43a76a
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -133,6 +133,35 @@ public class UserList : ScriptableObject
|
|||||||
storedUserList.currentUserIndex = storedUserList.storedUsers.IndexOf(user);
|
storedUserList.currentUserIndex = storedUserList.storedUsers.IndexOf(user);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Remove the user
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="index">The index of the user in the userlist</param>
|
||||||
|
/// <returns>true if user was successful removed, false otherwise</returns>
|
||||||
|
public bool DeleteUser(int index)
|
||||||
|
{
|
||||||
|
return DeleteUser(storedUserList.storedUsers[index]);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// I am inevitable, *snap*
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="user">Reference to the user to be removed</param>
|
||||||
|
/// <returns>true if the user was successful removed, false otherwise</returns>
|
||||||
|
public bool DeleteUser(User user)
|
||||||
|
{
|
||||||
|
if (1 < storedUserList.storedUsers.Count)
|
||||||
|
{
|
||||||
|
if (storedUserList.currentUserIndex == storedUserList.storedUsers.Count - 1)
|
||||||
|
{
|
||||||
|
storedUserList.currentUserIndex--;
|
||||||
|
}
|
||||||
|
|
||||||
|
return storedUserList.storedUsers.Remove(user);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Save the users
|
/// Save the users
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
369
Assets/Accounts/Scripts/UserProgressScreen.cs
Normal file
369
Assets/Accounts/Scripts/UserProgressScreen.cs
Normal file
@@ -0,0 +1,369 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using TMPro;
|
||||||
|
using UnityEngine;
|
||||||
|
using UnityEngine.UI;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// UserProgressScreen scene manager
|
||||||
|
/// </summary>
|
||||||
|
public class UserProgressScreen : MonoBehaviour
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Reference to the userlist
|
||||||
|
/// </summary>
|
||||||
|
public UserList userList;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Reference to the current user
|
||||||
|
/// </summary>
|
||||||
|
private User user;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// UI reference to the username
|
||||||
|
/// </summary>
|
||||||
|
public TMP_Text username;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// UI reference to the user's avatar
|
||||||
|
/// </summary>
|
||||||
|
public Image avatar;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// UI reference to the user total playtime
|
||||||
|
/// </summary>
|
||||||
|
public TMP_Text playtime;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Prefab of the highscore marker to display on the graph
|
||||||
|
/// </summary>
|
||||||
|
public GameObject highscoreMarker;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Prefab of a course card
|
||||||
|
/// </summary>
|
||||||
|
public GameObject courseCardPrefab;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// UI reference to the container holding all course cards
|
||||||
|
/// </summary>
|
||||||
|
public GameObject coursesContainer;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// UI reference to the message that displays when no course progress is present
|
||||||
|
/// </summary>
|
||||||
|
public GameObject emptyCourses;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Prefab of a minigame card
|
||||||
|
/// </summary>
|
||||||
|
public GameObject minigameCardPrefab;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// UI reference to the container holding all the minigame cards
|
||||||
|
/// </summary>
|
||||||
|
public GameObject minigamesContainer;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// UI reference to the message that displays when no minigame progress is present
|
||||||
|
/// </summary>
|
||||||
|
public GameObject emptyMinigames;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// UI reference to the plot
|
||||||
|
/// </summary>
|
||||||
|
public RawImage progressGraph;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Left and right padding of the graph
|
||||||
|
/// </summary>
|
||||||
|
private const int GRAPH_PADDING_X_PX = 50;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Top and bottom padding of the graph
|
||||||
|
/// </summary>
|
||||||
|
private const int GRAPH_PADDING_Y_PX = 50;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Radius of the point on the graph
|
||||||
|
/// </summary>
|
||||||
|
private const int GRAPH_POINT_RADIUS = 10;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Size of the line on the graph
|
||||||
|
/// </summary>
|
||||||
|
private const int GRAPH_LINE_SIZE = 4;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Current selected activity draw to the graph
|
||||||
|
/// </summary>
|
||||||
|
private int selectedActivity = -1;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// List of activity backgrounds and indices
|
||||||
|
/// </summary>
|
||||||
|
private List<Tuple<Image, int>> activities = new List<Tuple<Image, int>>();
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Start is called before the first frame update
|
||||||
|
/// </summary>
|
||||||
|
void Start()
|
||||||
|
{
|
||||||
|
// Assign the current user
|
||||||
|
user = userList.GetCurrentUser();
|
||||||
|
|
||||||
|
// Set correct displayed items
|
||||||
|
username.text = user.username;
|
||||||
|
avatar.sprite = user.avatar;
|
||||||
|
// TODO: implement total playtime
|
||||||
|
//playtime.text = $"Totale speeltijd: {user.playtime.ToString("0.00")}";
|
||||||
|
|
||||||
|
// Set graph inactive
|
||||||
|
progressGraph.gameObject.SetActive(false);
|
||||||
|
|
||||||
|
int i = 0;
|
||||||
|
// Display courses
|
||||||
|
coursesContainer.SetActive(user.courses.Count > 0);
|
||||||
|
emptyCourses.SetActive(user.courses.Count <= 0);
|
||||||
|
foreach (Progress courseProgress in user.courses)
|
||||||
|
{
|
||||||
|
// Create instance of prefab
|
||||||
|
GameObject instance = GameObject.Instantiate(courseCardPrefab, coursesContainer.transform.Find("Viewport").Find("Content").transform);
|
||||||
|
int j = i++;
|
||||||
|
|
||||||
|
// Initialize card
|
||||||
|
CourseProgressCard cpc = instance.GetComponent<CourseProgressCard>();
|
||||||
|
cpc.courseProgress = courseProgress;
|
||||||
|
cpc.selectActivity = () => UpdateSelection(j);
|
||||||
|
|
||||||
|
// Store reference to background so we can apply fancy coloring
|
||||||
|
Image background = instance.GetComponent<Image>();
|
||||||
|
background.color = Color.gray;
|
||||||
|
activities.Add(Tuple.Create(background, (int)courseProgress.Get<CourseIndex>("courseIndex")));
|
||||||
|
}
|
||||||
|
|
||||||
|
// Display minigames
|
||||||
|
minigamesContainer.SetActive(user.minigames.Count > 0);
|
||||||
|
emptyMinigames.SetActive(user.minigames.Count <= 0);
|
||||||
|
foreach (Progress minigameProgress in user.minigames)
|
||||||
|
{
|
||||||
|
// Create instance of prefab
|
||||||
|
GameObject instance = GameObject.Instantiate(minigameCardPrefab, minigamesContainer.transform.Find("Viewport").Find("Content").transform);
|
||||||
|
int j = i++;
|
||||||
|
|
||||||
|
// Initialize card
|
||||||
|
MinigameProgressCard mpc = instance.GetComponent<MinigameProgressCard>();
|
||||||
|
mpc.minigameProgress = minigameProgress;
|
||||||
|
mpc.selectActivity = () => UpdateSelection(j);
|
||||||
|
|
||||||
|
// Store reference to background so we can apply fancy coloring
|
||||||
|
Image background = instance.GetComponent<Image>();
|
||||||
|
background.color = Color.gray;
|
||||||
|
activities.Add(Tuple.Create(background, (int)minigameProgress.Get<MinigameIndex>("minigameIndex")));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Update the current selected activity
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="newActivity">Index to the new activity</param>
|
||||||
|
private void UpdateSelection(int newActivity)
|
||||||
|
{
|
||||||
|
if (selectedActivity < 0)
|
||||||
|
{
|
||||||
|
progressGraph.gameObject.SetActive(true);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
activities[selectedActivity].Item1.color = Color.gray;
|
||||||
|
}
|
||||||
|
|
||||||
|
selectedActivity = newActivity;
|
||||||
|
activities[selectedActivity].Item1.color = Color.blue;
|
||||||
|
if (selectedActivity < user.courses.Count)
|
||||||
|
{
|
||||||
|
// TODO: create a better graph
|
||||||
|
//DisplayCourseGraph((CourseIndex)activities[selectedActivity].Item2);
|
||||||
|
// For now: just deactivate graph rendering
|
||||||
|
progressGraph.gameObject.SetActive(false);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
DisplayMinigameGraph((MinigameIndex)activities[selectedActivity].Item2);
|
||||||
|
// TODO: remove line, this is only because courses deactivates the graph
|
||||||
|
progressGraph.gameObject.SetActive(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Plot the graph of a course
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="index">Index of the course</param>
|
||||||
|
/// <remarks>TODO: create a better plot</remarks>
|
||||||
|
private void DisplayCourseGraph(CourseIndex index) { }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Plot the graph of a minigame
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="minigameIndex">Index of the minigame</param>
|
||||||
|
private void DisplayMinigameGraph(MinigameIndex minigameIndex)
|
||||||
|
{
|
||||||
|
Progress progress = user.GetMinigameProgress(minigameIndex);
|
||||||
|
List<Score> scores = progress.Get<List<Score>>("latestScores");
|
||||||
|
PlotGraph(scores.ConvertAll<double>((s) => (double)s.scoreValue), progress.Get<List<Score>>("highestScores")[0].scoreValue);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Plot points and a highscore on the graph
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="scores">List of score values to plot</param>
|
||||||
|
/// <param name="highscore">Highscore value (this will be plotted in a fancy color)</param>
|
||||||
|
private void PlotGraph(List<double> scores, double highscore)
|
||||||
|
{
|
||||||
|
// Remove previous marker(s)
|
||||||
|
foreach (Transform child in progressGraph.gameObject.transform)
|
||||||
|
{
|
||||||
|
Destroy(child.gameObject);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Get texture reference
|
||||||
|
Texture2D tex = progressGraph.texture as Texture2D;
|
||||||
|
if (tex == null)
|
||||||
|
{
|
||||||
|
RectTransform rt = progressGraph.gameObject.transform as RectTransform;
|
||||||
|
tex = new Texture2D(
|
||||||
|
width: (int)rt.sizeDelta.x,
|
||||||
|
height: (int)rt.sizeDelta.y,
|
||||||
|
textureFormat: TextureFormat.ARGB32,
|
||||||
|
mipCount: 3,
|
||||||
|
linear: true
|
||||||
|
);
|
||||||
|
}
|
||||||
|
tex.filterMode = FilterMode.Point;
|
||||||
|
|
||||||
|
// calculate positions and offsets
|
||||||
|
int x0 = GRAPH_PADDING_X_PX, x1 = tex.width - GRAPH_PADDING_X_PX;
|
||||||
|
int y0 = GRAPH_PADDING_Y_PX, y1 = tex.height - GRAPH_PADDING_Y_PX;
|
||||||
|
double min = scores.Min();
|
||||||
|
double max = scores.Max();
|
||||||
|
|
||||||
|
List<Tuple<int, int>> points = new List<Tuple<int, int>>();
|
||||||
|
for (int i = 0; i < scores.Count; i++)
|
||||||
|
{
|
||||||
|
int x = x0 + (scores.Count > 1 ? i * ((x1 - x0) / (scores.Count - 1)) : (x1 - x0) / 2);
|
||||||
|
int y = y0 + (int)((y1 - y0) * (min != max ? (scores[i] - min) / (max - min) : 0.5));
|
||||||
|
points.Add(Tuple.Create(x, y));
|
||||||
|
}
|
||||||
|
|
||||||
|
// Calculate scaling
|
||||||
|
int mag = (int)Math.Round(Math.Log10(max));
|
||||||
|
int MAG = (int)Math.Pow(10, mag);
|
||||||
|
double c = max / MAG;
|
||||||
|
|
||||||
|
// Draw axes
|
||||||
|
if (min != max)
|
||||||
|
{
|
||||||
|
for (double d = c / 5.0; d < c; d += 0.2 * c)
|
||||||
|
{
|
||||||
|
int y = y0 + (int)((y1 - y0) * (MAG * d - min) / (max - min));
|
||||||
|
DrawLine(tex, x0, y, x1, y, 2, Color.gray);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
int y = y0 + (int)((y1 - y0) * 0.5);
|
||||||
|
DrawLine(tex, x0, y0, x1, y0, 2, Color.gray);
|
||||||
|
DrawLine(tex, x0, y, x1, y, 2, Color.gray);
|
||||||
|
DrawLine(tex, x0, y1, x1, y1, 2, Color.gray);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Draw highscore
|
||||||
|
if (min <= highscore && highscore <= max)
|
||||||
|
{
|
||||||
|
int y = y0 + (int)((y1 - y0) * (min != max ? (highscore - min) / (max - min) : 0.5));
|
||||||
|
DrawLine(tex, x0, y, x1, y, 3, new Color(255, 192, 0));
|
||||||
|
GameObject marker = GameObject.Instantiate(highscoreMarker, progressGraph.gameObject.transform);
|
||||||
|
RectTransform rect = marker.GetComponent<RectTransform>();
|
||||||
|
rect.localPosition = new Vector3(0, y - 25, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Draw points
|
||||||
|
for (int i = 0; i < points.Count; i++)
|
||||||
|
{
|
||||||
|
Tuple<int, int> p = points[i];
|
||||||
|
if (0 < i)
|
||||||
|
{
|
||||||
|
Tuple<int, int> q = points[i - 1];
|
||||||
|
DrawLine(tex, p.Item1, p.Item2, q.Item1, q.Item2, GRAPH_LINE_SIZE, Color.blue);
|
||||||
|
}
|
||||||
|
DrawPoint(tex, p.Item1, p.Item2, GRAPH_POINT_RADIUS, Color.blue);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Apply to graph GameObject
|
||||||
|
tex.Apply();
|
||||||
|
progressGraph.texture = tex;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Draw a point to a texture
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="tex">Texture2D to plot point on</param>
|
||||||
|
/// <param name="xc">Center x-pos</param>
|
||||||
|
/// <param name="yc">Center y-pos</param>
|
||||||
|
/// <param name="r">Radius (aka width and height)</param>
|
||||||
|
/// <param name="color">Color of the point</param>
|
||||||
|
private void DrawPoint(Texture2D tex, int xc, int yc, int r, Color color)
|
||||||
|
{
|
||||||
|
for (int y = yc - r; y < yc + r; y++)
|
||||||
|
{
|
||||||
|
for (int x = xc - r; x < xc + r; x++)
|
||||||
|
{
|
||||||
|
tex.SetPixel(x, y, color);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Draw a line to a texture
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="tex">Texture2D to plot line on</param>
|
||||||
|
/// <param name="x0">Starting x-pos</param>
|
||||||
|
/// <param name="y0">Strating y-pos</param>
|
||||||
|
/// <param name="x1">Ending x-pos</param>
|
||||||
|
/// <param name="y1">Ending y-pos</param>
|
||||||
|
/// <param name="size">Size of the line (width)</param>
|
||||||
|
/// <param name="color">Color of the line</param>
|
||||||
|
private void DrawLine(Texture2D tex, int x0, int y0, int x1, int y1, int size, Color color)
|
||||||
|
{
|
||||||
|
int w = x1 - x0;
|
||||||
|
int h = y1 - y0;
|
||||||
|
|
||||||
|
int length = Mathf.Abs(x1 - x0);
|
||||||
|
if (Mathf.Abs(y1 - y0) > length)
|
||||||
|
{
|
||||||
|
length = Mathf.Abs(h);
|
||||||
|
}
|
||||||
|
|
||||||
|
double dx = w / (double)length;
|
||||||
|
double dy = h / (double)length;
|
||||||
|
|
||||||
|
double x = x0;
|
||||||
|
double y = y0;
|
||||||
|
double r = size / 2;
|
||||||
|
for (int i = 0; i <= length; i++)
|
||||||
|
{
|
||||||
|
for (int j = (int)(y - r); j < y + r; j++)
|
||||||
|
{
|
||||||
|
for (int k = (int)(x - r); k < x + r; k++)
|
||||||
|
{
|
||||||
|
tex.SetPixel(k, j, color);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
x += dx;
|
||||||
|
y += dy;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
11
Assets/Accounts/Scripts/UserProgressScreen.cs.meta
Normal file
11
Assets/Accounts/Scripts/UserProgressScreen.cs.meta
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: a59f8e8c48fbd4444a41df01694d13a7
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -16,4 +16,14 @@ public class CourseList : ScriptableObject
|
|||||||
/// List of all installed courses
|
/// List of all installed courses
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public List<Course> courses = new List<Course>();
|
public List<Course> courses = new List<Course>();
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Get a course by CourseIndex
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="courseIndex">CourseIndex of the course, each unique course has a unique CourseIndex</param>
|
||||||
|
/// <returns>Course associated with this index, null if no course was found</returns>
|
||||||
|
public Course GetCourseByIndex(CourseIndex courseIndex)
|
||||||
|
{
|
||||||
|
return courses.Find((c) => c.index == courseIndex);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -17,4 +17,14 @@ public class MinigameList : ScriptableObject
|
|||||||
/// List of all installed minigames
|
/// List of all installed minigames
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public List<Minigame> minigames = new List<Minigame>();
|
public List<Minigame> minigames = new List<Minigame>();
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Get a minigame by MinigameIndex
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="minigameIndex">MinigameIndex of the minigame, each unique minigame has a unique MinigameIndex</param>
|
||||||
|
/// <returns>Minigame associated with this index, null if no minigame was found</returns>
|
||||||
|
public Minigame GetMinigameByIndex(MinigameIndex minigameIndex)
|
||||||
|
{
|
||||||
|
return minigames.Find((m) => m.index == minigameIndex);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
using System;
|
using System;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Score class TODO: Move to separate file
|
/// Score class
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Serializable]
|
[Serializable]
|
||||||
public class Score
|
public class Score
|
||||||
|
|||||||
@@ -544,7 +544,7 @@ GameObject:
|
|||||||
m_Icon: {fileID: 0}
|
m_Icon: {fileID: 0}
|
||||||
m_NavMeshLayer: 0
|
m_NavMeshLayer: 0
|
||||||
m_StaticEditorFlags: 0
|
m_StaticEditorFlags: 0
|
||||||
m_IsActive: 0
|
m_IsActive: 1
|
||||||
--- !u!224 &1769699556132214506
|
--- !u!224 &1769699556132214506
|
||||||
RectTransform:
|
RectTransform:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -561,10 +561,10 @@ RectTransform:
|
|||||||
m_Father: {fileID: 1935285004959629519}
|
m_Father: {fileID: 1935285004959629519}
|
||||||
m_RootOrder: 0
|
m_RootOrder: 0
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 1}
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
m_AnchorMax: {x: 0, y: 1}
|
m_AnchorMax: {x: 0, y: 0}
|
||||||
m_AnchoredPosition: {x: 200, y: -120}
|
m_AnchoredPosition: {x: 0, y: 0}
|
||||||
m_SizeDelta: {x: 380, y: 50}
|
m_SizeDelta: {x: 0, y: 50}
|
||||||
m_Pivot: {x: 0.5, y: 1}
|
m_Pivot: {x: 0.5, y: 1}
|
||||||
--- !u!222 &3111431685034357011
|
--- !u!222 &3111431685034357011
|
||||||
CanvasRenderer:
|
CanvasRenderer:
|
||||||
|
|||||||
@@ -111,11 +111,11 @@ public class MinigameActivityScreen : MonoBehaviour
|
|||||||
foreach (User user in userList.GetUsers())
|
foreach (User user in userList.GetUsers())
|
||||||
{
|
{
|
||||||
// Get user's progress for this minigame
|
// Get user's progress for this minigame
|
||||||
progress = user.minigames.Find((p) => p != null && p.Get<MinigameIndex>("minigameIndex") == minigame.index);
|
progress = user.GetMinigameProgress(minigame.index);
|
||||||
if (progress != null)
|
if (progress != null)
|
||||||
{
|
{
|
||||||
// Add scores to dictionary
|
// Add scores to dictionary
|
||||||
List<Score> scores = progress.Get<List<Score>>("scores");
|
List<Score> scores = progress.Get<List<Score>>("highestScores");
|
||||||
foreach (Score score in scores)
|
foreach (Score score in scores)
|
||||||
{
|
{
|
||||||
allScores.Add(new Tuple<string, Sprite, Score>(user.username, user.avatar, score));
|
allScores.Add(new Tuple<string, Sprite, Score>(user.username, user.avatar, score));
|
||||||
|
|||||||
@@ -150,7 +150,7 @@ public class TemplateCourse : MonoBehaviour
|
|||||||
|
|
||||||
// Create entry in current user for keeping track of progress
|
// Create entry in current user for keeping track of progress
|
||||||
user = userList.GetCurrentUser();
|
user = userList.GetCurrentUser();
|
||||||
progress = user.courses.Find((p) => p != null && p.Get<CourseIndex>("courseIndex") == course.index);
|
progress = user.GetCourseProgress(course.index);
|
||||||
if (progress == null)
|
if (progress == null)
|
||||||
{
|
{
|
||||||
progress = new Progress();
|
progress = new Progress();
|
||||||
|
|||||||
@@ -210,13 +210,13 @@ public partial class GameController : MonoBehaviour
|
|||||||
|
|
||||||
// Create entry in current user for keeping track of progress
|
// Create entry in current user for keeping track of progress
|
||||||
user = userList.GetCurrentUser();
|
user = userList.GetCurrentUser();
|
||||||
progress = user.minigames.Find((p) => p != null && p.Get<MinigameIndex>("minigameIndex") == minigame.index);
|
progress = user.GetMinigameProgress(minigame.index);
|
||||||
if (progress == null)
|
if (progress == null)
|
||||||
{
|
{
|
||||||
progress = new Progress();
|
progress = new Progress();
|
||||||
progress.AddOrUpdate<MinigameIndex>("minigameIndex", MinigameIndex.SPELLING_BEE);
|
progress.AddOrUpdate<MinigameIndex>("minigameIndex", MinigameIndex.SPELLING_BEE);
|
||||||
progress.AddOrUpdate<int>("highscore", 0);
|
progress.AddOrUpdate<List<Score>>("highestScores", new List<Score>());
|
||||||
progress.AddOrUpdate<List<Score>>("scores", new List<Score>());
|
progress.AddOrUpdate<List<Score>>("latestScores", new List<Score>());
|
||||||
user.minigames.Add(progress);
|
user.minigames.Add(progress);
|
||||||
}
|
}
|
||||||
userList.Save();
|
userList.Save();
|
||||||
@@ -392,28 +392,24 @@ public partial class GameController : MonoBehaviour
|
|||||||
|
|
||||||
// Save the new score
|
// Save the new score
|
||||||
user = userList.GetCurrentUser();
|
user = userList.GetCurrentUser();
|
||||||
progress = user.minigames.Find((p) => p != null && p.Get<MinigameIndex>("minigameIndex") == minigame.index);
|
progress = user.GetMinigameProgress(minigame.index);
|
||||||
if (progress != null)
|
|
||||||
{
|
|
||||||
// Get the current list of scores
|
|
||||||
List<Score> scores = progress.Get<List<Score>>("scores");
|
|
||||||
|
|
||||||
// Add the new score
|
// Get the current list of scores
|
||||||
scores.Add(score);
|
List<Score> latestScores = progress.Get<List<Score>>("latestScores");
|
||||||
|
List<Score> highestScores = progress.Get<List<Score>>("highestScores");
|
||||||
|
|
||||||
// Sort the scores
|
// Add the new score
|
||||||
scores.Sort((a, b) => b.scoreValue.CompareTo(a.scoreValue));
|
latestScores.Add(score);
|
||||||
|
highestScores.Add(score);
|
||||||
|
|
||||||
// Only save the top 10 scores, so this list doesn't keep growing endlessly
|
// Sort the scores
|
||||||
progress.AddOrUpdate<List<Score>>("scores", scores.Take(10).ToList());
|
highestScores.Sort((a, b) => b.scoreValue.CompareTo(a.scoreValue));
|
||||||
}
|
|
||||||
|
|
||||||
// Update the highscore
|
// Only save the top 10 scores, so this list doesn't keep growing endlessly
|
||||||
int highscore = progress.Get<int>("highscore");
|
progress.AddOrUpdate<List<Score>>("latestScores", latestScores.Take(10).ToList());
|
||||||
if (score.scoreValue < highscore)
|
progress.AddOrUpdate<List<Score>>("highestScores", highestScores.Take(10).ToList());
|
||||||
{
|
|
||||||
progress.AddOrUpdate<int>("highscore", score.scoreValue);
|
Debug.Log(progress.Get<List<Score>>("highestScores"));
|
||||||
}
|
|
||||||
|
|
||||||
userList.Save();
|
userList.Save();
|
||||||
}
|
}
|
||||||
@@ -436,11 +432,11 @@ public partial class GameController : MonoBehaviour
|
|||||||
foreach (User user in userList.GetUsers())
|
foreach (User user in userList.GetUsers())
|
||||||
{
|
{
|
||||||
// Get user's progress for this minigame
|
// Get user's progress for this minigame
|
||||||
progress = user.minigames.Find((p) => p != null && p.Get<MinigameIndex>("minigameIndex") == minigame.index);
|
progress = user.GetMinigameProgress(minigame.index);
|
||||||
if (progress != null)
|
if (progress != null)
|
||||||
{
|
{
|
||||||
// Add scores to dictionary
|
// Add scores to dictionary
|
||||||
List<Score> scores = progress.Get<List<Score>>("scores");
|
List<Score> scores = progress.Get<List<Score>>("highestScores");
|
||||||
foreach (Score score in scores)
|
foreach (Score score in scores)
|
||||||
{
|
{
|
||||||
allScores.Add(new Tuple<string, Score>(user.username, score));
|
allScores.Add(new Tuple<string, Score>(user.username, score));
|
||||||
|
|||||||
@@ -1,14 +0,0 @@
|
|||||||
using System;
|
|
||||||
|
|
||||||
public partial class GameController
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Score class TODO: Move to separate file
|
|
||||||
/// </summary>
|
|
||||||
[Serializable]
|
|
||||||
public class Score
|
|
||||||
{
|
|
||||||
public int scoreValue;
|
|
||||||
public string time;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,5 +1,6 @@
|
|||||||
{
|
{
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"com.unity.2d.sprite": "1.0.0",
|
||||||
"com.unity.collab-proxy": "2.0.0",
|
"com.unity.collab-proxy": "2.0.0",
|
||||||
"com.unity.ide.rider": "3.0.18",
|
"com.unity.ide.rider": "3.0.18",
|
||||||
"com.unity.ide.visualstudio": "2.0.17",
|
"com.unity.ide.visualstudio": "2.0.17",
|
||||||
|
|||||||
@@ -6,6 +6,12 @@
|
|||||||
"source": "embedded",
|
"source": "embedded",
|
||||||
"dependencies": {}
|
"dependencies": {}
|
||||||
},
|
},
|
||||||
|
"com.unity.2d.sprite": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"depth": 0,
|
||||||
|
"source": "builtin",
|
||||||
|
"dependencies": {}
|
||||||
|
},
|
||||||
"com.unity.collab-proxy": {
|
"com.unity.collab-proxy": {
|
||||||
"version": "2.0.0",
|
"version": "2.0.0",
|
||||||
"depth": 0,
|
"depth": 0,
|
||||||
|
|||||||
@@ -54,7 +54,7 @@ public class CourseMenuScreen : MonoBehaviour
|
|||||||
|
|
||||||
// Dynamically load appearance
|
// Dynamically load appearance
|
||||||
CourseItem item = instance.GetComponent<CourseItem>();
|
CourseItem item = instance.GetComponent<CourseItem>();
|
||||||
item.course = courseList.courses.Find((j) => j.index == course.Item1);
|
item.course = courseList.GetCourseByIndex(course.Item1);
|
||||||
item.progress = course.Item2;
|
item.progress = course.Item2;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -67,7 +67,7 @@ public class CourseMenuScreen : MonoBehaviour
|
|||||||
|
|
||||||
// Dynamically load appearance
|
// Dynamically load appearance
|
||||||
CourseItem item = instance.GetComponent<CourseItem>();
|
CourseItem item = instance.GetComponent<CourseItem>();
|
||||||
item.course = courseList.courses.Find((j) => j.index == course.Item1);
|
item.course = courseList.GetCourseByIndex(course.Item1);
|
||||||
item.progress = course.Item2;
|
item.progress = course.Item2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user