Merge remote-tracking branch 'origin/development' into Code-Analysis
This commit is contained in:
24
.drone.yml
24
.drone.yml
@@ -2,6 +2,9 @@ kind: pipeline
|
||||
name: sonarcube
|
||||
type: docker
|
||||
|
||||
clone:
|
||||
retries: 10
|
||||
|
||||
steps:
|
||||
- name: unity-build-tests
|
||||
image: docker.io/library/unity-test-runner:0.1
|
||||
@@ -41,3 +44,24 @@ trigger:
|
||||
event:
|
||||
- push
|
||||
- pull_request
|
||||
---
|
||||
kind: pipeline
|
||||
name: tests
|
||||
type: docker
|
||||
|
||||
trigger:
|
||||
event:
|
||||
- push
|
||||
- pull_request
|
||||
|
||||
steps:
|
||||
- name: unity-build-tests
|
||||
image: docker.io/library/unity-test-runner:0.1
|
||||
commands:
|
||||
- /opt/unity/editors/2021.3.19f1/Editor/Unity -runTests -batchmode -nographics -projectPath . -testResults results_editmode.xml -testPlatform EditMode || true
|
||||
- /opt/unity/editors/2021.3.19f1/Editor/Unity -runTests -batchmode -nographics -projectPath . -testResults results_playmode.xml -testPlatform PlayMode || true
|
||||
|
||||
- name: tests-parser
|
||||
image: docker.io/library/unity-test-parser:0.1
|
||||
commands:
|
||||
- python /app/unity_test_parser.py results_editmode.xml results_playmode.xml
|
||||
|
||||
8
Assets/Accounts.meta
Normal file
8
Assets/Accounts.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6d0ffbb5478491d4cab023dd561128ea
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
8
Assets/Accounts/Prefabs.meta
Normal file
8
Assets/Accounts/Prefabs.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 32d13c7982bb5b1449abb4c889b61826
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
212
Assets/Accounts/Prefabs/Avatar.prefab
Normal file
212
Assets/Accounts/Prefabs/Avatar.prefab
Normal file
@@ -0,0 +1,212 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &6263784958278830195
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 6263784958278830196}
|
||||
- component: {fileID: 6263784958278830198}
|
||||
- component: {fileID: 6263784958278830197}
|
||||
m_Layer: 5
|
||||
m_Name: Image
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &6263784958278830196
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6263784958278830195}
|
||||
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: 6263784960026409965}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 100, y: 100}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &6263784958278830198
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6263784958278830195}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &6263784958278830197
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6263784958278830195}
|
||||
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 &6263784960026409964
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 6263784960026409965}
|
||||
- component: {fileID: 6263784960026409952}
|
||||
- component: {fileID: 6263784960026409967}
|
||||
- component: {fileID: 6263784960026409966}
|
||||
m_Layer: 5
|
||||
m_Name: Avatar
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &6263784960026409965
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6263784960026409964}
|
||||
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: 6263784958278830196}
|
||||
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 &6263784960026409952
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6263784960026409964}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &6263784960026409967
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6263784960026409964}
|
||||
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: 10905, guid: 0000000000000000f000000000000000, type: 0}
|
||||
m_Type: 1
|
||||
m_PreserveAspect: 0
|
||||
m_FillCenter: 1
|
||||
m_FillMethod: 4
|
||||
m_FillAmount: 1
|
||||
m_FillClockwise: 1
|
||||
m_FillOrigin: 0
|
||||
m_UseSpriteMesh: 0
|
||||
m_PixelsPerUnitMultiplier: 1
|
||||
--- !u!114 &6263784960026409966
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6263784960026409964}
|
||||
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: 6263784960026409967}
|
||||
m_OnClick:
|
||||
m_PersistentCalls:
|
||||
m_Calls:
|
||||
- m_Target: {fileID: 0}
|
||||
m_TargetAssemblyTypeName:
|
||||
m_MethodName:
|
||||
m_Mode: 1
|
||||
m_Arguments:
|
||||
m_ObjectArgument: {fileID: 0}
|
||||
m_ObjectArgumentAssemblyTypeName:
|
||||
m_IntArgument: 0
|
||||
m_FloatArgument: 0
|
||||
m_StringArgument:
|
||||
m_BoolArgument: 0
|
||||
m_CallState: 2
|
||||
7
Assets/Accounts/Prefabs/Avatar.prefab.meta
Normal file
7
Assets/Accounts/Prefabs/Avatar.prefab.meta
Normal file
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c09ef5423059da444ad7743174e9f077
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
8
Assets/Accounts/Scenes.meta
Normal file
8
Assets/Accounts/Scenes.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: eecb682f6c673164e96e4f8965d6b1c4
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
1486
Assets/Accounts/Scenes/UserCreationScreen.unity
Normal file
1486
Assets/Accounts/Scenes/UserCreationScreen.unity
Normal file
File diff suppressed because it is too large
Load Diff
7
Assets/Accounts/Scenes/UserCreationScreen.unity.meta
Normal file
7
Assets/Accounts/Scenes/UserCreationScreen.unity.meta
Normal file
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 401cfc17c01f88847b434260a6a93933
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
8
Assets/Accounts/ScriptableObjects.meta
Normal file
8
Assets/Accounts/ScriptableObjects.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e1138319cd1864546a021b76adee333c
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
32
Assets/Accounts/ScriptableObjects/UserList.asset
Normal file
32
Assets/Accounts/ScriptableObjects/UserList.asset
Normal file
@@ -0,0 +1,32 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 0
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 3f3d6d68c3c3db64e91cf5ec9537ccda, type: 3}
|
||||
m_Name: UserList
|
||||
m_EditorClassIdentifier:
|
||||
storedUserList:
|
||||
currentUserIndex: 0
|
||||
storedUsers:
|
||||
- username: dvschuyl
|
||||
avatar: {fileID: 21300000, guid: f2344cd67769733ceb363a41e1d88a65, type: 3}
|
||||
playtime: 0
|
||||
courses:
|
||||
- entries:
|
||||
- key: courseIndex
|
||||
bytes: 0001000000ffffffff01000000000000000c0200000046417373656d626c792d4353686172702c2056657273696f6e3d302e302e302e302c2043756c747572653d6e65757472616c2c205075626c69634b6579546f6b656e3d6e756c6c05010000000b436f75727365496e646578010000000776616c75655f5f000802000000000000000b
|
||||
- key: courseProgress
|
||||
bytes: 0001000000ffffffff010000000000000004010000000d53797374656d2e53696e676c6501000000076d5f76616c7565000b0000403f0b
|
||||
minigames:
|
||||
- entries:
|
||||
- key: minigameIndex
|
||||
bytes: 0001000000ffffffff01000000000000000c0200000046417373656d626c792d4353686172702c2056657273696f6e3d302e302e302e302c2043756c747572653d6e65757472616c2c205075626c69634b6579546f6b656e3d6e756c6c05010000000d4d696e6967616d65496e646578010000000776616c75655f5f000802000000000000000b
|
||||
- key: highscore
|
||||
bytes: 0001000000ffffffff010000000000000004010000000c53797374656d2e496e74333201000000076d5f76616c75650008000000000b
|
||||
@@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c1c54aeff4d069a41b2799b2dd26498f
|
||||
guid: 072bec636a40f7e4e93b0ac624a3bda2
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
8
Assets/Accounts/Scripts.meta
Normal file
8
Assets/Accounts/Scripts.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 221fac2e860d54348be4de169ea910d9
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
79
Assets/Accounts/Scripts/Progress.cs
Normal file
79
Assets/Accounts/Scripts/Progress.cs
Normal file
@@ -0,0 +1,79 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Runtime.Serialization.Formatters.Binary;
|
||||
using UnityEngine;
|
||||
|
||||
[Serializable]
|
||||
// Can not be created from Editor
|
||||
public class Progress
|
||||
{
|
||||
[Serializable]
|
||||
// Helper class to serialize into byte[]
|
||||
protected class DataEntry
|
||||
{
|
||||
public string key;
|
||||
public List<byte> bytes = new List<byte>();
|
||||
|
||||
public DataEntry(string key, byte[] data)
|
||||
{
|
||||
this.key = key;
|
||||
this.bytes = new List<byte>(data);
|
||||
}
|
||||
}
|
||||
|
||||
[Header("Course or Minigame")]
|
||||
[SerializeField]
|
||||
// values belonging to a certain key, in List (which can be serialized)
|
||||
private List<DataEntry> entries = new List<DataEntry>();
|
||||
|
||||
|
||||
// Add new `key` := `value`, returns `true` if successful
|
||||
public bool AddOrUpdate<T>(string key, T data)
|
||||
{
|
||||
if (data == null)
|
||||
return false;
|
||||
|
||||
DataEntry entry = entries.Find(x => x.key == key);
|
||||
|
||||
// Hacky serialization stuff
|
||||
BinaryFormatter bf = new BinaryFormatter();
|
||||
using (MemoryStream ms = new MemoryStream())
|
||||
{
|
||||
bf.Serialize(ms, data);
|
||||
if (entry != null)
|
||||
{
|
||||
entry.bytes.Clear();
|
||||
entry.bytes.AddRange(ms.ToArray());
|
||||
}
|
||||
else
|
||||
{
|
||||
entries.Add(new DataEntry(key, ms.ToArray()));
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
// Get the value of type `T` belonging to `key`
|
||||
public T Get<T>(string key)
|
||||
{
|
||||
BinaryFormatter bf = new BinaryFormatter();
|
||||
using (MemoryStream ms = new MemoryStream())
|
||||
{
|
||||
// Find the correct key
|
||||
foreach (DataEntry entry in entries)
|
||||
{
|
||||
if (entry.key == key)
|
||||
{
|
||||
// Hacky serialization stuff
|
||||
byte[] data = entry.bytes.ToArray();
|
||||
ms.Write(data, 0, data.Length);
|
||||
ms.Seek(0, SeekOrigin.Begin);
|
||||
return (T)bf.Deserialize(ms);
|
||||
}
|
||||
}
|
||||
}
|
||||
// Raise an exception when key is not found
|
||||
throw new KeyNotFoundException();
|
||||
}
|
||||
}
|
||||
11
Assets/Accounts/Scripts/Progress.cs.meta
Normal file
11
Assets/Accounts/Scripts/Progress.cs.meta
Normal file
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d887bc641cc7a8f4abf9d4eb34d26923
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
62
Assets/Accounts/Scripts/User.cs
Normal file
62
Assets/Accounts/Scripts/User.cs
Normal file
@@ -0,0 +1,62 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
[Serializable]
|
||||
public class User
|
||||
{
|
||||
[Header("Personal data")]
|
||||
// User nickname
|
||||
public string username;
|
||||
// User avatar
|
||||
public Sprite avatar;
|
||||
|
||||
[Header("Personal settings")]
|
||||
// TODO: set personal settings and preferences
|
||||
|
||||
[Header("Progress")]
|
||||
// Total playtime
|
||||
public double playtime;
|
||||
[SerializeField]
|
||||
// List of courses a user started/completed
|
||||
public List<Progress> courses = new List<Progress>();
|
||||
[SerializeField]
|
||||
// List of minigames a user played
|
||||
public List<Progress> minigames = new List<Progress>();
|
||||
|
||||
// Get a list of all recently started courses, returns a list of tuples of `<CourseIndex idx, float courseProgress>`
|
||||
public List<Tuple<CourseIndex, float>> GetRecentCourses()
|
||||
{
|
||||
// TODO: return better results (for now only return all courses)
|
||||
List<Tuple<CourseIndex, float>> recentCourses = new List<Tuple<CourseIndex, float>>();
|
||||
foreach (Progress courseProgress in courses)
|
||||
{
|
||||
CourseIndex idx = courseProgress.Get<CourseIndex>("courseIndex");
|
||||
float progress = courseProgress.Get<float>("courseProgress");
|
||||
recentCourses.Add(Tuple.Create<CourseIndex, float>(idx, progress));
|
||||
}
|
||||
return recentCourses;
|
||||
}
|
||||
|
||||
// Get a list of all recommended courses, returns a list of tuples of `<CourseIndex idx, float courseProgress>`
|
||||
public List<Tuple<CourseIndex, float>> GetRecommendedCourses()
|
||||
{
|
||||
List<Tuple<CourseIndex, float>> recommenedCourses = new List<Tuple<CourseIndex, float>>();
|
||||
if (courses.Count == 0)
|
||||
{
|
||||
recommenedCourses.Add(Tuple.Create<CourseIndex, float>(CourseIndex.FINGERSPELLING, 0.0f));
|
||||
}
|
||||
else
|
||||
{
|
||||
// TODO: return better results (for now only return all courses)
|
||||
foreach (Progress courseProgress in courses)
|
||||
{
|
||||
CourseIndex idx = courseProgress.Get<CourseIndex>("courseIndex");
|
||||
float progress = courseProgress.Get<float>("courseProgress");
|
||||
recommenedCourses.Add(Tuple.Create<CourseIndex, float>(idx, progress));
|
||||
}
|
||||
}
|
||||
|
||||
return recommenedCourses;
|
||||
}
|
||||
}
|
||||
11
Assets/Accounts/Scripts/User.cs.meta
Normal file
11
Assets/Accounts/Scripts/User.cs.meta
Normal file
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ae6d59a84b340534f8bbfc7101ce4a2f
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
98
Assets/Accounts/Scripts/UserCreationScreen.cs
Normal file
98
Assets/Accounts/Scripts/UserCreationScreen.cs
Normal file
@@ -0,0 +1,98 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Text.RegularExpressions;
|
||||
using TMPro;
|
||||
using UnityEngine;
|
||||
using UnityEngine.SceneManagement;
|
||||
using UnityEngine.UI;
|
||||
|
||||
public class UserCreationScreen : MonoBehaviour
|
||||
{
|
||||
// Max length of a username
|
||||
private const int MAX_USERNAME_LENGTH = 12;
|
||||
|
||||
[Header("UI References")]
|
||||
// Reference to the input text field for username
|
||||
public TMP_InputField inputName;
|
||||
// Reference to the avatar-list container
|
||||
public Transform avatarsContainer;
|
||||
|
||||
[Header("Prefab")]
|
||||
// Avatar prefab
|
||||
public GameObject avatarPrefab;
|
||||
// List of all sprites that are supported as avatars
|
||||
public List<Sprite> sprites = new List<Sprite>();
|
||||
|
||||
[Header("Users List")]
|
||||
// Reference to the UserList ScriptableObject
|
||||
public UserList users;
|
||||
|
||||
[SerializeField]
|
||||
// Current selected avatar
|
||||
private int selectedAvatar = 0;
|
||||
// List of references to avatar background sprites (so we can color them nicely)
|
||||
private List<Image> avatars = new List<Image>();
|
||||
|
||||
|
||||
void Start()
|
||||
{
|
||||
for (int i = 0; i < sprites.Count; i++)
|
||||
{
|
||||
// Create instance of prefab
|
||||
GameObject instance = GameObject.Instantiate(avatarPrefab, avatarsContainer);
|
||||
|
||||
// Store value of i so we can use it the callback (else it would get the value of sprites.Count)
|
||||
int x = i;
|
||||
// Add onClick callback
|
||||
instance.GetComponent<Button>().onClick.AddListener(() => UpdateAvatar(x));
|
||||
|
||||
// Store reference to image for fancy coloring
|
||||
Image background = instance.GetComponent<Image>();
|
||||
avatars.Add(background);
|
||||
// Set background color
|
||||
background.color = selectedAvatar == i ? Color.blue : Color.gray;
|
||||
// Find correct component for setting the sprite
|
||||
foreach (Image img in background.GetComponentsInChildren<Image>())
|
||||
if (img != background)
|
||||
{
|
||||
img.sprite = sprites[i];
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Update the current selected avatar
|
||||
private void UpdateAvatar(int newAvatar)
|
||||
{
|
||||
avatars[selectedAvatar].color = Color.gray;
|
||||
selectedAvatar = newAvatar;
|
||||
avatars[selectedAvatar].color = Color.blue;
|
||||
}
|
||||
|
||||
// Check if a given string is a correct username (using Regex)
|
||||
static public bool IsValidUsername(string username)
|
||||
{
|
||||
return new Regex($@"^[abcdefghijklmnopqrstuvwxyz]{{1,{MAX_USERNAME_LENGTH}}}$").IsMatch(username);
|
||||
}
|
||||
|
||||
// Create a new user (will be called by button)
|
||||
public void CreateUser()
|
||||
{
|
||||
string username = inputName.text;
|
||||
if (IsValidUsername(username))
|
||||
{
|
||||
if (users.GetUserByUsername(username) == null)
|
||||
{
|
||||
// Create a new entry in the UserList ScriptableObject
|
||||
users.CreateAndAddNewUser(username, sprites[selectedAvatar]);
|
||||
// TODO: change scene, for now just change to StartScreen
|
||||
SceneManager.LoadScene("Common/Scenes/StartScreen");
|
||||
}
|
||||
// TODO: give more feedback to user
|
||||
// Warn user that username already exists
|
||||
else Debug.LogWarning($"Username '{username}' already exists!");
|
||||
}
|
||||
// TODO: give more feedback to user
|
||||
// Warn user that username is invalid
|
||||
else Debug.LogWarning($"Invalid username '{username}'!");
|
||||
}
|
||||
}
|
||||
11
Assets/Accounts/Scripts/UserCreationScreen.cs.meta
Normal file
11
Assets/Accounts/Scripts/UserCreationScreen.cs.meta
Normal file
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: fc3902e35c042b14f83b24498d31d587
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
89
Assets/Accounts/Scripts/UserList.cs
Normal file
89
Assets/Accounts/Scripts/UserList.cs
Normal file
@@ -0,0 +1,89 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using UnityEngine;
|
||||
|
||||
[CreateAssetMenu(menuName = "Create new Scriptable/UserList")]
|
||||
public class UserList : ScriptableObject
|
||||
{
|
||||
// Serializable UserList content
|
||||
[Serializable]
|
||||
public class StoredUserList
|
||||
{
|
||||
public int currentUserIndex;
|
||||
public List<User> storedUsers = new List<User>();
|
||||
}
|
||||
[Header("Users")]
|
||||
[SerializeField]
|
||||
// Reference to serializable version of UserList
|
||||
private StoredUserList storedUserList = new StoredUserList();
|
||||
|
||||
// Path to .json file
|
||||
public static string PATH = null;
|
||||
|
||||
void OnEnable()
|
||||
{
|
||||
PATH = $"{Application.dataPath}/users.json";
|
||||
Load();
|
||||
}
|
||||
|
||||
// Create a new User
|
||||
public User CreateNewUser(string name, Sprite avatar)
|
||||
{
|
||||
User user = new User();
|
||||
user.username = name;
|
||||
user.avatar = avatar;
|
||||
return user;
|
||||
}
|
||||
|
||||
// Create a new User and add to list
|
||||
public User CreateAndAddNewUser(string name, Sprite avatar)
|
||||
{
|
||||
User user = CreateNewUser(name, avatar);
|
||||
storedUserList.storedUsers.Add(user);
|
||||
Save();
|
||||
return user;
|
||||
}
|
||||
|
||||
// Get user by username, returns `null` if no user can be found with such name
|
||||
public User GetUserByUsername(string username)
|
||||
{
|
||||
foreach (User user in storedUserList.storedUsers)
|
||||
if (user.username == username) return user;
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
// Get a list of all users
|
||||
public List<User> GetUsers()
|
||||
{
|
||||
return storedUserList.storedUsers;
|
||||
}
|
||||
|
||||
// Get the current active user
|
||||
public User GetCurrentUser()
|
||||
{
|
||||
return storedUserList.storedUsers[storedUserList.currentUserIndex];
|
||||
}
|
||||
|
||||
// Save the userList
|
||||
public void Save()
|
||||
{
|
||||
string json = JsonUtility.ToJson(storedUserList);
|
||||
File.CreateText(PATH).Close();
|
||||
File.WriteAllText(PATH, json);
|
||||
}
|
||||
|
||||
// Load the userList into this object
|
||||
public void Load()
|
||||
{
|
||||
try
|
||||
{
|
||||
storedUserList.storedUsers.Clear();
|
||||
|
||||
string text = File.ReadAllText(PATH);
|
||||
storedUserList = JsonUtility.FromJson<StoredUserList>(text);
|
||||
}
|
||||
catch (FileNotFoundException) { Debug.Log($"Path '{PATH}' not found"); }
|
||||
}
|
||||
}
|
||||
11
Assets/Accounts/Scripts/UserList.cs.meta
Normal file
11
Assets/Accounts/Scripts/UserList.cs.meta
Normal file
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3f3d6d68c3c3db64e91cf5ec9537ccda
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
8
Assets/Accounts/Tests.meta
Normal file
8
Assets/Accounts/Tests.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8156c3a6e88d0bb4ebabdf7c26979081
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
175
Assets/Accounts/Tests/TestProgress.cs
Normal file
175
Assets/Accounts/Tests/TestProgress.cs
Normal file
@@ -0,0 +1,175 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Runtime.Serialization;
|
||||
using UnityEngine;
|
||||
|
||||
public class TestProgress : MonoBehaviour
|
||||
{
|
||||
[Serializable]
|
||||
// Dummy struct
|
||||
private struct SerializableStruct
|
||||
{
|
||||
public int r, g, b;
|
||||
public float x, y, z;
|
||||
}
|
||||
|
||||
private struct NonSerializableStruct
|
||||
{
|
||||
public int r, g, b;
|
||||
public float x, y, z;
|
||||
}
|
||||
|
||||
|
||||
// Helper method, returns true if `Progress.Get(...)` throws a `KeyNotFoundException`
|
||||
private bool AddNonSerializableStruct()
|
||||
{
|
||||
Progress progress = new Progress();
|
||||
NonSerializableStruct nss = new NonSerializableStruct();
|
||||
try { progress.AddOrUpdate<NonSerializableStruct>("key", nss); }
|
||||
catch (SerializationException) { return true; }
|
||||
return false;
|
||||
}
|
||||
|
||||
// Helper method, returns true if `Progress.Get(...)` throws a `KeyNotFoundException`
|
||||
private bool AccessInvalidKey()
|
||||
{
|
||||
Progress progress = new Progress();
|
||||
try { progress.Get<int>("non-existing key"); }
|
||||
catch (KeyNotFoundException) { return true; }
|
||||
return false;
|
||||
}
|
||||
|
||||
// Helper method, returns true if `Progress.Get(...)` throws a `InvalidCastException`
|
||||
private bool AccessInvalidType()
|
||||
{
|
||||
Progress progress = new Progress();
|
||||
progress.AddOrUpdate<int>("key", 123456789);
|
||||
try { progress.Get<double>("key"); }
|
||||
catch (InvalidCastException) { return true; }
|
||||
return false;
|
||||
}
|
||||
|
||||
void Start()
|
||||
{
|
||||
TestNewProgress();
|
||||
TestProgressAddInvalidData();
|
||||
TestProgressAddDuplicateKey();
|
||||
TestProgressAddInt();
|
||||
TestProgressAddDouble();
|
||||
TestProgressAddString();
|
||||
TestProgressAddSerializableStruct();
|
||||
TestProgressAddNonSerializableStruct();
|
||||
TestProgressGetInvalidKey();
|
||||
TestProgressGetInvalidType();
|
||||
TestProgressUpdate();
|
||||
TestProgressGetInt();
|
||||
TestProgressGetDouble();
|
||||
TestProgressGetString();
|
||||
TestProgressGetStruct();
|
||||
}
|
||||
|
||||
public void TestNewProgress()
|
||||
{
|
||||
Progress progress = new Progress();
|
||||
Debug.Assert(progress != null);
|
||||
}
|
||||
|
||||
public void TestProgressAddInvalidData()
|
||||
{
|
||||
Progress progress = new Progress();
|
||||
Debug.Assert(!progress.AddOrUpdate<GameObject>("key", null));
|
||||
}
|
||||
|
||||
public void TestProgressAddDuplicateKey()
|
||||
{
|
||||
Progress progress = new Progress();
|
||||
progress.AddOrUpdate<int>("key 1", 0);
|
||||
Debug.Assert(progress.AddOrUpdate<int>("key 1", 1));
|
||||
}
|
||||
|
||||
public void TestProgressAddInt()
|
||||
{
|
||||
Progress progress = new Progress();
|
||||
Debug.Assert(progress.AddOrUpdate<int>("key", 1));
|
||||
}
|
||||
|
||||
public void TestProgressAddDouble()
|
||||
{
|
||||
Progress progress = new Progress();
|
||||
Debug.Assert(progress.AddOrUpdate<double>("key", 1.0));
|
||||
}
|
||||
|
||||
public void TestProgressAddString()
|
||||
{
|
||||
Progress progress = new Progress();
|
||||
Debug.Assert(progress.AddOrUpdate<string>("key", "Hello World!"));
|
||||
}
|
||||
|
||||
public void TestProgressAddSerializableStruct()
|
||||
{
|
||||
Progress progress = new Progress();
|
||||
Debug.Assert(progress.AddOrUpdate<SerializableStruct>("key", new SerializableStruct()));
|
||||
}
|
||||
|
||||
public void TestProgressAddNonSerializableStruct()
|
||||
{
|
||||
Debug.Assert(AddNonSerializableStruct());
|
||||
}
|
||||
|
||||
public void TestProgressGetInvalidKey()
|
||||
{
|
||||
Debug.Assert(AccessInvalidKey());
|
||||
}
|
||||
|
||||
public void TestProgressGetInvalidType()
|
||||
{
|
||||
Debug.Assert(AccessInvalidType());
|
||||
}
|
||||
|
||||
public void TestProgressUpdate()
|
||||
{
|
||||
Progress progress = new Progress();
|
||||
progress.AddOrUpdate<int>("key", 1);
|
||||
Debug.Assert(progress.Get<int>("key") == 1);
|
||||
progress.AddOrUpdate<int>("key", 2);
|
||||
Debug.Assert(progress.Get<int>("key") == 2);
|
||||
}
|
||||
|
||||
public void TestProgressGetInt()
|
||||
{
|
||||
Progress progress = new Progress();
|
||||
progress.AddOrUpdate<int>("key", 1);
|
||||
Debug.Assert(progress.Get<int>("key") == 1);
|
||||
}
|
||||
|
||||
public void TestProgressGetDouble()
|
||||
{
|
||||
Progress progress = new Progress();
|
||||
progress.AddOrUpdate<double>("key", 1.0);
|
||||
Debug.Assert(progress.Get<double>("key") == 1.0);
|
||||
}
|
||||
|
||||
public void TestProgressGetString()
|
||||
{
|
||||
Progress progress = new Progress();
|
||||
progress.AddOrUpdate<string>("key", "Hello World!");
|
||||
Debug.Assert(progress.Get<string>("key") == "Hello World!");
|
||||
}
|
||||
|
||||
public void TestProgressGetStruct()
|
||||
{
|
||||
Progress progress = new Progress();
|
||||
|
||||
int R = 1, G = 10, B = 100;
|
||||
float X = 0.1f, Y = 0.01f, Z = 0.001f;
|
||||
SerializableStruct data = new SerializableStruct { r = R, g = G, b = B, x = X, y = Y, z = Z };
|
||||
progress.AddOrUpdate<SerializableStruct>("key", data);
|
||||
SerializableStruct result = progress.Get<SerializableStruct>("key");
|
||||
Debug.Assert(result.r == R);
|
||||
Debug.Assert(result.g == G);
|
||||
Debug.Assert(result.b == B);
|
||||
Debug.Assert(result.x == X);
|
||||
Debug.Assert(result.y == Y);
|
||||
Debug.Assert(result.z == Z);
|
||||
}
|
||||
}
|
||||
11
Assets/Accounts/Tests/TestProgress.cs.meta
Normal file
11
Assets/Accounts/Tests/TestProgress.cs.meta
Normal file
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 49445c42f43d1bb488f588623826a39e
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
27
Assets/Accounts/Tests/TestUserCreationScreen.cs
Normal file
27
Assets/Accounts/Tests/TestUserCreationScreen.cs
Normal file
@@ -0,0 +1,27 @@
|
||||
using UnityEngine;
|
||||
|
||||
public class TestUserCreationScreen : MonoBehaviour
|
||||
{
|
||||
void Start()
|
||||
{
|
||||
TestIsValidUsernameTrue();
|
||||
TestIsValidUsernameFalse();
|
||||
}
|
||||
|
||||
public void TestIsValidUsernameTrue()
|
||||
{
|
||||
foreach (char c in "abcdefghijklmnopqrstuvwxyz")
|
||||
Debug.Assert(UserCreationScreen.IsValidUsername(c.ToString()));
|
||||
|
||||
Debug.Assert(UserCreationScreen.IsValidUsername("abcdefghijkl"));
|
||||
}
|
||||
|
||||
public void TestIsValidUsernameFalse()
|
||||
{
|
||||
Debug.Assert(!UserCreationScreen.IsValidUsername(string.Empty));
|
||||
foreach (char c in " \n\t0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ+-*/%_(){}[]\\")
|
||||
Debug.Assert(!UserCreationScreen.IsValidUsername(c.ToString()));
|
||||
|
||||
Debug.Assert(!UserCreationScreen.IsValidUsername("abcdefghijklmnopqrstuvwxyz"));
|
||||
}
|
||||
}
|
||||
11
Assets/Accounts/Tests/TestUserCreationScreen.cs.meta
Normal file
11
Assets/Accounts/Tests/TestUserCreationScreen.cs.meta
Normal file
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b6dabaf99e10900459274641f4cc9010
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
File diff suppressed because one or more lines are too long
@@ -12,6 +12,7 @@ GameObject:
|
||||
- component: {fileID: 2823887524698191625}
|
||||
- component: {fileID: 2823887524698191631}
|
||||
- component: {fileID: 7528776122952476157}
|
||||
- component: {fileID: 9192617418029337932}
|
||||
m_Layer: 5
|
||||
m_Name: ButtonUser
|
||||
m_TagString: Untagged
|
||||
@@ -32,13 +33,14 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 2823887524728706603}
|
||||
- {fileID: 1210792399173439368}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 1, y: 1}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 300, y: 120}
|
||||
m_SizeDelta: {x: 400, y: 120}
|
||||
m_Pivot: {x: 1, y: 1}
|
||||
--- !u!222 &2823887524698191625
|
||||
CanvasRenderer:
|
||||
@@ -116,6 +118,21 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: 949ba4da8595d52aebc98e6f9b6a405e, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!114 &9192617418029337932
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2823887524698191629}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 7b8b159dda1a6104793946dc46f84f3a, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
userList: {fileID: 11400000, guid: 072bec636a40f7e4e93b0ac624a3bda2, type: 2}
|
||||
avatar: {fileID: 692645475575553623}
|
||||
username: {fileID: 2823887524728706580}
|
||||
--- !u!1 &2823887524728706602
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -149,11 +166,11 @@ RectTransform:
|
||||
m_Father: {fileID: 2823887524698191630}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
m_AnchorMin: {x: 0, y: 0.5}
|
||||
m_AnchorMax: {x: 0, y: 0.5}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
m_SizeDelta: {x: 280, y: 120}
|
||||
m_Pivot: {x: 0, y: 0.5}
|
||||
--- !u!222 &2823887524728706581
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -216,7 +233,7 @@ MonoBehaviour:
|
||||
m_fontSizeMin: 18
|
||||
m_fontSizeMax: 72
|
||||
m_fontStyle: 0
|
||||
m_HorizontalAlignment: 2
|
||||
m_HorizontalAlignment: 4
|
||||
m_VerticalAlignment: 512
|
||||
m_textAlignment: 65535
|
||||
m_characterSpacing: 0
|
||||
@@ -251,3 +268,79 @@ MonoBehaviour:
|
||||
m_hasFontAssetChanged: 0
|
||||
m_baseMaterial: {fileID: 0}
|
||||
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
|
||||
--- !u!1 &9131897851294628014
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1210792399173439368}
|
||||
- component: {fileID: 558993521712266555}
|
||||
- component: {fileID: 692645475575553623}
|
||||
m_Layer: 5
|
||||
m_Name: Avatar
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &1210792399173439368
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 9131897851294628014}
|
||||
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: 2823887524698191630}
|
||||
m_RootOrder: 1
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 1, y: 0.5}
|
||||
m_AnchorMax: {x: 1, y: 0.5}
|
||||
m_AnchoredPosition: {x: -10, y: 0}
|
||||
m_SizeDelta: {x: 100, y: 100}
|
||||
m_Pivot: {x: 1, y: 0.5}
|
||||
--- !u!222 &558993521712266555
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 9131897851294628014}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &692645475575553623
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 9131897851294628014}
|
||||
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
|
||||
|
||||
353
Assets/Common/Prefabs/Minigame Item.prefab
Normal file
353
Assets/Common/Prefabs/Minigame Item.prefab
Normal file
@@ -0,0 +1,353 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &4959898007614330357
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 4959898007614330356}
|
||||
- component: {fileID: 4959898007614330353}
|
||||
- component: {fileID: 4959898007614330354}
|
||||
- component: {fileID: 4959898007614330355}
|
||||
- component: {fileID: 706366092466149067}
|
||||
m_Layer: 5
|
||||
m_Name: Minigame Item
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &4959898007614330356
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4959898007614330357}
|
||||
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: 4959898009379617329}
|
||||
- {fileID: 4959898009362012416}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 256, y: 256}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &4959898007614330353
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4959898007614330357}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &4959898007614330354
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4959898007614330357}
|
||||
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.7529412, g: 0.7529412, b: 0.7529412, 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
|
||||
--- !u!114 &4959898007614330355
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4959898007614330357}
|
||||
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: 4959898007614330354}
|
||||
m_OnClick:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
--- !u!114 &706366092466149067
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4959898007614330357}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 0f9d201a28e32264993cc2b8f8055b33, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
minigame: {fileID: 0}
|
||||
thumbnail: {fileID: 4959898009379617328}
|
||||
title: {fileID: 4959898009362012447}
|
||||
button: {fileID: 4959898007614330355}
|
||||
--- !u!1 &4959898009362012417
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 4959898009362012416}
|
||||
- component: {fileID: 4959898009362012446}
|
||||
- component: {fileID: 4959898009362012447}
|
||||
m_Layer: 5
|
||||
m_Name: Title
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &4959898009362012416
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4959898009362012417}
|
||||
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: 4959898007614330356}
|
||||
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: 0, y: -5}
|
||||
m_SizeDelta: {x: 246, y: 64}
|
||||
m_Pivot: {x: 0.5, y: 1}
|
||||
--- !u!222 &4959898009362012446
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4959898009362012417}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &4959898009362012447
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4959898009362012417}
|
||||
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: 3602bedf0ebe5b64596873f09eddf57b, type: 2}
|
||||
m_sharedMaterial: {fileID: -1030930060397404263, guid: 3602bedf0ebe5b64596873f09eddf57b, type: 2}
|
||||
m_fontSharedMaterials: []
|
||||
m_fontMaterial: {fileID: 0}
|
||||
m_fontMaterials: []
|
||||
m_fontColor32:
|
||||
serializedVersion: 2
|
||||
rgba: 4281479730
|
||||
m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, 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: 30
|
||||
m_fontSizeBase: 30
|
||||
m_fontWeight: 400
|
||||
m_enableAutoSizing: 0
|
||||
m_fontSizeMin: 18
|
||||
m_fontSizeMax: 72
|
||||
m_fontStyle: 0
|
||||
m_HorizontalAlignment: 2
|
||||
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 &4959898009379617330
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 4959898009379617329}
|
||||
- component: {fileID: 4959898009379617295}
|
||||
- component: {fileID: 4959898009379617328}
|
||||
m_Layer: 5
|
||||
m_Name: Thumbnail
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &4959898009379617329
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4959898009379617330}
|
||||
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: 4959898007614330356}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &4959898009379617295
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4959898009379617330}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &4959898009379617328
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4959898009379617330}
|
||||
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
|
||||
7
Assets/Common/Prefabs/Minigame Item.prefab.meta
Normal file
7
Assets/Common/Prefabs/Minigame Item.prefab.meta
Normal file
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e5eaffcdbecf2ab48a94311753d10e09
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -646,7 +646,7 @@ RectTransform:
|
||||
- {fileID: 809758278}
|
||||
- {fileID: 1709971555}
|
||||
- {fileID: 1301399289}
|
||||
- {fileID: 1555714682}
|
||||
- {fileID: 1782112234}
|
||||
m_Father: {fileID: 1768150806}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
@@ -706,43 +706,11 @@ MonoBehaviour:
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
noRecentCourses: {fileID: 922270550}
|
||||
recentCourses: {fileID: 1737823345}
|
||||
recommendedCourses: {fileID: 809758278}
|
||||
course_item: {fileID: 4959898007614330357, guid: baf585123c6364d40a17b89676eb350d, type: 3}
|
||||
numberOfRecentCourses: 0
|
||||
recentCourseTitle:
|
||||
- Basis
|
||||
- Familie en vrienden
|
||||
- Huis- en boerderijdieren
|
||||
recentCourseProgress:
|
||||
- 0.1
|
||||
- 0.5
|
||||
- 1
|
||||
recentCourseThumbnail:
|
||||
- {fileID: 21300000, guid: d99bb2dc44e35344fa358208a01c06c4, type: 3}
|
||||
- {fileID: 21300000, guid: 81bcd777d5919ab4191a449bda031af4, type: 3}
|
||||
- {fileID: 21300000, guid: 7a1c849ec4f61af48a53cbf43bbab806, type: 3}
|
||||
recentCourseScene:
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
numberOfRecommendedCourses: 2
|
||||
recommendedCourseTitle:
|
||||
- In het wild
|
||||
- Hobbies
|
||||
- Gebouwen en plaatsen
|
||||
recommendedCourseProgress:
|
||||
- 0
|
||||
- 0
|
||||
- 0
|
||||
recommendedCourseThumbnail:
|
||||
- {fileID: 21300000, guid: e457af13cf4195a4aaa9fc1835e83076, type: 3}
|
||||
- {fileID: 21300000, guid: adc5508acb1844640881ebd79c6fcdd3, type: 3}
|
||||
- {fileID: 21300000, guid: 3692a3b07f36c0b4aaf52bffddf53885, type: 3}
|
||||
recommendedCourseScene:
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
recentCoursesContainer: {fileID: 1737823345}
|
||||
recommendedCoursesContainer: {fileID: 809758278}
|
||||
courseItem: {fileID: 4959898007614330357, guid: baf585123c6364d40a17b89676eb350d, type: 3}
|
||||
userList: {fileID: 11400000, guid: 072bec636a40f7e4e93b0ac624a3bda2, type: 2}
|
||||
courseList: {fileID: 11400000, guid: a7ab583094b7897468bbca9243717608, type: 2}
|
||||
--- !u!1 &922270550
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -931,11 +899,6 @@ RectTransform:
|
||||
m_CorrespondingSourceObject: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3}
|
||||
m_PrefabInstance: {fileID: 8299246692221626394}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!224 &1555714682 stripped
|
||||
RectTransform:
|
||||
m_CorrespondingSourceObject: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
m_PrefabInstance: {fileID: 2823887523299763572}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!1 &1709971554
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -1234,6 +1197,112 @@ RectTransform:
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 0, y: 0}
|
||||
--- !u!1001 &1782112233
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_Modification:
|
||||
m_TransformParent: {fileID: 906197777}
|
||||
m_Modifications:
|
||||
- target: {fileID: 2823887524698191629, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_Name
|
||||
value: ButtonUser
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_Pivot.x
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_Pivot.y
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 7
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_AnchorMax.x
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_AnchorMax.y
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_AnchorMin.x
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_AnchorMin.y
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_SizeDelta.x
|
||||
value: 400
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_SizeDelta.y
|
||||
value: 120
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: -0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: -0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: -0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_AnchoredPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_AnchoredPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191631, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Arguments.m_StringArgument
|
||||
value: Common/Scenes/StartScreen
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
--- !u!224 &1782112234 stripped
|
||||
RectTransform:
|
||||
m_CorrespondingSourceObject: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
m_PrefabInstance: {fileID: 1782112233}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!1 &2004184477
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -1369,107 +1438,6 @@ CanvasRenderer:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2004184477}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!1001 &2823887523299763572
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_Modification:
|
||||
m_TransformParent: {fileID: 906197777}
|
||||
m_Modifications:
|
||||
- target: {fileID: 2823887524698191629, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_Name
|
||||
value: User
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_Pivot.x
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_Pivot.y
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 7
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_AnchorMax.x
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_AnchorMax.y
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_AnchorMin.x
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_AnchorMin.y
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_SizeDelta.x
|
||||
value: 300
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_SizeDelta.y
|
||||
value: 120
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: -0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: -0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: -0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_AnchoredPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_AnchoredPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191631, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Arguments.m_StringArgument
|
||||
value: Common/Scenes/StartScreen
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
--- !u!1001 &8299246692221626394
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
|
||||
@@ -232,7 +232,7 @@ PrefabInstance:
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_SizeDelta.x
|
||||
value: 300
|
||||
value: 400
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_SizeDelta.y
|
||||
@@ -286,6 +286,10 @@ PrefabInstance:
|
||||
propertyPath: m_LocalEulerAnglesHint.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191631, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Arguments.m_StringArgument
|
||||
value: Common/Scenes/StartScreen
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
--- !u!224 &289602555 stripped
|
||||
@@ -512,7 +516,7 @@ MonoBehaviour:
|
||||
m_Right: 10
|
||||
m_Top: 10
|
||||
m_Bottom: 10
|
||||
m_ChildAlignment: 4
|
||||
m_ChildAlignment: 0
|
||||
m_StartCorner: 0
|
||||
m_StartAxis: 0
|
||||
m_CellSize: {x: 256, y: 256}
|
||||
@@ -919,413 +923,9 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: 0fac0bf527487ad48835aff400b1f762, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
item_container: {fileID: 461792789}
|
||||
item_prefab: {fileID: 4959898007614330357, guid: baf585123c6364d40a17b89676eb350d, type: 3}
|
||||
numberOfItems: 100
|
||||
itemTitle:
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
- les XYZ
|
||||
itemProgress:
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
itemThumbnail:
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
itemScene:
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
courseContainer: {fileID: 461792789}
|
||||
courseItemPrefab: {fileID: 4959898007614330357, guid: baf585123c6364d40a17b89676eb350d, type: 3}
|
||||
courseList: {fileID: 11400000, guid: a7ab583094b7897468bbca9243717608, type: 2}
|
||||
--- !u!1 &994710774
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -1577,6 +1177,10 @@ PrefabInstance:
|
||||
m_Modification:
|
||||
m_TransformParent: {fileID: 906197777}
|
||||
m_Modifications:
|
||||
- target: {fileID: 8299246693487308512, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3}
|
||||
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Arguments.m_StringArgument
|
||||
value: Common/Scenes/CoursesScreen
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8299246693487308514, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3}
|
||||
propertyPath: m_Name
|
||||
value: ButtonBack
|
||||
@@ -1781,7 +1385,7 @@ GameObject:
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
m_IsActive: 0
|
||||
--- !u!224 &1503088043
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
|
||||
@@ -329,6 +329,112 @@ RectTransform:
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: -20, y: -20}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!1001 &238926233
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_Modification:
|
||||
m_TransformParent: {fileID: 1380805077}
|
||||
m_Modifications:
|
||||
- target: {fileID: 2823887524698191629, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_Name
|
||||
value: ButtonUser
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_Pivot.x
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_Pivot.y
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 3
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_AnchorMax.x
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_AnchorMax.y
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_AnchorMin.x
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_AnchorMin.y
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_SizeDelta.x
|
||||
value: 400
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_SizeDelta.y
|
||||
value: 120
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: -0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: -0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: -0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_AnchoredPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_AnchoredPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191631, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Arguments.m_StringArgument
|
||||
value: Common/Scenes/StartScreen
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
--- !u!224 &238926234 stripped
|
||||
RectTransform:
|
||||
m_CorrespondingSourceObject: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
m_PrefabInstance: {fileID: 238926233}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!1 &294756596
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -640,7 +746,7 @@ GameObject:
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
m_IsActive: 0
|
||||
--- !u!224 &1099058601
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -1027,7 +1133,7 @@ GameObject:
|
||||
- component: {fileID: 1380805077}
|
||||
- component: {fileID: 1380805080}
|
||||
- component: {fileID: 1380805079}
|
||||
- component: {fileID: 1380805078}
|
||||
- component: {fileID: 1380805081}
|
||||
m_Layer: 5
|
||||
m_Name: Panel
|
||||
m_TagString: Untagged
|
||||
@@ -1050,7 +1156,7 @@ RectTransform:
|
||||
- {fileID: 1099058601}
|
||||
- {fileID: 1570876499}
|
||||
- {fileID: 1605366630}
|
||||
- {fileID: 1840395957}
|
||||
- {fileID: 238926234}
|
||||
m_Father: {fileID: 79114699}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
@@ -1059,425 +1165,6 @@ RectTransform:
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &1380805078
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1380805076}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 0fac0bf527487ad48835aff400b1f762, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
item_container: {fileID: 1832508913}
|
||||
item_prefab: {fileID: 4959898007614330357, guid: baf585123c6364d40a17b89676eb350d, type: 3}
|
||||
numberOfItems: 100
|
||||
itemTitle:
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
- minigame ABC
|
||||
itemProgress:
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
- 0.1
|
||||
itemThumbnail:
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
|
||||
itemScene:
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
- Courses/Scenes/Course_0
|
||||
--- !u!114 &1380805079
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -1516,6 +1203,21 @@ CanvasRenderer:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1380805076}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &1380805081
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1380805076}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 2dd453d411c3b3e458a7b133764c6b64, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
minigameContainer: {fileID: 1832508913}
|
||||
minigameItemPrefab: {fileID: 4959898007614330357, guid: e5eaffcdbecf2ab48a94311753d10e09, type: 3}
|
||||
minigameList: {fileID: 11400000, guid: 51453f9b41bc72f468ba3e67ab622f8f, type: 2}
|
||||
--- !u!1 &1486682950
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -1708,6 +1410,10 @@ PrefabInstance:
|
||||
m_Modification:
|
||||
m_TransformParent: {fileID: 1380805077}
|
||||
m_Modifications:
|
||||
- target: {fileID: 8299246693487308512, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3}
|
||||
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Arguments.m_StringArgument
|
||||
value: Common/Scenes/StartScreen
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8299246693487308514, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3}
|
||||
propertyPath: m_Name
|
||||
value: ButtonBack
|
||||
@@ -2007,112 +1713,10 @@ MonoBehaviour:
|
||||
m_Right: 10
|
||||
m_Top: 10
|
||||
m_Bottom: 10
|
||||
m_ChildAlignment: 4
|
||||
m_ChildAlignment: 0
|
||||
m_StartCorner: 0
|
||||
m_StartAxis: 0
|
||||
m_CellSize: {x: 256, y: 256}
|
||||
m_Spacing: {x: 10, y: 10}
|
||||
m_Constraint: 2
|
||||
m_ConstraintCount: 3
|
||||
--- !u!1001 &1840395956
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_Modification:
|
||||
m_TransformParent: {fileID: 1380805077}
|
||||
m_Modifications:
|
||||
- target: {fileID: 2823887524698191629, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_Name
|
||||
value: ButtonUser
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_Pivot.x
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_Pivot.y
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 3
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_AnchorMax.x
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_AnchorMax.y
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_AnchorMin.x
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_AnchorMin.y
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_SizeDelta.x
|
||||
value: 300
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_SizeDelta.y
|
||||
value: 120
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: -0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: -0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: -0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_AnchoredPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_AnchoredPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
--- !u!224 &1840395957 stripped
|
||||
RectTransform:
|
||||
m_CorrespondingSourceObject: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
m_PrefabInstance: {fileID: 1840395956}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
|
||||
@@ -282,6 +282,10 @@ PrefabInstance:
|
||||
m_Modification:
|
||||
m_TransformParent: {fileID: 906197777}
|
||||
m_Modifications:
|
||||
- target: {fileID: 8299246693487308512, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3}
|
||||
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Arguments.m_StringArgument
|
||||
value: Common/Scenes/StartScreen
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8299246693487308514, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3}
|
||||
propertyPath: m_Name
|
||||
value: ButtonBack
|
||||
@@ -641,7 +645,7 @@ PrefabInstance:
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_SizeDelta.x
|
||||
value: 300
|
||||
value: 400
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_SizeDelta.y
|
||||
@@ -695,6 +699,10 @@ PrefabInstance:
|
||||
propertyPath: m_LocalEulerAnglesHint.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191631, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Arguments.m_StringArgument
|
||||
value: Common/Scenes/StartScreen
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
--- !u!224 &2035873552 stripped
|
||||
|
||||
@@ -181,7 +181,7 @@ MonoBehaviour:
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_text: Courses
|
||||
m_text: Lessen
|
||||
m_isRightToLeft: 0
|
||||
m_fontAsset: {fileID: 11400000, guid: 3602bedf0ebe5b64596873f09eddf57b, type: 2}
|
||||
m_sharedMaterial: {fileID: -1030930060397404263, guid: 3602bedf0ebe5b64596873f09eddf57b, type: 2}
|
||||
@@ -603,7 +603,7 @@ MonoBehaviour:
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_text: Minigames
|
||||
m_text: Spelletjes
|
||||
m_isRightToLeft: 0
|
||||
m_fontAsset: {fileID: 11400000, guid: 3602bedf0ebe5b64596873f09eddf57b, type: 2}
|
||||
m_sharedMaterial: {fileID: -1030930060397404263, guid: 3602bedf0ebe5b64596873f09eddf57b, type: 2}
|
||||
@@ -721,7 +721,7 @@ PrefabInstance:
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_SizeDelta.x
|
||||
value: 300
|
||||
value: 400
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_SizeDelta.y
|
||||
@@ -775,6 +775,10 @@ PrefabInstance:
|
||||
propertyPath: m_LocalEulerAnglesHint.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2823887524698191631, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Arguments.m_StringArgument
|
||||
value: Common/Scenes/StartScreen
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
|
||||
--- !u!224 &790881345 stripped
|
||||
@@ -793,6 +797,7 @@ GameObject:
|
||||
- component: {fileID: 906197777}
|
||||
- component: {fileID: 906197779}
|
||||
- component: {fileID: 906197778}
|
||||
- component: {fileID: 906197780}
|
||||
m_Layer: 5
|
||||
m_Name: Panel
|
||||
m_TagString: Untagged
|
||||
@@ -863,6 +868,19 @@ CanvasRenderer:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 906197776}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &906197780
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 906197776}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: e7cdd358c46e3f94398d91b7118e6d39, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
userList: {fileID: 11400000, guid: 072bec636a40f7e4e93b0ac624a3bda2, type: 2}
|
||||
--- !u!1 &955994877
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -1564,7 +1582,7 @@ MonoBehaviour:
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_text: Settings
|
||||
m_text: Instellingen
|
||||
m_isRightToLeft: 0
|
||||
m_fontAsset: {fileID: 11400000, guid: 3602bedf0ebe5b64596873f09eddf57b, type: 2}
|
||||
m_sharedMaterial: {fileID: -1030930060397404263, guid: 3602bedf0ebe5b64596873f09eddf57b, type: 2}
|
||||
|
||||
8
Assets/Common/ScriptableObjects.meta
Normal file
8
Assets/Common/ScriptableObjects.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 56c7d643409f9c446bcb1014f14ac1dd
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
17
Assets/Common/ScriptableObjects/MinigameList.asset
Normal file
17
Assets/Common/ScriptableObjects/MinigameList.asset
Normal file
@@ -0,0 +1,17 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 3976e4310b716de4eb24f1916c10ff3d, type: 3}
|
||||
m_Name: MinigameList
|
||||
m_EditorClassIdentifier:
|
||||
currentMinigameIndex: 0
|
||||
minigames:
|
||||
- {fileID: 11400000, guid: 8a087d241d652634eb4f6352267ea7dc, type: 2}
|
||||
8
Assets/Common/ScriptableObjects/MinigameList.asset.meta
Normal file
8
Assets/Common/ScriptableObjects/MinigameList.asset.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 51453f9b41bc72f468ba3e67ab622f8f
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,5 +1,3 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using UnityEngine.SceneManagement;
|
||||
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using TMPro;
|
||||
using UnityEngine;
|
||||
using UnityEngine.SceneManagement;
|
||||
@@ -7,12 +5,11 @@ using UnityEngine.UI;
|
||||
|
||||
public class CourseItem : MonoBehaviour
|
||||
{
|
||||
// TODO: change to ScriptableObject Course;
|
||||
[Header("ScriptableObject Course")]
|
||||
public string courseTitle;
|
||||
public float courseProgress;
|
||||
public Sprite courseThumbnail;
|
||||
public string courseScene;
|
||||
[Header("Course")]
|
||||
// Reference to the course
|
||||
public Course course;
|
||||
// Progress of the current user on this course
|
||||
public float progress;
|
||||
|
||||
[Header("UI references")]
|
||||
// Reference to thumbnail object
|
||||
@@ -36,16 +33,16 @@ public class CourseItem : MonoBehaviour
|
||||
public void GenerateContent()
|
||||
{
|
||||
// Set appearance
|
||||
thumbnail.sprite = courseThumbnail;
|
||||
title.text = courseTitle;
|
||||
thumbnail.sprite = course.thumbnail;
|
||||
title.text = course.title;
|
||||
|
||||
// Set progress
|
||||
float progress = Mathf.Clamp01(courseProgress);
|
||||
progress = Mathf.Clamp01(progress);
|
||||
completed.SetActive(1.0f <= progress);
|
||||
slider.SetActive(0.0f < progress && progress < 1.0f);
|
||||
slider.SetActive(0.0f <= progress && progress < 1.0f);
|
||||
slider.GetComponent<Slider>().value = progress;
|
||||
|
||||
// Add click functionality
|
||||
button.onClick.AddListener(() => SceneManager.LoadScene(courseScene));
|
||||
button.onClick.AddListener(() => SceneManager.LoadScene("Courses/Scenes/Course_0"));
|
||||
}
|
||||
}
|
||||
|
||||
36
Assets/Common/Scripts/CourseListManager.cs
Normal file
36
Assets/Common/Scripts/CourseListManager.cs
Normal file
@@ -0,0 +1,36 @@
|
||||
using UnityEngine;
|
||||
using UnityEngine.SceneManagement;
|
||||
|
||||
public class CourseListManager : MonoBehaviour
|
||||
{
|
||||
[Header("Course list UI components")]
|
||||
// Reference to course-list holder object
|
||||
public Transform courseContainer;
|
||||
|
||||
[Header("Prefabs")]
|
||||
// Prefab of item
|
||||
public GameObject courseItemPrefab;
|
||||
|
||||
[Header("Courses")]
|
||||
// Reference to the list of all courses
|
||||
public CourseList courseList;
|
||||
|
||||
void Start()
|
||||
{
|
||||
foreach (Course course in courseList.courses)
|
||||
{
|
||||
// Create instance of prefab
|
||||
GameObject instance = GameObject.Instantiate(courseItemPrefab, courseContainer);
|
||||
|
||||
// Dynamically load appearance
|
||||
CourseItem item = instance.GetComponent<CourseItem>();
|
||||
item.course = course;
|
||||
}
|
||||
}
|
||||
|
||||
// Method used as callback for on click events
|
||||
public void LoadScene(string sceneName)
|
||||
{
|
||||
SceneManager.LoadScene(sceneName);
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
using System.Collections;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using UnityEngine.SceneManagement;
|
||||
@@ -9,57 +9,49 @@ public class CourseScreenManager : MonoBehaviour
|
||||
// Reference to text that displays when there are no recent courses
|
||||
public GameObject noRecentCourses;
|
||||
// Reference to recent-courses-list holder object
|
||||
public Transform recentCourses;
|
||||
public Transform recentCoursesContainer;
|
||||
// Reference to recommended-courses-list holder object
|
||||
public Transform recommendedCourses;
|
||||
public Transform recommendedCoursesContainer;
|
||||
|
||||
[Header("Prefabs")]
|
||||
// CourseItem prefab
|
||||
public GameObject course_item;
|
||||
public GameObject courseItem;
|
||||
|
||||
// TODO: change to ScriptableObject;
|
||||
[Header("ScriptableObjects")]
|
||||
public int numberOfRecentCourses;
|
||||
public string[] recentCourseTitle;
|
||||
public float[] recentCourseProgress;
|
||||
public Sprite[] recentCourseThumbnail;
|
||||
public string[] recentCourseScene;
|
||||
public int numberOfRecommendedCourses;
|
||||
public string[] recommendedCourseTitle;
|
||||
public float[] recommendedCourseProgress;
|
||||
public Sprite[] recommendedCourseThumbnail;
|
||||
public string[] recommendedCourseScene;
|
||||
[Header("User")]
|
||||
// Reference to the users so we can get the current user;
|
||||
public UserList userList;
|
||||
// Reference to the courses
|
||||
public CourseList courseList;
|
||||
|
||||
void Start()
|
||||
{
|
||||
// Recent courses
|
||||
noRecentCourses.SetActive(numberOfRecentCourses <= 0);
|
||||
User user = userList.GetCurrentUser();
|
||||
|
||||
for (int i = 0; i < numberOfRecentCourses; i++)
|
||||
// Recent courses
|
||||
List<Tuple<CourseIndex, float>> recentCourses = user.GetRecentCourses();
|
||||
noRecentCourses.SetActive(recentCourses.Count <= 0);
|
||||
foreach (Tuple<CourseIndex, float> course in recentCourses)
|
||||
{
|
||||
// Create instance of prefab
|
||||
GameObject instance = GameObject.Instantiate(course_item, recentCourses);
|
||||
GameObject instance = GameObject.Instantiate(courseItem, recentCoursesContainer);
|
||||
|
||||
// Dynamically load appearance
|
||||
CourseItem item = instance.GetComponent<CourseItem>();
|
||||
item.courseTitle = recentCourseTitle[i];
|
||||
item.courseThumbnail = recentCourseThumbnail[i];
|
||||
item.courseProgress = recentCourseProgress[i];
|
||||
item.courseScene = recentCourseScene[i];
|
||||
item.course = courseList.courses.Find((j) => j.index == course.Item1);
|
||||
item.progress = course.Item2;
|
||||
}
|
||||
|
||||
// Recommended courses
|
||||
for (int i = 0; i < numberOfRecommendedCourses; i++)
|
||||
List<Tuple<CourseIndex, float>> recommenedCourses = user.GetRecommendedCourses();
|
||||
foreach (Tuple<CourseIndex, float> course in recommenedCourses)
|
||||
{
|
||||
// Create instance of prefab
|
||||
GameObject instance = GameObject.Instantiate(course_item, recommendedCourses);
|
||||
GameObject instance = GameObject.Instantiate(courseItem, recommendedCoursesContainer);
|
||||
|
||||
// Dynamically load appearance
|
||||
CourseItem item = instance.GetComponent<CourseItem>();
|
||||
item.courseTitle = recommendedCourseTitle[i];
|
||||
item.courseThumbnail = recommendedCourseThumbnail[i];
|
||||
item.courseProgress = 0.0f; // So progress bar doesn't show
|
||||
item.courseScene = recommendedCourseScene[i];
|
||||
item.course = courseList.courses.Find((j) => j.index == course.Item1);
|
||||
item.progress = course.Item2;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,46 +0,0 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using UnityEngine.SceneManagement;
|
||||
|
||||
public class ListScreenManager : MonoBehaviour
|
||||
{
|
||||
[Header("List Screen Components")]
|
||||
// Reference to item-list holder object
|
||||
public Transform itemContainer;
|
||||
|
||||
[Header("Prefabs")]
|
||||
// Prefab of item
|
||||
public GameObject itemPrefab;
|
||||
|
||||
// TODO: change to ScriptableObject;
|
||||
[Header("ScriptableObjects")]
|
||||
public int numberOfItems;
|
||||
public string[] itemTitle;
|
||||
public float[] itemProgress;
|
||||
public Sprite[] itemThumbnail;
|
||||
public string[] itemScene;
|
||||
|
||||
void Start()
|
||||
{
|
||||
for (int i = 0; i < numberOfItems; i++)
|
||||
{
|
||||
// Create instance of prefab
|
||||
GameObject instance = GameObject.Instantiate(itemPrefab, itemContainer);
|
||||
|
||||
// Dynamically load appearance
|
||||
CourseItem item = instance.GetComponent<CourseItem>();
|
||||
item.courseTitle = itemTitle[i];
|
||||
item.courseThumbnail = itemThumbnail[i];
|
||||
item.courseProgress = itemProgress[i];
|
||||
item.courseScene = itemScene[i];
|
||||
}
|
||||
}
|
||||
|
||||
// Method used as callback for on click events
|
||||
public void LoadScene(string sceneName)
|
||||
{
|
||||
SceneManager.LoadScene(sceneName);
|
||||
}
|
||||
}
|
||||
19
Assets/Common/Scripts/Minigame.cs
Normal file
19
Assets/Common/Scripts/Minigame.cs
Normal file
@@ -0,0 +1,19 @@
|
||||
using UnityEngine;
|
||||
|
||||
[CreateAssetMenu(menuName = "Create new Scriptable/Minigame")]
|
||||
public class Minigame : ScriptableObject
|
||||
{
|
||||
[Header("Minigame info")]
|
||||
// Minigame index
|
||||
public MinigameIndex index;
|
||||
// Minigame title
|
||||
public string title;
|
||||
// Short desciption of the course
|
||||
public string description;
|
||||
// Thumbnail of the course
|
||||
public Sprite thumbnail;
|
||||
|
||||
[Header("Scene")]
|
||||
// Reference to the minigame starting scene
|
||||
public string minigameEntryPoint;
|
||||
}
|
||||
11
Assets/Common/Scripts/Minigame.cs.meta
Normal file
11
Assets/Common/Scripts/Minigame.cs.meta
Normal file
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d7809d135a59849458ccb29ffad535c5
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
8
Assets/Common/Scripts/MinigameIndex.cs
Normal file
8
Assets/Common/Scripts/MinigameIndex.cs
Normal file
@@ -0,0 +1,8 @@
|
||||
|
||||
// TODO: add other courses
|
||||
public enum MinigameIndex
|
||||
{
|
||||
SPELLING_BEE,
|
||||
HANGMAN,
|
||||
JUST_SIGN
|
||||
}
|
||||
11
Assets/Common/Scripts/MinigameIndex.cs.meta
Normal file
11
Assets/Common/Scripts/MinigameIndex.cs.meta
Normal file
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 44a1fb926248fe240bed2d5c3820630b
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
36
Assets/Common/Scripts/MinigameItem.cs
Normal file
36
Assets/Common/Scripts/MinigameItem.cs
Normal file
@@ -0,0 +1,36 @@
|
||||
using TMPro;
|
||||
using UnityEngine;
|
||||
using UnityEngine.SceneManagement;
|
||||
using UnityEngine.UI;
|
||||
|
||||
public class MinigameItem : MonoBehaviour
|
||||
{
|
||||
// TODO: change to ScriptableObject Minigame;
|
||||
[Header("ScriptableObject Course")]
|
||||
public Minigame minigame;
|
||||
|
||||
[Header("UI references")]
|
||||
// Reference to thumbnail object
|
||||
public Image thumbnail;
|
||||
// Reference to title object
|
||||
public TMP_Text title;
|
||||
// Refetence to object so correct callback can be trigger on click
|
||||
public Button button;
|
||||
|
||||
|
||||
void Start()
|
||||
{
|
||||
// Use public function so that this component can get Instantiated
|
||||
GenerateContent();
|
||||
}
|
||||
|
||||
public void GenerateContent()
|
||||
{
|
||||
// Set appearance
|
||||
thumbnail.sprite = minigame.thumbnail;
|
||||
title.text = minigame.title;
|
||||
|
||||
// Add click functionality
|
||||
button.onClick.AddListener(() => SceneManager.LoadScene(minigame.minigameEntryPoint));
|
||||
}
|
||||
}
|
||||
11
Assets/Common/Scripts/MinigameItem.cs.meta
Normal file
11
Assets/Common/Scripts/MinigameItem.cs.meta
Normal file
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 0f9d201a28e32264993cc2b8f8055b33
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
14
Assets/Common/Scripts/MinigameList.cs
Normal file
14
Assets/Common/Scripts/MinigameList.cs
Normal file
@@ -0,0 +1,14 @@
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
[CreateAssetMenu(menuName = "Create new Scriptable/MinigameList")]
|
||||
public class MinigameList : ScriptableObject
|
||||
{
|
||||
[Header("Current Minigame")]
|
||||
// Index of the current course
|
||||
public int currentMinigameIndex = 0;
|
||||
|
||||
[Header("Minigames")]
|
||||
// List of minigames
|
||||
public List<Minigame> minigames = new List<Minigame>();
|
||||
}
|
||||
11
Assets/Common/Scripts/MinigameList.cs.meta
Normal file
11
Assets/Common/Scripts/MinigameList.cs.meta
Normal file
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3976e4310b716de4eb24f1916c10ff3d
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
36
Assets/Common/Scripts/MinigameListManager.cs
Normal file
36
Assets/Common/Scripts/MinigameListManager.cs
Normal file
@@ -0,0 +1,36 @@
|
||||
using UnityEngine;
|
||||
using UnityEngine.SceneManagement;
|
||||
|
||||
public class MinigameListManager : MonoBehaviour
|
||||
{
|
||||
[Header("Minigame list UI components")]
|
||||
// Reference to minigame-list holder object
|
||||
public Transform minigameContainer;
|
||||
|
||||
[Header("Prefabs")]
|
||||
// Prefab of item
|
||||
public GameObject minigameItemPrefab;
|
||||
|
||||
[Header("Minigames")]
|
||||
// Reference to the list of all minigames
|
||||
public MinigameList minigameList;
|
||||
|
||||
void Start()
|
||||
{
|
||||
foreach (Minigame minigame in minigameList.minigames)
|
||||
{
|
||||
// Create instance of prefab
|
||||
GameObject instance = GameObject.Instantiate(minigameItemPrefab, minigameContainer);
|
||||
|
||||
// Dynamically load appearance
|
||||
MinigameItem item = instance.GetComponent<MinigameItem>();
|
||||
item.minigame = minigame;
|
||||
}
|
||||
}
|
||||
|
||||
// Method used as callback for on click events
|
||||
public void LoadScene(string sceneName)
|
||||
{
|
||||
SceneManager.LoadScene(sceneName);
|
||||
}
|
||||
}
|
||||
11
Assets/Common/Scripts/MinigameListManager.cs.meta
Normal file
11
Assets/Common/Scripts/MinigameListManager.cs.meta
Normal file
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2dd453d411c3b3e458a7b133764c6b64
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
19
Assets/Common/Scripts/StartScreenManager.cs
Normal file
19
Assets/Common/Scripts/StartScreenManager.cs
Normal file
@@ -0,0 +1,19 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using UnityEngine;
|
||||
using UnityEngine.SceneManagement;
|
||||
|
||||
public class StartScreenManager : MonoBehaviour
|
||||
{
|
||||
|
||||
public UserList userList;
|
||||
|
||||
void Awake()
|
||||
{
|
||||
if (!File.Exists(UserList.PATH) || userList.GetUsers().Count <= 0)
|
||||
{
|
||||
SceneManager.LoadScene("Accounts/Scenes/UserCreationScreen");
|
||||
}
|
||||
}
|
||||
}
|
||||
11
Assets/Common/Scripts/StartScreenManager.cs.meta
Normal file
11
Assets/Common/Scripts/StartScreenManager.cs.meta
Normal file
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e7cdd358c46e3f94398d91b7118e6d39
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
23
Assets/Common/Scripts/UserButton.cs
Normal file
23
Assets/Common/Scripts/UserButton.cs
Normal file
@@ -0,0 +1,23 @@
|
||||
using TMPro;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
public class UserButton : MonoBehaviour
|
||||
{
|
||||
[Header("User")]
|
||||
// Reference to the user list, so we can extract the current user
|
||||
public UserList userList;
|
||||
|
||||
[Header("UI References")]
|
||||
// Reference to the avatar object
|
||||
public Image avatar;
|
||||
// Reference to the username object
|
||||
public TMP_Text username;
|
||||
|
||||
void Start()
|
||||
{
|
||||
User user = userList.GetCurrentUser();
|
||||
avatar.sprite = user.avatar;
|
||||
username.text = user.username;
|
||||
}
|
||||
}
|
||||
11
Assets/Common/Scripts/UserButton.cs.meta
Normal file
11
Assets/Common/Scripts/UserButton.cs.meta
Normal file
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7b8b159dda1a6104793946dc46f84f3a
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
8
Assets/Common/Tests.meta
Normal file
8
Assets/Common/Tests.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 9eb837b38adfbfb4f8f440b677afc7ee
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/Courses/Images/Course1_A.png
Normal file
BIN
Assets/Courses/Images/Course1_A.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 4.0 KiB |
135
Assets/Courses/Images/Course1_A.png.meta
Normal file
135
Assets/Courses/Images/Course1_A.png.meta
Normal file
@@ -0,0 +1,135 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7ff2526af24167b4083dab0d9fd486ea
|
||||
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: 0, y: 0, z: 0, w: 0}
|
||||
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: WebGL
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
nameFileIdTable: {}
|
||||
spritePackingTag:
|
||||
pSDRemoveMatte: 0
|
||||
pSDShowRemoveMatteOption: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/Courses/Images/Course1_B.png
Normal file
BIN
Assets/Courses/Images/Course1_B.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 4.1 KiB |
135
Assets/Courses/Images/Course1_B.png.meta
Normal file
135
Assets/Courses/Images/Course1_B.png.meta
Normal file
@@ -0,0 +1,135 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d3257ee00bfdbda47a799c8f06c6d77f
|
||||
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: 0, y: 0, z: 0, w: 0}
|
||||
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: WebGL
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
nameFileIdTable: {}
|
||||
spritePackingTag:
|
||||
pSDRemoveMatte: 0
|
||||
pSDShowRemoveMatteOption: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/Courses/Images/Course1_C.png
Normal file
BIN
Assets/Courses/Images/Course1_C.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 4.2 KiB |
135
Assets/Courses/Images/Course1_C.png.meta
Normal file
135
Assets/Courses/Images/Course1_C.png.meta
Normal file
@@ -0,0 +1,135 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e47a565fbc3fc844d88b91d005ecad13
|
||||
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: 0, y: 0, z: 0, w: 0}
|
||||
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: WebGL
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
nameFileIdTable: {}
|
||||
spritePackingTag:
|
||||
pSDRemoveMatte: 0
|
||||
pSDShowRemoveMatteOption: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/Courses/Images/Course1_D.png
Normal file
BIN
Assets/Courses/Images/Course1_D.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 4.1 KiB |
135
Assets/Courses/Images/Course1_D.png.meta
Normal file
135
Assets/Courses/Images/Course1_D.png.meta
Normal file
@@ -0,0 +1,135 @@
|
||||
fileFormatVersion: 2
|
||||
guid: baa045d4a29c90042a39d942e961d75e
|
||||
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: 0, y: 0, z: 0, w: 0}
|
||||
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: WebGL
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
nameFileIdTable: {}
|
||||
spritePackingTag:
|
||||
pSDRemoveMatte: 0
|
||||
pSDShowRemoveMatteOption: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/Courses/Images/Course1_E.png
Normal file
BIN
Assets/Courses/Images/Course1_E.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.5 KiB |
135
Assets/Courses/Images/Course1_E.png.meta
Normal file
135
Assets/Courses/Images/Course1_E.png.meta
Normal file
@@ -0,0 +1,135 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b4fae62de1dbf1541911ec439204c7b0
|
||||
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: 0, y: 0, z: 0, w: 0}
|
||||
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: WebGL
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
nameFileIdTable: {}
|
||||
spritePackingTag:
|
||||
pSDRemoveMatte: 0
|
||||
pSDShowRemoveMatteOption: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -155,8 +155,9 @@ MonoBehaviour:
|
||||
player: {fileID: 993952931}
|
||||
button: {fileID: 1159630774}
|
||||
pauseSprite: {fileID: 21300000, guid: 43db869a07cf51f45a411b6e4a417743, type: 3}
|
||||
word_image: {fileID: 2145235737}
|
||||
wordImage: {fileID: 2145235737}
|
||||
title: {fileID: 388014849}
|
||||
userList: {fileID: 11400000, guid: 072bec636a40f7e4e93b0ac624a3bda2, type: 2}
|
||||
courselist: {fileID: 11400000, guid: a7ab583094b7897468bbca9243717608, type: 2}
|
||||
--- !u!4 &118887550
|
||||
Transform:
|
||||
@@ -166,7 +167,7 @@ Transform:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 118887548}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 1009.74774, y: 545.9465, z: -3.3333964}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
@@ -359,8 +360,8 @@ RectTransform:
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
m_AnchoredPosition: {x: 499.51, y: 75.41319}
|
||||
m_SizeDelta: {x: 628.8, y: 656.5303}
|
||||
m_AnchoredPosition: {x: 479.99994, y: 117.00006}
|
||||
m_SizeDelta: {x: 960, y: 540}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &378145456
|
||||
MonoBehaviour:
|
||||
@@ -1067,7 +1068,7 @@ VideoPlayer:
|
||||
m_EnabledAudioTracks: 01
|
||||
m_DirectAudioMutes: 00
|
||||
m_ControlledAudioTrackCount: 1
|
||||
m_PlayOnAwake: 0
|
||||
m_PlayOnAwake: 1
|
||||
m_SkipOnDrop: 1
|
||||
m_Looping: 1
|
||||
m_WaitForFirstFrame: 0
|
||||
@@ -1081,7 +1082,7 @@ Transform:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 993952930}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 341.03647, y: 173.12453, z: -3.6324117}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
@@ -1529,8 +1530,8 @@ RectTransform:
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
m_AnchoredPosition: {x: -711, y: -273}
|
||||
m_SizeDelta: {x: -1526.6854, y: -890.9896}
|
||||
m_AnchoredPosition: {x: -480, y: -347.2475}
|
||||
m_SizeDelta: {x: -960, y: -694.495}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &1374011071
|
||||
MonoBehaviour:
|
||||
@@ -1748,7 +1749,7 @@ Transform:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1485779444}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 1018.7385, y: 488.39554, z: 0.26466587}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
@@ -1791,8 +1792,8 @@ RectTransform:
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
m_AnchoredPosition: {x: -183.44, y: 201.84}
|
||||
m_SizeDelta: {x: 605.04, y: 403.68}
|
||||
m_AnchoredPosition: {x: -483.02, y: 117.00003}
|
||||
m_SizeDelta: {x: 960, y: 540}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &1493108464
|
||||
MonoBehaviour:
|
||||
@@ -2510,8 +2511,8 @@ RectTransform:
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
m_AnchoredPosition: {x: -183.44, y: -214.75}
|
||||
m_SizeDelta: {x: 605.04, y: 328.74}
|
||||
m_AnchoredPosition: {x: -480, y: -346.49997}
|
||||
m_SizeDelta: {x: 960, y: 387}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &2145235737
|
||||
MonoBehaviour:
|
||||
@@ -2533,9 +2534,9 @@ MonoBehaviour:
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_Sprite: {fileID: 21300000, guid: 30a9e696d55191746a1dc569bff763c4, type: 3}
|
||||
m_Sprite: {fileID: 21300000, guid: 7ff2526af24167b4083dab0d9fd486ea, type: 3}
|
||||
m_Type: 0
|
||||
m_PreserveAspect: 0
|
||||
m_PreserveAspect: 1
|
||||
m_FillCenter: 1
|
||||
m_FillMethod: 4
|
||||
m_FillAmount: 1
|
||||
|
||||
@@ -13,4 +13,4 @@ MonoBehaviour:
|
||||
m_Name: CourseList
|
||||
m_EditorClassIdentifier:
|
||||
courses:
|
||||
- {fileID: 11400000, guid: c1c54aeff4d069a41b2799b2dd26498f, type: 2}
|
||||
- {fileID: 11400000, guid: 300921292bfd5564b8ce70b834c3f334, type: 2}
|
||||
|
||||
@@ -1,28 +0,0 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: f6b23e64e6ffb12459ed4f37d7305852, type: 3}
|
||||
m_Name: Course_0
|
||||
m_EditorClassIdentifier:
|
||||
title: Course_0
|
||||
description: This is a dummy course used for testing.
|
||||
thumbnail: {fileID: 21300000, guid: ac9b0ab2b71d2f14593726feaffa6b6e, type: 3}
|
||||
progress: 0
|
||||
images:
|
||||
- {fileID: 21300000, guid: 9da6e6e67d226734aa34575722c59389, type: 3}
|
||||
- {fileID: 21300000, guid: 6a1a8ea5d7cae95449c449abcfa51640, type: 3}
|
||||
- {fileID: 21300000, guid: 2defbdfec73217847bb2a9c687668006, type: 3}
|
||||
- {fileID: 21300000, guid: 8a664ceb4c0d45a40aa7545537b03798, type: 3}
|
||||
videos:
|
||||
- {fileID: 32900000, guid: bf0807dbf3931c846951ab6ce07286f7, type: 3}
|
||||
- {fileID: 32900000, guid: 2a387512265e5e747bd69194d90a9c76, type: 3}
|
||||
- {fileID: 32900000, guid: c64e80628c275574aa425e17639b1c19, type: 3}
|
||||
- {fileID: 32900000, guid: e201d74a82223164684a7771abbbcfe0, type: 3}
|
||||
34
Assets/Courses/ScriptableObjects/Fingerspelling.asset
Normal file
34
Assets/Courses/ScriptableObjects/Fingerspelling.asset
Normal file
@@ -0,0 +1,34 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: f6b23e64e6ffb12459ed4f37d7305852, type: 3}
|
||||
m_Name: Fingerspelling
|
||||
m_EditorClassIdentifier:
|
||||
index: 0
|
||||
title: Fingerspelling
|
||||
description: Learn the basics of fingerspelling
|
||||
thumbnail: {fileID: 21300000, guid: f2344cd67769733ceb363a41e1d88a65, type: 3}
|
||||
learnables:
|
||||
- name: A
|
||||
image: {fileID: 21300000, guid: 7ff2526af24167b4083dab0d9fd486ea, type: 3}
|
||||
clip: {fileID: 32900000, guid: b68a9e85e3d7ef54090a3b2b55805512, type: 3}
|
||||
- name: B
|
||||
image: {fileID: 21300000, guid: d3257ee00bfdbda47a799c8f06c6d77f, type: 3}
|
||||
clip: {fileID: 32900000, guid: b5e4209dcd808d24f9d604fd18da5fc6, type: 3}
|
||||
- name: C
|
||||
image: {fileID: 21300000, guid: e47a565fbc3fc844d88b91d005ecad13, type: 3}
|
||||
clip: {fileID: 32900000, guid: bcbdb21be858c5b408e43a68e04776f7, type: 3}
|
||||
- name: D
|
||||
image: {fileID: 21300000, guid: baa045d4a29c90042a39d942e961d75e, type: 3}
|
||||
clip: {fileID: 32900000, guid: ae312dbb761984948859db24e60ee518, type: 3}
|
||||
- name: E
|
||||
image: {fileID: 21300000, guid: b4fae62de1dbf1541911ec439204c7b0, type: 3}
|
||||
clip: {fileID: 32900000, guid: 2bc7a026c60d06d498be3cf9e9c89639, type: 3}
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 300921292bfd5564b8ce70b834c3f334
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,16 +1,34 @@
|
||||
using System.Collections;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using UnityEngine.Video;
|
||||
|
||||
[CreateAssetMenu(fileName="New Course", menuName="course")]
|
||||
[CreateAssetMenu(menuName = "Create new Scriptable/Course")]
|
||||
public class Course : ScriptableObject
|
||||
{
|
||||
public string title;
|
||||
public string description;
|
||||
public Sprite thumbnail;
|
||||
public int progress;
|
||||
[Serializable]
|
||||
// Small class to hold information about a single learnable (e.g., a word or a letter)
|
||||
public class Learnable
|
||||
{
|
||||
// Name of the word/letter to learn
|
||||
public string name;
|
||||
// Sprite of this word/letter
|
||||
public Sprite image;
|
||||
// Example video clip
|
||||
public VideoClip clip;
|
||||
}
|
||||
|
||||
public Sprite[] images;
|
||||
public VideoClip[] videos;
|
||||
[Header("Course info")]
|
||||
// Course index
|
||||
public CourseIndex index;
|
||||
// Course title
|
||||
public string title;
|
||||
// Short desciption of the course
|
||||
public string description;
|
||||
// Thumbnail of the course
|
||||
public Sprite thumbnail;
|
||||
|
||||
[Header("Learnable words")]
|
||||
// List of learnable words/letters
|
||||
public List<Learnable> learnables = new List<Learnable>();
|
||||
}
|
||||
|
||||
@@ -1,9 +1,6 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
public static class CourseIndex
|
||||
// TODO: add other courses
|
||||
public enum CourseIndex
|
||||
{
|
||||
// Start is called before the first frame update
|
||||
public static int index = 0;
|
||||
FINGERSPELLING
|
||||
}
|
||||
|
||||
@@ -1,9 +1,14 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
[CreateAssetMenu(fileName="New CourseList", menuName="CourseList")]
|
||||
[CreateAssetMenu(menuName = "Create new Scriptable/CourseList")]
|
||||
public class CourseList : ScriptableObject
|
||||
{
|
||||
public Course[] courses;
|
||||
[Header("Current Course")]
|
||||
// Index of the current course
|
||||
public int currentCourseIndex = 0;
|
||||
|
||||
[Header("Courses")]
|
||||
// List of courses
|
||||
public List<Course> courses = new List<Course>();
|
||||
}
|
||||
|
||||
@@ -1,55 +1,85 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using UnityEngine.Video; // To alter video
|
||||
using UnityEngine.UI; // For general image + button jobs
|
||||
using TMPro; // For text
|
||||
|
||||
using UnityEngine.Video;
|
||||
using UnityEngine.UI;
|
||||
using TMPro;
|
||||
|
||||
public class StartPause : MonoBehaviour
|
||||
{
|
||||
|
||||
[Header("UI References")]
|
||||
// Reference to instructional video player
|
||||
public VideoPlayer player;
|
||||
// Reference to pause button
|
||||
public Button button;
|
||||
// Reference to sprite for the pause button
|
||||
public Sprite pauseSprite;
|
||||
public Image word_image;
|
||||
// Reference to the image for displaying the current words sprite
|
||||
public Image wordImage;
|
||||
// Reference to the text object for displaying the current word
|
||||
public TextMeshProUGUI title;
|
||||
|
||||
[Header("User")]
|
||||
// Reference to user list to get current user
|
||||
public UserList userList;
|
||||
// The current user
|
||||
private User user;
|
||||
// Current user progress for this course
|
||||
private Progress progress = null;
|
||||
|
||||
[Header("Course")]
|
||||
// ScriptableObject with list of all courses
|
||||
public CourseList courselist;
|
||||
// Reference to Course ScriptableObject
|
||||
private Course course;
|
||||
|
||||
private int word_i = 0;
|
||||
// In my example, i have 4 videos/images
|
||||
private int max_words = 4;
|
||||
// Index of the current word/letter in the course.learnables list
|
||||
private int currentWordIndex = 0;
|
||||
// This holds the amount of words in the course
|
||||
private int maxWords;
|
||||
// Number of correct words so far
|
||||
// (can be modified to a list or something like that to give better feedback)
|
||||
private int correctWords = 0;
|
||||
|
||||
// Start is called before the first frame update
|
||||
public void Awake()
|
||||
{
|
||||
course = courselist.courses[CourseIndex.index];
|
||||
// Setting up course
|
||||
course = courselist.courses[courselist.currentCourseIndex];
|
||||
maxWords = course.learnables.Count;
|
||||
// Create entry in current user for keeping track of progress
|
||||
user = userList.GetCurrentUser();
|
||||
progress = user.courses.Find((p) => p != null && p.Get<CourseIndex>("courseIndex") == course.index);
|
||||
if (progress == null)
|
||||
{
|
||||
progress = new Progress();
|
||||
progress.AddOrUpdate<CourseIndex>("courseIndex", CourseIndex.FINGERSPELLING);
|
||||
progress.AddOrUpdate<float>("courseProgress", -1.0f);
|
||||
user.courses.Add(progress);
|
||||
}
|
||||
userList.Save();
|
||||
|
||||
// Setup UI
|
||||
button.image.sprite = pauseSprite;
|
||||
title.text = course.name;
|
||||
|
||||
next_video();
|
||||
next_image();
|
||||
NextVideo();
|
||||
NextImage();
|
||||
}
|
||||
|
||||
// These two functions generate video and image from files
|
||||
private void next_video(){
|
||||
player.clip = course.videos[word_i];
|
||||
private void NextVideo()
|
||||
{
|
||||
player.clip = course.learnables[currentWordIndex].clip;
|
||||
// This loads first frame, so that it can be used as a sort-of preview for the video
|
||||
player.Play();
|
||||
player.Pause();
|
||||
// As the video will start paused -> show button
|
||||
// As the video will start playiing -> hide button
|
||||
Color col = button.image.color;
|
||||
col.a = 255;
|
||||
col.a = 0;
|
||||
button.image.color = col;
|
||||
}
|
||||
|
||||
// This doesn't work
|
||||
private void next_image(){
|
||||
|
||||
Sprite tex = course.images[word_i];
|
||||
word_image.sprite = tex;
|
||||
|
||||
private void NextImage()
|
||||
{
|
||||
wordImage.sprite = course.learnables[currentWordIndex].image;
|
||||
}
|
||||
|
||||
// Activate by pressing the center of the screen
|
||||
@@ -74,10 +104,33 @@ public class StartPause : MonoBehaviour
|
||||
}
|
||||
|
||||
// Press next-sign button for next word
|
||||
public void NextSign(){
|
||||
word_i++;
|
||||
word_i %= max_words;
|
||||
next_video();
|
||||
next_image();
|
||||
public void NextSign()
|
||||
{
|
||||
// Goto the next word/letter
|
||||
currentWordIndex++;
|
||||
|
||||
// TODO: fix correct word count
|
||||
correctWords++;
|
||||
progress.AddOrUpdate<float>("courseProgress", (float)correctWords / (float)maxWords);
|
||||
userList.Save();
|
||||
|
||||
// Update UI if course is not finished yet
|
||||
if (currentWordIndex < maxWords)
|
||||
{
|
||||
NextVideo();
|
||||
NextImage();
|
||||
}
|
||||
// Finish course and record progress
|
||||
else
|
||||
{
|
||||
FinishCourse();
|
||||
}
|
||||
}
|
||||
|
||||
public void FinishCourse()
|
||||
{
|
||||
// TODO: update progress (maybe this can also be at the `NextSign()`-method)
|
||||
progress.AddOrUpdate<float>("courseProgress", correctWords / maxWords);
|
||||
userList.Save();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
using UnityEngine.SceneManagement;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2a387512265e5e747bd69194d90a9c76
|
||||
guid: 219638b5c33528443a0a1bc0946ed68e
|
||||
VideoClipImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
@@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c64e80628c275574aa425e17639b1c19
|
||||
guid: 01bb71617b10fe4429a03f2127286a90
|
||||
VideoClipImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
@@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e201d74a82223164684a7771abbbcfe0
|
||||
guid: 5fc69105a51e8dc498ec01e5068b4d3d
|
||||
VideoClipImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
@@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: bf0807dbf3931c846951ab6ce07286f7
|
||||
guid: 126ae1ab33f626b49bbafe6595619a5f
|
||||
VideoClipImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
BIN
Assets/Courses/Videos/Course1_A.mp4
Normal file
BIN
Assets/Courses/Videos/Course1_A.mp4
Normal file
Binary file not shown.
18
Assets/Courses/Videos/Course1_A.mp4.meta
Normal file
18
Assets/Courses/Videos/Course1_A.mp4.meta
Normal file
@@ -0,0 +1,18 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b68a9e85e3d7ef54090a3b2b55805512
|
||||
VideoClipImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
frameRange: 0
|
||||
startFrame: -1
|
||||
endFrame: -1
|
||||
colorSpace: 0
|
||||
deinterlace: 0
|
||||
encodeAlpha: 0
|
||||
flipVertical: 0
|
||||
flipHorizontal: 0
|
||||
importAudio: 1
|
||||
targetSettings: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/Courses/Videos/Course1_B.mp4
Normal file
BIN
Assets/Courses/Videos/Course1_B.mp4
Normal file
Binary file not shown.
18
Assets/Courses/Videos/Course1_B.mp4.meta
Normal file
18
Assets/Courses/Videos/Course1_B.mp4.meta
Normal file
@@ -0,0 +1,18 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b5e4209dcd808d24f9d604fd18da5fc6
|
||||
VideoClipImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
frameRange: 0
|
||||
startFrame: -1
|
||||
endFrame: -1
|
||||
colorSpace: 0
|
||||
deinterlace: 0
|
||||
encodeAlpha: 0
|
||||
flipVertical: 0
|
||||
flipHorizontal: 0
|
||||
importAudio: 1
|
||||
targetSettings: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/Courses/Videos/Course1_C.mp4
Normal file
BIN
Assets/Courses/Videos/Course1_C.mp4
Normal file
Binary file not shown.
18
Assets/Courses/Videos/Course1_C.mp4.meta
Normal file
18
Assets/Courses/Videos/Course1_C.mp4.meta
Normal file
@@ -0,0 +1,18 @@
|
||||
fileFormatVersion: 2
|
||||
guid: bcbdb21be858c5b408e43a68e04776f7
|
||||
VideoClipImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
frameRange: 0
|
||||
startFrame: -1
|
||||
endFrame: -1
|
||||
colorSpace: 0
|
||||
deinterlace: 0
|
||||
encodeAlpha: 0
|
||||
flipVertical: 0
|
||||
flipHorizontal: 0
|
||||
importAudio: 1
|
||||
targetSettings: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/Courses/Videos/Course1_D.mp4
Normal file
BIN
Assets/Courses/Videos/Course1_D.mp4
Normal file
Binary file not shown.
18
Assets/Courses/Videos/Course1_D.mp4.meta
Normal file
18
Assets/Courses/Videos/Course1_D.mp4.meta
Normal file
@@ -0,0 +1,18 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ae312dbb761984948859db24e60ee518
|
||||
VideoClipImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
frameRange: 0
|
||||
startFrame: -1
|
||||
endFrame: -1
|
||||
colorSpace: 0
|
||||
deinterlace: 0
|
||||
encodeAlpha: 0
|
||||
flipVertical: 0
|
||||
flipHorizontal: 0
|
||||
importAudio: 1
|
||||
targetSettings: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/Courses/Videos/Course1_E.mp4
Normal file
BIN
Assets/Courses/Videos/Course1_E.mp4
Normal file
Binary file not shown.
18
Assets/Courses/Videos/Course1_E.mp4.meta
Normal file
18
Assets/Courses/Videos/Course1_E.mp4.meta
Normal file
@@ -0,0 +1,18 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2bc7a026c60d06d498be3cf9e9c89639
|
||||
VideoClipImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
frameRange: 0
|
||||
startFrame: -1
|
||||
endFrame: -1
|
||||
colorSpace: 0
|
||||
deinterlace: 0
|
||||
encodeAlpha: 0
|
||||
flipVertical: 0
|
||||
flipHorizontal: 0
|
||||
importAudio: 1
|
||||
targetSettings: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
8
Assets/EditModeTests.meta
Normal file
8
Assets/EditModeTests.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6d14129d5a7c94a6f9dd981688d05475
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
15
Assets/EditModeTests/BasicTest.cs
Normal file
15
Assets/EditModeTests/BasicTest.cs
Normal file
@@ -0,0 +1,15 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using NUnit.Framework;
|
||||
using UnityEngine;
|
||||
using UnityEngine.TestTools;
|
||||
|
||||
public class BasicTest
|
||||
{
|
||||
// check if edit mode tests works
|
||||
[Test]
|
||||
public void AlwaysTrueTest()
|
||||
{
|
||||
Assert.True(true);
|
||||
}
|
||||
}
|
||||
11
Assets/EditModeTests/BasicTest.cs.meta
Normal file
11
Assets/EditModeTests/BasicTest.cs.meta
Normal file
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 74f8b297e568e071198f12d32c3f32c0
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
9
Assets/EditModeTests/EditModeTests.asmdef
Normal file
9
Assets/EditModeTests/EditModeTests.asmdef
Normal file
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"name": "EditModeTests",
|
||||
"optionalUnityReferences": [
|
||||
"TestAssemblies"
|
||||
],
|
||||
"includePlatforms": [
|
||||
"Editor"
|
||||
]
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user