141 Commits

Author SHA1 Message Date
dvschuyl
2e82772be8 Fix wrong entry point 2023-05-18 16:20:23 +02:00
dvschuyl
3f9339c521 Add new minigame 2023-05-18 15:07:32 +02:00
dvschuyl
1a20212b2a Updated logo 2023-05-18 11:05:00 +02:00
dvschuyl
b9bdcac6c4 Add scaleable courses and minigames list 2023-05-18 10:35:19 +02:00
Jerome Coudron
a0dd0ae39f Merge branch 'WES-XX-SignPredictorDoc-Little-UI' into 'development'
Wes xx sign predictor doc little ui

See merge request wesign/unity-application!108
2023-05-17 17:36:33 +00:00
Dries Van Schuylenbergh
f63b49ebc7 Wes xx sign predictor doc little ui 2023-05-17 17:36:27 +00:00
Dries Van Schuylenbergh
3dded6c3e6 Merge branch 'WES-167-theme-descriptions' into 'development'
Theme descriptions added

See merge request wesign/unity-application!109
2023-05-17 15:52:10 +00:00
hvbreuge
10649e9b85 Theme descriptions added 2023-05-16 21:58:28 +02:00
Jerome Coudron
349ca1cb44 Merge branch 'WES-XX-SignPredictorDoc-Little-UI' into 'development'
Annotations + Removal of unneeded lines

See merge request wesign/unity-application!107
2023-05-16 11:09:45 +00:00
Jelle De Geest
785e56b883 Annotations + Removal of unneeded lines 2023-05-16 11:09:41 +00:00
Louis Adriaens
8c69ec3cc6 Merge branch 'WES-181-missing-code-doc' into 'development'
Resolve WES-181 "Missing code doc"

See merge request wesign/unity-application!95
2023-05-14 20:18:31 +00:00
Dries Van Schuylenbergh
3d99184717 Resolve WES-181 "Missing code doc" 2023-05-14 20:18:29 +00:00
Jerome Coudron
7505ae7262 Merge branch 'WES-XX-GPU-Test' into 'development'
Wes xx gpu test

See merge request wesign/unity-application!106
2023-05-14 19:41:40 +00:00
Jelle De Geest
1f5b855f61 Wes xx gpu test 2023-05-14 19:41:37 +00:00
Jelle De Geest
384c7a249d Merge branch 'WES-XX-Fix-JustSignGameEndedPanel' into 'development'
Resolve: FIxGameEndedPanel for JustSign

See merge request wesign/unity-application!105
2023-05-14 19:06:35 +00:00
Jerome Coudron
bdf3c05102 Resolve: FIxGameEndedPanel for JustSign 2023-05-14 19:06:34 +00:00
Louis Adriaens
584dc0d97d Merge branch 'WES-189-themes-pictures-wording' into 'development'
Resolve WES-189 "Themes pictures wording"

See merge request wesign/unity-application!103
2023-05-14 17:26:24 +00:00
Helena Van Breugel
084724c175 Resolve WES-189 "Themes pictures wording" 2023-05-14 17:26:22 +00:00
Dries Van Schuylenbergh
1cceb3cb89 Merge branch 'WES-160-fix-unity-editor-crashing' into 'development'
transcoded all video files

See merge request wesign/unity-application!102
2023-05-14 13:18:47 +00:00
Louis Adriaens
f99a73f230 transcoded all video files 2023-05-14 13:18:45 +00:00
Dries Van Schuylenbergh
e0c948292d Merge branch 'WES-XX-PreviewFix' into 'development'
Fixed preview and clothes bug

See merge request wesign/unity-application!100
2023-05-14 12:37:37 +00:00
Jerome Coudron
7df6ea1ecd Fixed preview and clothes bug 2023-05-14 12:37:36 +00:00
Dries Van Schuylenbergh
e9753a727e Merge branch 'WeSign-Logo' into 'development'
Logo icon

See merge request wesign/unity-application!98
2023-05-14 12:25:58 +00:00
Dries Van Schuylenbergh
a4c29a3146 Merge branch 'WES-187-unit-tests-justsign-and-spellingbee' into 'development'
Resolve WES-187 "Unit tests justsign and spellingbee"

See merge request wesign/unity-application!93
2023-05-14 11:58:09 +00:00
Helena Van Breugel
53fc361af4 Resolve WES-187 "Unit tests justsign and spellingbee" 2023-05-14 11:58:09 +00:00
Louis Adriaens
d593f22c10 Merge branch 'WES-166-Activity-Endscene' into 'development'
Resolve WES-166 "Activity endscene"

See merge request wesign/unity-application!101
2023-05-14 10:58:44 +00:00
Jelle De Geest
9b88537d70 Resolve WES-166 "Activity endscene" 2023-05-14 10:58:43 +00:00
Supaaah1
96b1c9f6bc Logo icon 2023-05-13 16:02:57 +02:00
Louis Adriaens
1e09f09dae Merge branch 'WES-204-user-progress-bug' into 'development'
Resolve WES-204 "User progress bug"

See merge request wesign/unity-application!97
2023-05-13 13:18:38 +00:00
Dries Van Schuylenbergh
1413f80d73 Resolve WES-204 "User progress bug" 2023-05-13 13:18:37 +00:00
Jerome Coudron
227099631e Merge branch 'WES-187-unit-tests-common-and-course' into 'development'
Resolve WES-187 "Unit tests common and course"

See merge request wesign/unity-application!94
2023-05-12 11:53:21 +00:00
Jelle De Geest
48b915acba Resolve WES-187 "Unit tests common and course" 2023-05-12 11:53:17 +00:00
Jelle De Geest
672ff367e2 Merge branch 'WES-203-Course-freezing' into 'development'
Fixed course freezing and other course-ending bugs

See merge request wesign/unity-application!92
2023-05-08 21:38:43 +00:00
CoudronJerome
ae29ef9835 Fixed course freezing and other course-ending bugs 2023-05-08 20:57:09 +02:00
c3ebf48cdc Added new MacOS build 2023-05-08 09:31:24 +02:00
Tibe Habils
59bf2392d8 add windows installer 2023-05-07 22:13:42 +02:00
Jelle De Geest
e9db885301 Merge branch 'new-basic-signs-model' into 'development'
New basic signs model

See merge request wesign/unity-application!90
2023-05-07 21:00:56 +00:00
Jerome Coudron
43887af670 New basic signs model 2023-05-07 21:00:52 +00:00
Jelle De Geest
06aa9206ac Merge branch 'WES-187-unit-tests-hangman-and-minigame' into 'development'
Resolve WES-187-unit-tests-hangman-and-minigame

See merge request wesign/unity-application!87
2023-05-06 11:36:52 +00:00
Jerome Coudron
c24fe037f6 Resolve WES-187-unit-tests-hangman-and-minigame 2023-05-06 11:36:51 +00:00
Dries Van Schuylenbergh
b10358930b Merge branch 'WES-192-fix-progress-screen' into 'development'
Resolve WES-192 "Fix progress screen"

See merge request wesign/unity-application!88
2023-05-04 09:09:53 +00:00
Dries Van Schuylenbergh
89f343780a Resolve WES-192 "Fix progress screen" 2023-05-04 09:09:49 +00:00
Jerome Coudron
259259ac9c Merge branch 'Wes-101-Speedup-Mediapipe' into 'development'
WES 101 speedup mediapipe

See merge request wesign/unity-application!89
2023-05-03 18:48:59 +00:00
Jelle De Geest
bc502361cd WES 101 speedup mediapipe 2023-05-03 18:48:56 +00:00
Jerome Coudron
fb234480f7 Merge branch 'WES-187-unit-tests-account-and-system' into 'development'
Resolve WES-187 "Unit tests account and system"

See merge request wesign/unity-application!86
2023-04-30 15:51:45 +00:00
Dries Van Schuylenbergh
b9bbef8dcf Resolve WES-187 "Unit tests account and system" 2023-04-30 15:51:41 +00:00
Tibe Habils
c4b6c60288 added windows installer 2023-04-24 00:28:36 +02:00
c457a195df New MacOS build 2023-04-24 00:01:54 +02:00
Jelle De Geest
67575cfbbd Merge branch 'fix-testing' into 'development'
Fix code coverage of testing

See merge request wesign/unity-application!83
2023-04-23 21:37:32 +00:00
Tibe Habils
05b230dd9d Fix code coverage of testing 2023-04-23 21:37:31 +00:00
Jelle De Geest
94d2ccfa8d Merge branch 'WES-132-Common-Abstract-Minigame' into 'development'
Resolve WES-132-Common-Abstract-Minigame

See merge request wesign/unity-application!81
2023-04-23 21:20:14 +00:00
Jerome Coudron
966475455a Resolve WES-132-Common-Abstract-Minigame 2023-04-23 21:20:12 +00:00
Jelle De Geest
4fdb8f95cb Merge branch 'demo-day-booth' into 'development'
Demo day booth

See merge request wesign/unity-application!84
2023-04-23 18:50:09 +00:00
Dries Van Schuylenbergh
fcd8acad1e Demo day booth 2023-04-23 18:50:07 +00:00
5b4a3ec4e7 New MacOS build 2023-04-11 19:15:53 +02:00
Louis Adriaens
77850bfbe6 Merge branch 'UI-resolution-fix' into 'development'
Fixed screen scaling

See merge request wesign/unity-application!82
2023-04-11 16:04:01 +00:00
Supaaah1
f9fff14662 Fixed screen scaling 2023-04-11 16:57:21 +02:00
aed09649e3 Added MacOS build 2023-04-10 19:47:35 +02:00
Jelle De Geest
c8dfa96c8f Merge branch 'WES-133-multiple-choice' into 'development'
Resolve WES-133 "Multiple choice"

See merge request wesign/unity-application!77
2023-04-10 15:05:13 +00:00
Tibe Habils
4e9d801e61 Resolve WES-133 "Multiple choice" 2023-04-10 15:05:11 +00:00
Helena Van Breugel
04d9a4bf2b Merge branch 'WES-144-feedback-JustSign' into 'development'
Resolve WES-144 "Feedback justsign"

See merge request wesign/unity-application!79
2023-04-08 20:28:46 +00:00
Helena Van Breugel
2b71bde592 Resolve WES-144 "Feedback justsign" 2023-04-08 20:28:42 +00:00
Dries Van Schuylenbergh
73c4756f19 Merge branch 'WES-XX-persistent-data-controller-backwards-compatible' into 'development'
Fix bug

See merge request wesign/unity-application!80
2023-04-08 19:24:46 +00:00
Dries Van Schuylenbergh
f5615bbef3 Fix bug 2023-04-08 11:31:24 +02:00
Helena Van Breugel
8670fcc4ce Merge branch 'WES-146-UI-Take2' into 'development'
WES-146-UI

See merge request wesign/unity-application!78
2023-04-06 07:20:42 +00:00
Jelle De Geest
e6d10db5ca WES-146-UI 2023-04-06 07:20:41 +00:00
Jelle De Geest
8db7c80dad Merge branch 'WES-128-Hangman-Clear-Feedback' into 'development'
Resolve WES-128-Hangman-Clear_feedback

See merge request wesign/unity-application!74
2023-04-05 20:54:20 +00:00
Jerome Coudron
197a6200c1 Resolve WES-128-Hangman-Clear_feedback 2023-04-05 20:54:20 +00:00
Jelle De Geest
68372d859b Merge branch 'WES-130-feedback-spellingbee' into 'development'
Feedback SpellingBee

See merge request wesign/unity-application!76
2023-04-05 13:40:55 +00:00
Helena Van Breugel
2a7dd16f5f Feedback SpellingBee 2023-04-05 13:40:54 +00:00
Jerome Coudron
e6b0cbd596 Merge branch 'WES-143-feedback-courses' into 'development'
Resolve WES-143 "Feedback courses"

See merge request wesign/unity-application!73
2023-04-04 18:24:20 +00:00
Helena Van Breugel
c358ac59e4 Resolve WES-143 "Feedback courses" 2023-04-04 18:24:17 +00:00
Dries Van Schuylenbergh
c20cd89c3a Merge branch 'WES-117-persistent-data-handling' into 'development'
Resolve WES-117 "Persistent data handling"

See merge request wesign/unity-application!72
2023-04-04 17:00:50 +00:00
Dries Van Schuylenbergh
5f4408063f Resolve WES-117 "Persistent data handling" 2023-04-04 17:00:47 +00:00
3499e61bb0 Added CoreML model (for Mac) 2023-04-03 20:52:01 +02:00
Jelle De Geest
aefc75f3c4 Merge branch 'WES-100-NatML-Integration' into 'development'
Resolve WES-100 "Natml integration"

See merge request wesign/unity-application!70
2023-04-03 14:14:50 +00:00
Jelle De Geest
f95e34c6fe Resolve WES-100 "Natml integration" 2023-04-03 14:14:49 +00:00
Dries Van Schuylenbergh
edf1805a92 Merge branch 'WES-131-Feedback-Refactor-Manual-Merge' into 'development'
Resolve WES-131-Feedback-REfactor

See merge request wesign/unity-application!71
2023-04-02 12:28:00 +00:00
Jerome Coudron
a808e73a29 Resolve WES-131-Feedback-REfactor 2023-04-02 12:27:59 +00:00
Jelle De Geest
b955d2164c Merge branch 'WES-145-Consistency-controllers' into 'development'
Resolve WES-145 "Consistency controllers"

See merge request wesign/unity-application!68
2023-03-30 21:28:50 +00:00
Helena Van Breugel
e96f1ff7ca Resolve WES-145 "Consistency controllers" 2023-03-30 21:28:48 +00:00
Jelle De Geest
b8cdcd128b Merge branch 'WES-127-Refactor-ThemeList' into 'development'
Resolve WES-127-Refactor_Themelist

See merge request wesign/unity-application!69
2023-03-30 21:10:39 +00:00
Jerome Coudron
ea13788199 Resolve WES-127-Refactor_Themelist 2023-03-30 21:10:35 +00:00
Tibe Habils
564ec209c7 Add windows installer 2023-03-26 20:42:59 +02:00
a3735af649 Added macos build 2023-03-26 22:27:44 +02:00
Victor Mylle
692b4318bf Update .drone.yml 2023-03-26 19:36:48 +00:00
Jelle De Geest
0015c1453c Merge branch 'WES-88-Scoreboard' into 'development'
Resolve WES-88 "Scoreboard"

See merge request wesign/unity-application!66
2023-03-26 18:01:52 +00:00
Helena Van Breugel
c78ef0e773 Resolve WES-88 "Scoreboard" 2023-03-26 18:01:51 +00:00
Dries Van Schuylenbergh
45f545b13f Merge branch 'WES-112-windows-installer' into 'development'
Added basic installer

See merge request wesign/unity-application!65
2023-03-26 14:22:45 +00:00
Tibe Habils
d3af75f676 Added basic installer 2023-03-26 14:22:42 +00:00
Tibe Habils
5f7216f24c Merge branch 'hot-fix-common-tests' into 'development'
common tests fix

See merge request wesign/unity-application!61
2023-03-26 11:47:52 +00:00
Tibe Habils
b012e40df8 common tests fix 2023-03-26 11:47:48 +00:00
Jerome Coudron
f69e2385fc Merge branch 'WES-110-spelling-bee-tests' into 'development'
Spelling bee tests

See merge request wesign/unity-application!58
2023-03-25 22:47:27 +00:00
Tibe Habils
37905a904c Spelling bee tests 2023-03-25 22:47:25 +00:00
Dries Van Schuylenbergh
0019a4d07f Merge branch 'WES-XX-ScriptableList-Index-Fix' into 'development'
Resolve WES-XX-ScriptableList-Index-Fix

See merge request wesign/unity-application!62
2023-03-25 17:16:42 +00:00
Jerome Coudron
4402e80d0c Resolve WES-XX-ScriptableList-Index-Fix 2023-03-25 17:16:41 +00:00
Jelle De Geest
d95a6590d5 Merge branch 'test-accounts' into 'development'
Test accounts

See merge request wesign/unity-application!60
2023-03-25 15:35:27 +00:00
Dries Van Schuylenbergh
7b6eb4db69 Test accounts 2023-03-25 15:35:26 +00:00
Jerome Coudron
8696aff135 Merge branch 'Common-Interfaces-Tests' into 'development'
Resolve Common-Interfaces-Tests

See merge request wesign/unity-application!63
2023-03-25 13:12:56 +00:00
Jerome Coudron
001cf6dedb Resolve Common-Interfaces-Tests 2023-03-25 13:12:55 +00:00
Lukas Van Rossem
669bcb3793 Merge branch 'WES-89-justsign-music' into 'development'
Resolve WES-89 "Justsign music"

See merge request wesign/unity-application!64
2023-03-25 11:34:09 +00:00
Lukas Van Rossem
668b769094 Resolve WES-89 "Justsign music" 2023-03-25 11:34:08 +00:00
Victor Mylle
fee989006c Update .drone.yml 2023-03-24 09:12:39 +00:00
Supaaah1
b3913c281a Review fix 2023-03-23 13:21:43 +01:00
Louis Adriaens
b0c0cdc095 Merge branch 'progress-fix' into 'development'
Fix CourseProgressCard prefab missing script reference

See merge request wesign/unity-application!59
2023-03-23 12:09:44 +00:00
Dries Van Schuylenbergh
db37a16155 Fix CourseProgressCard prefab missing script reference 2023-03-23 12:09:43 +00:00
Tibe Habils
9c7366e49c Merge branch 'WES-113-commons-tests' into 'development'
Resolve WES-113 "Commons tests"

See merge request wesign/unity-application!56
2023-03-23 11:35:15 +00:00
Tibe Habils
5a5a1f1542 Resolve WES-113 "Commons tests" 2023-03-23 11:35:14 +00:00
Louis Adriaens
0e997666e2 Merge branch 'New_Model' into 'development'
Added model from A - Z

See merge request wesign/unity-application!54
2023-03-23 11:10:58 +00:00
Victor Mylle
6ef35cabd4 Added model from A - Z 2023-03-23 11:10:55 +00:00
Tibe Habils
2581cd6137 Merge branch 'Code-Coverage' into 'development'
Code coverage

See merge request wesign/unity-application!57
2023-03-22 22:03:45 +00:00
Victor Mylle
800f0ae77f Code coverage 2023-03-22 22:03:44 +00:00
Dries Van Schuylenbergh
bb11f4d743 Merge branch 'WES-75-hangman-integration' into 'development'
Resolve WES-75 "Hangman integration"

See merge request wesign/unity-application!55
2023-03-22 16:46:11 +00:00
Jelle De Geest
f835adaa23 Resolve WES-75 "Hangman integration" 2023-03-22 16:46:07 +00:00
f9298a055a Add code analysis package 2023-03-21 11:57:39 +01:00
Dries Van Schuylenbergh
2e3dd2e26d Fix bug with inconsistent project build settings 2023-03-20 19:22:26 +01:00
Tibe Habils
f2743408a3 Merge branch 'WES-75_Hangman' into 'development'
Introduced Hangman in DEV-compatible branch

See merge request wesign/unity-application!53
2023-03-19 23:02:50 +00:00
Jerome Coudron
e23de9a2d3 Introduced Hangman in DEV-compatible branch 2023-03-19 23:02:50 +00:00
Lukas Van Rossem
b5328d0b9d Merge branch 'WES-81-justsign-new' into 'development'
Decent first prototype

See merge request wesign/unity-application!52
2023-03-19 19:39:32 +00:00
Lukas Van Rossem
44d3398e03 Decent first prototype 2023-03-19 19:39:31 +00:00
Lukas Van Rossem
c9ee031df3 Merge branch 'WES-97-Integrate-SignPredictor-in-SpellingBee' into 'development'
Resolve WES-97 "Integrate signpredictor in spellingbee"

See merge request wesign/unity-application!48
2023-03-19 17:37:52 +00:00
Dries Van Schuylenbergh
3abc24a39c Resolve WES-97 "Integrate signpredictor in spellingbee" 2023-03-19 17:37:50 +00:00
Tibe Habils
f827c29d3a Merge branch 'tests-setup' into 'development'
Tests setup

See merge request wesign/unity-application!45
2023-03-19 16:22:42 +00:00
Tibe Habils
0a4cb9e8c6 Tests setup 2023-03-19 16:22:40 +00:00
Helena Van Breugel
ac000132a9 Merge branch 'WES-80-Data' into 'development'
Resolve WES-80 "Data"

See merge request wesign/unity-application!49
2023-03-18 22:32:38 +00:00
Helena Van Breugel
a19d89db03 Resolve WES-80 "Data" 2023-03-18 22:32:36 +00:00
Jerome Coudron
8ff5c6c4c8 Merge branch 'WES-90-Integrate-SignPredictor-in-courses' into 'development'
Resolve WES-90 "Integrate signpredictor in courses"

See merge request wesign/unity-application!47
2023-03-18 19:53:19 +00:00
Louis Adriaens
746906294b Resolve WES-90 "Integrate signpredictor in courses" 2023-03-18 19:53:17 +00:00
Dries Van Schuylenbergh
1a75791d62 Merge branch 'WES-95-user-progress' into 'development'
Resolve WES-95 "User progress"

See merge request wesign/unity-application!43
2023-03-18 10:25:50 +00:00
Dries Van Schuylenbergh
9dfadece44 Resolve WES-95 "User progress" 2023-03-18 10:25:49 +00:00
Dries Van Schuylenbergh
5e26970bad Merge branch 'WES-113-write-tests' into 'development'
Resolve WES-113 "Write tests"

See merge request wesign/unity-application!44
2023-03-16 12:36:47 +00:00
Louis Adriaens
f6e6afe340 Resolve WES-113 "Write tests" 2023-03-16 12:36:46 +00:00
Dries Van Schuylenbergh
96fb3c89c3 Merge branch 'WES-99-cc-refactor' into 'development'
Resolve WES-99 "Cc refactor"

See merge request wesign/unity-application!42
2023-03-14 10:56:43 +00:00
Dries Van Schuylenbergh
dfc69ddd76 Resolve WES-99 "Cc refactor" 2023-03-14 10:56:42 +00:00
Lukas Van Rossem
59d69f7412 Merge branch 'WES-76-87-themeselection' into 'development'
Resolve WES-76 "87 themeselection"

See merge request wesign/unity-application!41
2023-03-13 21:49:42 +00:00
Lukas Van Rossem
a267301ab6 Resolve WES-76 "87 themeselection" 2023-03-13 21:49:40 +00:00
Dries Van Schuylenbergh
94ec7e0359 Change directories 2023-03-12 23:15:36 +01:00
Dries Van Schuylenbergh
0c795b09bc Merge branch 'development' of gitlab.ilabt.imec.be:wesign/unity-application into development 2023-03-12 23:10:51 +01:00
Dries Van Schuylenbergh
8501edb03a Add builds 2023-03-12 23:10:30 +01:00
Victor Mylle
cef72508cc Update .drone.yml 2023-03-12 22:03:42 +00:00
Victor Mylle
17abca46ea Update .drone.yml 2023-03-12 21:51:51 +00:00
1073 changed files with 21322 additions and 17263 deletions

View File

@@ -1,42 +0,0 @@
## Description
_Please provide a brief summary of the changes in this merge request._
_If possible, add a short screengrab or some screenshots of the changes._
## Testing Instructions
_Please provide instructions on how the code reviewers can test your changes:_
1. [Step 1]
2. [Step 2]
3. [Step 3]
4. ...
_Please include any specific information on test data, configurations, or other requirements that are necessary to properly test the changes._
Once you've tested the changes, please confirm that they work as expected and that there are no regressions or unexpected side effects. If any issues are discovered during testing, please include detailed steps to reproduce the issue in the merge request comments. Thank you!
## Related Issues
_Please list any related issues or pull requests that are relevant to this merge request._
_E.g. WES-XXX-..._
## Known bugs or issues
_Please list any known bugs or issues related to the changes in this merge request._
## Checklist
- [ ] I have filled in this template.
- [ ] I have tested my changes thoroughly (both in the editor + **build and run (ctrl+B)**!).
- [ ] I have added appropriate unit tests.
- [ ] I have added appropriate playmode tests.
- [ ] I have updated the user documentation as necessary.
- [ ] Code reviewed by 2 people.
## Additional Notes
_Please add any additional notes or comments that may be helpful for reviewers to understand your changes._
/assign_reviewer @wesign/unityappreviewers

View File

@@ -504,8 +504,8 @@ MonoBehaviour:
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4294967295
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
rgba: 4284235525
m_fontColor: {r: 0.019607844, g: 0.24705882, b: 0.36078432, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
@@ -623,7 +623,7 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0, g: 0.7529412, b: 1, a: 1}
m_Color: {r: 0.9490196, g: 0.49803922, b: 0.047058824, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1

View File

@@ -75,8 +75,8 @@ MonoBehaviour:
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4294967295
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
rgba: 4284235525
m_fontColor: {r: 0.019607844, g: 0.24705882, b: 0.36078432, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
@@ -433,8 +433,8 @@ MonoBehaviour:
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4294967295
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
rgba: 4284235525
m_fontColor: {r: 0.019607844, g: 0.24705882, b: 0.36078432, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:

View File

@@ -284,8 +284,8 @@ MonoBehaviour:
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4294309365
m_fontColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
rgba: 4284235525
m_fontColor: {r: 0.019607844, g: 0.24705882, b: 0.36078432, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:

File diff suppressed because it is too large Load Diff

View File

@@ -123,6 +123,143 @@ NavMeshSettings:
debug:
m_Flags: 0
m_NavMeshData: {fileID: 0}
--- !u!1 &86207002
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 86207003}
- component: {fileID: 86207005}
- component: {fileID: 86207004}
m_Layer: 5
m_Name: Button Text
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &86207003
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 86207002}
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: 760142029}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 117.808, y: 0}
m_SizeDelta: {x: -235.617, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &86207004
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 86207002}
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: 'Verder
'
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 1baf2eae62f542f4585aaf3c9c3e229a, type: 2}
m_sharedMaterial: {fileID: -2577534979213189211, guid: 1baf2eae62f542f4585aaf3c9c3e229a, type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4294967295
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
topLeft: {r: 1, g: 1, b: 1, a: 1}
topRight: {r: 1, g: 1, b: 1, a: 1}
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
bottomRight: {r: 1, g: 1, b: 1, a: 1}
m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: -1183493901
m_overrideHtmlColors: 0
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 250
m_fontSizeBase: 250
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!222 &86207005
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 86207002}
m_CullTransparentMesh: 1
--- !u!1 &129643495
GameObject:
m_ObjectHideFlags: 0
@@ -433,6 +570,179 @@ GameObject:
m_CorrespondingSourceObject: {fileID: 8299246693487308514, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3}
m_PrefabInstance: {fileID: 268687073}
m_PrefabAsset: {fileID: 0}
--- !u!1 &426876251
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 426876252}
- component: {fileID: 426876255}
- component: {fileID: 426876254}
- component: {fileID: 426876253}
m_Layer: 5
m_Name: Circle (4)
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &426876252
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 426876251}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 1768150806}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: -160, y: -250}
m_SizeDelta: {x: 535, y: 535}
m_Pivot: {x: 0, y: 0}
--- !u!95 &426876253
Animator:
serializedVersion: 5
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 426876251}
m_Enabled: 1
m_Avatar: {fileID: 0}
m_Controller: {fileID: 9100000, guid: 47b8ff2adcd4fa64981587b8490f907b, type: 2}
m_CullingMode: 0
m_UpdateMode: 0
m_ApplyRootMotion: 0
m_LinearVelocityBlending: 0
m_StabilizeFeet: 0
m_WarningMessage:
m_HasTransformHierarchy: 1
m_AllowConstantClipSamplingOptimization: 1
m_KeepAnimatorStateOnDisable: 0
--- !u!114 &426876254
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 426876251}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: 357b7d5d4e2bc504db44ea6e6f4b3f9a, type: 3}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!222 &426876255
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 426876251}
m_CullTransparentMesh: 1
--- !u!1 &436691131
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 436691132}
- component: {fileID: 436691134}
- component: {fileID: 436691133}
m_Layer: 5
m_Name: Button Icon
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &436691132
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 436691131}
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: 760142029}
m_RootOrder: 2
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: -550, y: 0}
m_SizeDelta: {x: 280, y: 280}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &436691133
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 436691131}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: a567e0801761e5447ae744075485a9e6, type: 3}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!222 &436691134
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 436691131}
m_CullTransparentMesh: 1
--- !u!1 &519420028
GameObject:
m_ObjectHideFlags: 0
@@ -719,8 +1029,8 @@ MonoBehaviour:
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4281479730
m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
rgba: 4284235525
m_fontColor: {r: 0.019607844, g: 0.24705882, b: 0.36078432, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
@@ -963,7 +1273,7 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 645809399}
m_CullTransparentMesh: 1
--- !u!1 &840332111
--- !u!1 &760142028
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
@@ -971,45 +1281,46 @@ GameObject:
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 840332112}
- component: {fileID: 840332115}
- component: {fileID: 840332114}
- component: {fileID: 840332113}
- component: {fileID: 760142029}
- component: {fileID: 760142031}
- component: {fileID: 760142030}
m_Layer: 5
m_Name: Button
m_Name: Start Course
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &840332112
--- !u!224 &760142029
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 840332111}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_GameObject: {fileID: 760142028}
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_LocalScale: {x: 0.29999998, y: 0.29999998, z: 0.29999998}
m_ConstrainProportionsScale: 1
m_Children:
- {fileID: 1229328480}
- {fileID: 1892769892}
- {fileID: 86207003}
- {fileID: 436691132}
m_Father: {fileID: 906197777}
m_RootOrder: 5
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0}
m_AnchorMax: {x: 0.5, y: 0}
m_AnchoredPosition: {x: 0, y: 100}
m_SizeDelta: {x: 400, y: 100}
m_Pivot: {x: 0.5, y: 0}
--- !u!114 &840332113
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: -420}
m_SizeDelta: {x: 1524, y: 378}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &760142030
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 840332111}
m_GameObject: {fileID: 760142028}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
@@ -1022,7 +1333,7 @@ MonoBehaviour:
m_SelectOnDown: {fileID: 0}
m_SelectOnLeft: {fileID: 0}
m_SelectOnRight: {fileID: 0}
m_Transition: 1
m_Transition: 2
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}
@@ -1032,9 +1343,9 @@ MonoBehaviour:
m_ColorMultiplier: 1
m_FadeDuration: 0.1
m_SpriteState:
m_HighlightedSprite: {fileID: 0}
m_PressedSprite: {fileID: 0}
m_SelectedSprite: {fileID: 0}
m_HighlightedSprite: {fileID: 21300000, guid: a96945215efea6247ad7760d024d1eb6, type: 3}
m_PressedSprite: {fileID: 21300000, guid: a96945215efea6247ad7760d024d1eb6, type: 3}
m_SelectedSprite: {fileID: 21300000, guid: a96945215efea6247ad7760d024d1eb6, type: 3}
m_DisabledSprite: {fileID: 0}
m_AnimationTriggers:
m_NormalTrigger: Normal
@@ -1043,7 +1354,7 @@ MonoBehaviour:
m_SelectedTrigger: Selected
m_DisabledTrigger: Disabled
m_Interactable: 1
m_TargetGraphic: {fileID: 840332114}
m_TargetGraphic: {fileID: 1892769893}
m_OnClick:
m_PersistentCalls:
m_Calls:
@@ -1059,43 +1370,13 @@ MonoBehaviour:
m_StringArgument:
m_BoolArgument: 0
m_CallState: 2
--- !u!114 &840332114
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 840332111}
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!222 &840332115
--- !u!222 &760142031
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 840332111}
m_GameObject: {fileID: 760142028}
m_CullTransparentMesh: 1
--- !u!1 &906197776
GameObject:
@@ -1132,7 +1413,7 @@ RectTransform:
- {fileID: 589847187}
- {fileID: 645809400}
- {fileID: 1832217925}
- {fileID: 840332112}
- {fileID: 760142029}
m_Father: {fileID: 1768150806}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@@ -1232,7 +1513,7 @@ MonoBehaviour:
m_EditorClassIdentifier:
m_Padding: {x: -8, y: -5, z: -8, w: -5}
m_Softness: {x: 0, y: 0}
--- !u!1 &1229328479
--- !u!1 &1102723658
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
@@ -1240,46 +1521,67 @@ GameObject:
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1229328480}
- component: {fileID: 1229328482}
- component: {fileID: 1229328481}
- component: {fileID: 1102723659}
- component: {fileID: 1102723662}
- component: {fileID: 1102723661}
- component: {fileID: 1102723660}
m_Layer: 5
m_Name: Text (TMP)
m_Name: Circle (5)
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1229328480
--- !u!224 &1102723659
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1229328479}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_GameObject: {fileID: 1102723658}
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: 840332112}
m_RootOrder: 0
m_Father: {fileID: 1768150806}
m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1229328481
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 260, y: -300}
m_SizeDelta: {x: 470, y: 470}
m_Pivot: {x: 0, y: 0}
--- !u!95 &1102723660
Animator:
serializedVersion: 5
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1102723658}
m_Enabled: 1
m_Avatar: {fileID: 0}
m_Controller: {fileID: 9100000, guid: 51c408377313b474fa55f6c01c841728, type: 2}
m_CullingMode: 0
m_UpdateMode: 0
m_ApplyRootMotion: 0
m_LinearVelocityBlending: 0
m_StabilizeFeet: 0
m_WarningMessage:
m_HasTransformHierarchy: 1
m_AllowConstantClipSamplingOptimization: 1
m_KeepAnimatorStateOnDisable: 0
--- !u!114 &1102723661
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1229328479}
m_GameObject: {fileID: 1102723658}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
@@ -1290,82 +1592,23 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: Verder
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 1baf2eae62f542f4585aaf3c9c3e229a, type: 2}
m_sharedMaterial: {fileID: -2577534979213189211, guid: 1baf2eae62f542f4585aaf3c9c3e229a, 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: 64
m_fontSizeBase: 64
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!222 &1229328482
m_Sprite: {fileID: 21300000, guid: 88410b681ed1df3499ff0660fe5706b4, type: 3}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!222 &1102723662
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1229328479}
m_GameObject: {fileID: 1102723658}
m_CullTransparentMesh: 1
--- !u!1 &1768150802
GameObject:
@@ -1460,6 +1703,8 @@ RectTransform:
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 906197777}
- {fileID: 426876252}
- {fileID: 1102723659}
m_Father: {fileID: 0}
m_RootOrder: 3
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@@ -1578,6 +1823,82 @@ MonoBehaviour:
m_Spacing: {x: 20, y: 20}
m_Constraint: 2
m_ConstraintCount: 3
--- !u!1 &1892769891
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1892769892}
- component: {fileID: 1892769894}
- component: {fileID: 1892769893}
m_Layer: 5
m_Name: Button Image
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1892769892
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1892769891}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1.3, y: 1.3, z: 1.3}
m_ConstrainProportionsScale: 1
m_Children: []
m_Father: {fileID: 760142029}
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: 1388, y: 497}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1892769893
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1892769891}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: 46578af6a9f38ea46bf4f53f79e8fca8, type: 3}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!222 &1892769894
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1892769891}
m_CullTransparentMesh: 1
--- !u!1 &2078284137
GameObject:
m_ObjectHideFlags: 0

View File

@@ -370,7 +370,7 @@ MonoBehaviour:
m_Elasticity: 0.1
m_Inertia: 1
m_DecelerationRate: 0.135
m_ScrollSensitivity: 1
m_ScrollSensitivity: 50
m_Viewport: {fileID: 1341560885}
m_HorizontalScrollbar: {fileID: 0}
m_VerticalScrollbar: {fileID: 1252913994}
@@ -394,7 +394,7 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
m_Color: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
@@ -596,7 +596,7 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0.5803922, g: 0.58431375, b: 0.6, a: 1}
m_Color: {r: 0.62352943, g: 0.90588236, b: 0.9607843, a: 0.47058824}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
@@ -766,7 +766,7 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
m_Color: {r: 0.62352943, g: 0.90588236, b: 0.9607843, a: 0.47058824}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
@@ -919,7 +919,6 @@ MonoBehaviour:
m_EditorClassIdentifier:
username: {fileID: 1021209698}
avatar: {fileID: 1873954004}
playtime: {fileID: 0}
coursesPanel: {fileID: 1461595298}
minigamesPanel: {fileID: 919169246}
coursesTabButton: {fileID: 178910882}
@@ -1696,7 +1695,7 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0.5803922, g: 0.58431375, b: 0.6, a: 1}
m_Color: {r: 0.62352943, g: 0.90588236, b: 0.9607843, a: 0.47058824}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
@@ -1822,7 +1821,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
m_IsActive: 1
--- !u!114 &919169249
MonoBehaviour:
m_ObjectHideFlags: 0
@@ -1933,8 +1932,8 @@ MonoBehaviour:
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4281479730
m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
rgba: 4284235525
m_fontColor: {r: 0.019607844, g: 0.24705882, b: 0.36078432, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
@@ -2068,8 +2067,8 @@ MonoBehaviour:
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4294309365
m_fontColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
rgba: 4284235525
m_fontColor: {r: 0.019607844, g: 0.24705882, b: 0.36078432, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
@@ -2279,8 +2278,8 @@ MonoBehaviour:
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4279242768
m_fontColor: {r: 0.0627451, g: 0.0627451, b: 0.0627451, a: 1}
rgba: 4284235525
m_fontColor: {r: 0.019607844, g: 0.24705882, b: 0.36078432, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
@@ -2399,7 +2398,7 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
m_Color: {r: 0.62352943, g: 0.90588236, b: 0.9607843, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
@@ -2624,7 +2623,7 @@ RectTransform:
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: -3, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0, y: 1}
--- !u!114 &1338988555
MonoBehaviour:
@@ -3106,7 +3105,7 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
m_Color: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
@@ -3198,8 +3197,8 @@ MonoBehaviour:
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4279242768
m_fontColor: {r: 0.0627451, g: 0.0627451, b: 0.0627451, a: 1}
rgba: 4284235525
m_fontColor: {r: 0.019607844, g: 0.24705882, b: 0.36078432, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
@@ -3445,7 +3444,7 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
m_Color: {r: 0.62352943, g: 0.90588236, b: 0.9607843, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
@@ -3702,7 +3701,7 @@ RectTransform:
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 20, y: 20}
m_Pivot: {x: 0.5, y: 0.5}
@@ -4104,8 +4103,8 @@ MonoBehaviour:
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4294309365
m_fontColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
rgba: 4284235525
m_fontColor: {r: 0.019607844, g: 0.24705882, b: 0.36078432, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
@@ -4189,7 +4188,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
m_IsActive: 0
--- !u!224 &2009685189
RectTransform:
m_ObjectHideFlags: 0
@@ -4226,7 +4225,7 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
m_Color: {r: 0.62352943, g: 0.90588236, b: 0.9607843, a: 0.47058824}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1

View File

@@ -72,7 +72,7 @@ public class ChangeUserScreen : MonoBehaviour
Image background = instance.GetComponent<Image>();
userBackgrounds.Add(background);
// Set background color
background.color = i == currentUserIndex ? Color.blue : Color.gray;
background.color = i == currentUserIndex ? new Color(66 / 255f, 158 / 255f, 189 / 255f, 1f) : new Color(159 / 255f, 231 / 255f, 245 / 255f, 1f);
}
}
@@ -82,9 +82,9 @@ public class ChangeUserScreen : MonoBehaviour
/// <param name="index">Index to the user in the <c>this.userBackgrounds</c> list</param>
private void UpdateSelection(int index)
{
userBackgrounds[currentUserIndex].color = Color.gray;
userBackgrounds[currentUserIndex].color = new Color(159 / 255f, 231 / 255f, 245 / 255f, 1f);
currentUserIndex = index;
userBackgrounds[currentUserIndex].color = Color.blue;
userBackgrounds[currentUserIndex].color = new Color(66 / 255f, 158 / 255f, 189 / 255f, 1f);
}
/// <summary>

View File

@@ -94,7 +94,7 @@ public class PanelCourseProgress : MonoBehaviour
// Store reference to background so we can apply fancy coloring
Image background = instance.GetComponent<Image>();
background.color = Color.gray;
background.color = new Color(159 / 255f, 231 / 255f, 245 / 255f, 120/255f);
this.courseCards.Add(Tuple.Create(background, courseProgress.courseIndex));
}
if (0 < courses.Count)
@@ -107,9 +107,9 @@ public class PanelCourseProgress : MonoBehaviour
/// <param name="newCourse">Index to the new course</param>
private void UpdateSelection(int newCourse)
{
courseCards[selectedCourse].Item1.color = Color.gray;
courseCards[selectedCourse].Item1.color = new Color(159 / 255f, 231 / 255f, 245 / 255f, 120 / 255f);
selectedCourse = newCourse;
courseCards[selectedCourse].Item1.color = Color.blue;
courseCards[selectedCourse].Item1.color = new Color(66 / 255f, 158 / 255f, 189 / 255f, 1f);
var progress = user.GetCourseProgress(courseCards[selectedCourse].Item2);
var course = courseList.GetCourseByIndex(progress.courseIndex);

View File

@@ -90,7 +90,7 @@ public class PanelMinigameProgress : MonoBehaviour
// Store reference to background so we can apply fancy coloring
Image background = instance.GetComponent<Image>();
background.color = Color.gray;
background.color = new Color(159 / 255f, 231 / 255f, 245 / 255f, 120 / 255f);
minigameCards.Add(Tuple.Create(background, minigameProgress.minigameIndex));
}
if (0 < minigames.Count)
@@ -103,9 +103,9 @@ public class PanelMinigameProgress : MonoBehaviour
/// <param name="newMinigame">Index to the new course</param>
private void UpdateSelection(int newMinigame)
{
minigameCards[selectedMinigame].Item1.color = Color.gray;
minigameCards[selectedMinigame].Item1.color = new Color(159 / 255f, 231 / 255f, 245 / 255f, 120 / 255f);
selectedMinigame = newMinigame;
minigameCards[selectedMinigame].Item1.color = Color.blue;
minigameCards[selectedMinigame].Item1.color = new Color(66 / 255f, 158 / 255f, 189 / 255f, 1f);
var progress = user.GetMinigameProgress(minigameCards[selectedMinigame].Item2);
minigameTitle.text = minigameList.GetMinigameByIndex(progress.minigameIndex).title;

View File

@@ -38,7 +38,6 @@ public class User
/// </summary>
public Sprite GetAvatar() { return UserList.AVATARS[storedUserData.avatarIndex]; }
/// <summary>
/// Get a list of all recently started minigameCards
/// </summary>

View File

@@ -12,6 +12,9 @@ public class UserAvatarList : ScriptableObject
/// </summary>
public List<Sprite> avatars = new List<Sprite>();
/// <summary>
/// Awake is called when the object gets created
/// </summary>
public void Awake()
{
UserList.AVATARS = avatars;

View File

@@ -54,7 +54,6 @@ public class UserCreationScreen : MonoBehaviour
/// </summary>
public static bool canGoBack = true;
/// <summary>
/// Start is called before the first frame update
/// </summary>
@@ -80,7 +79,7 @@ public class UserCreationScreen : MonoBehaviour
Image background = instance.GetComponent<Image>();
avatars.Add(background);
// Set background color
background.color = selectedAvatar == i ? Color.blue : Color.gray;
background.color = selectedAvatar == i ? new Color(66 / 255f, 158 / 255f, 189 / 255f, 1f) : Color.gray;
// Find correct component for setting the sprite
instance.transform.Find("Image").GetComponent<Image>().sprite = UserList.AVATARS[i];
}
@@ -94,7 +93,7 @@ public class UserCreationScreen : MonoBehaviour
{
avatars[selectedAvatar].color = Color.gray;
selectedAvatar = newAvatar;
avatars[selectedAvatar].color = Color.blue;
avatars[selectedAvatar].color = new Color(66 / 255f, 158 / 255f, 189 / 255f, 1f);
}
/// <summary>

View File

@@ -105,7 +105,6 @@ public static class UserList
PersistentDataController.GetInstance().SetCurrentUser(index, true);
}
/// <summary>
/// Change the current user
/// </summary>

View File

@@ -64,9 +64,9 @@ public class UserProgressScreen : MonoBehaviour
public void DisplayCourses()
{
coursesPanel.SetActive(true);
coursesTabButton.color = Color.blue;
coursesTabButton.color = new Color(247 / 255f, 173 / 255f, 25 / 255f, 1f);
minigamesPanel.SetActive(false);
minigamesTabButton.color = Color.gray;
minigamesTabButton.color = new Color(247 / 255f, 173 / 255f, 25 / 255f, 120/255f);
}
/// <summary>
@@ -75,8 +75,8 @@ public class UserProgressScreen : MonoBehaviour
public void DisplayMinigames()
{
coursesPanel.SetActive(false);
coursesTabButton.color = Color.gray;
coursesTabButton.color = new Color(247 / 255f, 173 / 255f, 25 / 255f, 120 / 255f);
minigamesPanel.SetActive(true);
minigamesTabButton.color = Color.blue;
minigamesTabButton.color = new Color(247 / 255f, 173 / 255f, 25 / 255f, 1f);
}
}

View File

@@ -26,8 +26,6 @@ public class UserListTests
/// </summary>
private Sprite avatar = null;
private string cachedPath;
/// <summary>
/// Setup the tests
/// </summary>
@@ -98,8 +96,6 @@ public class UserListTests
Assert.IsNull(user);
}
/// <summary>
/// Test whether an existing user can be found by its username
/// </summary>
@@ -403,7 +399,7 @@ public class UserListTests
FileAssert.Exists(PATH);
string content = File.ReadAllText(PATH);
string expected = $"{{\"version\":{PersistentDataController.VERSION},\"users\":[{{\"entries\":[],\"username\":\"u5erNam3_0\",\"avatarIndex\":0,\"playtime\":0.0,\"minigames\":[],\"courses\":[]}},{{\"entries\":[],\"username\":\"u5erNam3_1\",\"avatarIndex\":0,\"playtime\":0.0,\"minigames\":[],\"courses\":[]}},{{\"entries\":[],\"username\":\"u5erNam3_2\",\"avatarIndex\":0,\"playtime\":0.0,\"minigames\":[],\"courses\":[]}},{{\"entries\":[],\"username\":\"u5erNam3_3\",\"avatarIndex\":0,\"playtime\":0.0,\"minigames\":[],\"courses\":[]}},{{\"entries\":[],\"username\":\"u5erNam3_4\",\"avatarIndex\":0,\"playtime\":0.0,\"minigames\":[],\"courses\":[]}}],\"currentUser\":3,\"currentMinigame\":0,\"currentCourse\":0,\"currentTheme\":0}}";
string expected = $"{{\"version\":{PersistentDataController.VERSION},\"users\":[{{\"entries\":[],\"username\":\"u5erNam3_0\",\"avatarIndex\":0,\"playtime\":0.0,\"minigames\":[],\"courses\":[]}},{{\"entries\":[],\"username\":\"u5erNam3_1\",\"avatarIndex\":0,\"playtime\":0.0,\"minigames\":[],\"courses\":[]}},{{\"entries\":[],\"username\":\"u5erNam3_2\",\"avatarIndex\":0,\"playtime\":0.0,\"minigames\":[],\"courses\":[]}},{{\"entries\":[],\"username\":\"u5erNam3_3\",\"avatarIndex\":0,\"playtime\":0.0,\"minigames\":[],\"courses\":[]}},{{\"entries\":[],\"username\":\"u5erNam3_4\",\"avatarIndex\":0,\"playtime\":0.0,\"minigames\":[],\"courses\":[]}}],\"currentUser\":3,\"currentMinigame\":0,\"currentCourse\":0,\"currentTheme\":0,\"useGPU\":false}}";
Assert.AreEqual(expected, content);
}
@@ -428,7 +424,7 @@ public class UserListTests
FileAssert.Exists(PATH);
string content = File.ReadAllText(PATH);
string expected = $"{{\"version\":{PersistentDataController.VERSION},\"users\":[{{\"entries\":[],\"username\":\"u5erNam3_0\",\"avatarIndex\":0,\"playtime\":0.0,\"minigames\":[],\"courses\":[]}},{{\"entries\":[],\"username\":\"u5erNam3_1\",\"avatarIndex\":0,\"playtime\":0.0,\"minigames\":[],\"courses\":[]}},{{\"entries\":[],\"username\":\"u5erNam3_2\",\"avatarIndex\":0,\"playtime\":0.0,\"minigames\":[],\"courses\":[]}},{{\"entries\":[],\"username\":\"u5erNam3_3\",\"avatarIndex\":0,\"playtime\":0.0,\"minigames\":[],\"courses\":[]}},{{\"entries\":[],\"username\":\"u5erNam3_4\",\"avatarIndex\":0,\"playtime\":0.0,\"minigames\":[],\"courses\":[]}}],\"currentUser\":3,\"currentMinigame\":0,\"currentCourse\":0,\"currentTheme\":0}}";
string expected = $"{{\"version\":{PersistentDataController.VERSION},\"users\":[{{\"entries\":[],\"username\":\"u5erNam3_0\",\"avatarIndex\":0,\"playtime\":0.0,\"minigames\":[],\"courses\":[]}},{{\"entries\":[],\"username\":\"u5erNam3_1\",\"avatarIndex\":0,\"playtime\":0.0,\"minigames\":[],\"courses\":[]}},{{\"entries\":[],\"username\":\"u5erNam3_2\",\"avatarIndex\":0,\"playtime\":0.0,\"minigames\":[],\"courses\":[]}},{{\"entries\":[],\"username\":\"u5erNam3_3\",\"avatarIndex\":0,\"playtime\":0.0,\"minigames\":[],\"courses\":[]}},{{\"entries\":[],\"username\":\"u5erNam3_4\",\"avatarIndex\":0,\"playtime\":0.0,\"minigames\":[],\"courses\":[]}}],\"currentUser\":3,\"currentMinigame\":0,\"currentCourse\":0,\"currentTheme\":0,\"useGPU\":false}}";
Assert.AreEqual(expected, content);
}
@@ -442,7 +438,7 @@ public class UserListTests
FileAssert.Exists(PATH);
string content = File.ReadAllText(PATH);
string expected = $"{{\"version\":{PersistentDataController.VERSION},\"users\":[],\"currentUser\":-1,\"currentMinigame\":0,\"currentCourse\":0,\"currentTheme\":0}}";
string expected = $"{{\"version\":{PersistentDataController.VERSION},\"users\":[],\"currentUser\":-1,\"currentMinigame\":0,\"currentCourse\":0,\"currentTheme\":0,\"useGPU\":false}}";
Assert.AreEqual(expected, content);
}
}

View File

@@ -25,7 +25,6 @@ public class UserTests
user = new User(data);
}
/// <summary>
/// Test for the creation of a new user
/// </summary>

View File

@@ -29,7 +29,7 @@ public class ChangeUserScreenTests
private IEnumerator Setup_ChangeUserScreen_SingleUser(string startScreen = "Accounts/Scenes/ChangeUserScreen")
{
string path = $"{Application.persistentDataPath}/wesign_unit_test.json";
string oneUser = "{\"version\":1027,\"users\":[{\"entries\":[],\"username\":\"Tester0\",\"avatarIndex\":0,\"playtime\":0.0,\"minigames\":[],\"courses\":[]}],\"currentUser\":0,\"currentMinigame\":0,\"currentCourse\":0,\"currentTheme\":0}";
string oneUser = "{\"version\":1537,\"users\":[{\"entries\":[],\"username\":\"Tester0\",\"avatarIndex\":0,\"playtime\":0.0,\"minigames\":[],\"courses\":[]}],\"currentUser\":0,\"currentMinigame\":0,\"currentCourse\":0,\"currentTheme\":0,\"useGPU\":false}";
File.WriteAllText(path, oneUser);
PersistentDataController.PATH = path;
@@ -53,7 +53,7 @@ public class ChangeUserScreenTests
if (i < 4) users += ",";
}
const int currentUser = 2;
string fiveUsers = $"{{\"version\":1027,\"users\":[{users}],\"currentUser\":{currentUser},\"currentMinigame\":0,\"currentCourse\":0,\"currentTheme\":0}}";
string fiveUsers = $"{{\"version\":1537,\"users\":[{users}],\"currentUser\":{currentUser},\"currentMinigame\":0,\"currentCourse\":0,\"currentTheme\":0,\"useGPU\":false}}";
File.WriteAllText(path, fiveUsers);
PersistentDataController.PATH = path;
@@ -62,6 +62,7 @@ public class ChangeUserScreenTests
SystemController.GetInstance().SwapScene(startScreen);
yield return new WaitForSeconds(WAIT_TIME);
}
/// <summary>
@@ -113,7 +114,7 @@ public class ChangeUserScreenTests
Assert.AreEqual(1, UserList.GetUsers().Count);
var cards = GameObject.FindObjectsOfType<UserCard>().ToList();
Assert.AreEqual(1, cards.Count);
Assert.AreEqual(Color.blue, cards[0].gameObject.GetComponent<Image>().color);
Assert.AreEqual(new Color(66 / 255f, 158 / 255f, 189 / 255f, 1f), cards[0].gameObject.GetComponent<Image>().color);
}
/// <summary>
@@ -131,7 +132,7 @@ public class ChangeUserScreenTests
Assert.AreEqual(UserList.GetUsers().Count, cards.Count);
for (int i = 0; i < cards.Count; i++)
{
Color expected = i == currentUser ? Color.blue : Color.gray;
Color expected = i == currentUser ? new Color(66 / 255f, 158 / 255f, 189 / 255f, 1f) : new Color(159 / 255f, 231 / 255f, 245 / 255f, 1f);
Assert.AreEqual(expected, cards[i].gameObject.GetComponent<Image>().color);
}
}
@@ -149,7 +150,7 @@ public class ChangeUserScreenTests
// Before update
for (int i = 0; i < cards.Count; i++)
{
Color expected = i == currentUser ? Color.blue : Color.gray;
Color expected = i == currentUser ? new Color(66 / 255f, 158 / 255f, 189 / 255f, 1f) : new Color(159 / 255f, 231 / 255f, 245 / 255f, 1f);
Assert.AreEqual(expected, cards[i].gameObject.GetComponent<Image>().color);
}
@@ -160,7 +161,7 @@ public class ChangeUserScreenTests
// After update
for (int i = 0; i < cards.Count; i++)
{
Color expected = i == newUser ? Color.blue : Color.gray;
Color expected = i == newUser ? new Color(66 / 255f, 158 / 255f, 189 / 255f, 1f) : new Color(159 / 255f, 231 / 255f, 245 / 255f, 1f);
Assert.AreEqual(expected, cards[i].gameObject.GetComponent<Image>().color);
}
}
@@ -178,7 +179,7 @@ public class ChangeUserScreenTests
// Before update
for (int i = 0; i < cards.Count; i++)
{
Color expected = i == currentUser ? Color.blue : Color.gray;
Color expected = i == currentUser ? new Color(66 / 255f, 158 / 255f, 189 / 255f, 1f) : new Color(159 / 255f, 231 / 255f, 245 / 255f, 1f);
Assert.AreEqual(expected, cards[i].gameObject.GetComponent<Image>().color);
}
@@ -188,7 +189,7 @@ public class ChangeUserScreenTests
// After update
for (int i = 0; i < cards.Count; i++)
{
Color expected = i == currentUser ? Color.blue : Color.gray;
Color expected = i == currentUser ? new Color(66 / 255f, 158 / 255f, 189 / 255f, 1f) : new Color(159 / 255f, 231 / 255f, 245 / 255f, 1f);
Assert.AreEqual(expected, cards[i].gameObject.GetComponent<Image>().color);
}
}
@@ -206,7 +207,7 @@ public class ChangeUserScreenTests
// Before update
for (int i = 0; i < cards.Count; i++)
{
Color expected = i == currentUser ? Color.blue : Color.gray;
Color expected = i == currentUser ? new Color(66 / 255f, 158 / 255f, 189 / 255f, 1f) : new Color(159 / 255f, 231 / 255f, 245 / 255f, 1f);
Assert.AreEqual(expected, cards[i].gameObject.GetComponent<Image>().color);
}
@@ -217,7 +218,7 @@ public class ChangeUserScreenTests
// After update
for (int i = 0; i < cards.Count; i++)
{
Color expected = i == newUser ? Color.blue : Color.gray;
Color expected = i == newUser ? new Color(66 / 255f, 158 / 255f, 189 / 255f, 1f) : new Color(159 / 255f, 231 / 255f, 245 / 255f, 1f);
Assert.AreEqual(expected, cards[i].gameObject.GetComponent<Image>().color);
}
}
@@ -268,7 +269,7 @@ public class ChangeUserScreenTests
var oldCards = GameObject.FindObjectsOfType<UserCard>().ToList();
for (int i = 0; i < oldCards.Count; i++)
{
Color expected = i == currentUser ? Color.blue : Color.gray;
Color expected = i == currentUser ? new Color(66 / 255f, 158 / 255f, 189 / 255f, 1f) : new Color(159 / 255f, 231 / 255f, 245 / 255f, 1f);
Assert.AreEqual(expected, oldCards[i].gameObject.GetComponent<Image>().color);
}
@@ -283,7 +284,7 @@ public class ChangeUserScreenTests
Assert.AreEqual(oldCards.Count - 1, newCards.Count);
for (int i = 0; i < newCards.Count; i++)
{
Color expected = i == (currentUser - 1) ? Color.blue : Color.gray;
Color expected = i == (currentUser - 1) ? new Color(66 / 255f, 158 / 255f, 189 / 255f, 1f) : new Color(159 / 255f, 231 / 255f, 245 / 255f, 1f);
Assert.AreEqual(expected, newCards[i].gameObject.GetComponent<Image>().color);
}
}
@@ -300,7 +301,7 @@ public class ChangeUserScreenTests
var oldCards = GameObject.FindObjectsOfType<UserCard>().ToList();
for (int i = 0; i < oldCards.Count; i++)
{
Color expected = i == currentUser ? Color.blue : Color.gray;
Color expected = i == currentUser ? new Color(66 / 255f, 158 / 255f, 189 / 255f, 1f) : new Color(159 / 255f, 231 / 255f, 245 / 255f, 1f);
Assert.AreEqual(expected, oldCards[i].gameObject.GetComponent<Image>().color);
}
@@ -315,7 +316,7 @@ public class ChangeUserScreenTests
Assert.AreEqual(oldCards.Count - 1, newCards.Count);
for (int i = 0; i < newCards.Count; i++)
{
Color expected = i == currentUser ? Color.blue : Color.gray;
Color expected = i == currentUser ? new Color(66 / 255f, 158 / 255f, 189 / 255f, 1f) : new Color(159 / 255f, 231 / 255f, 245 / 255f, 1f);
Assert.AreEqual(expected, newCards[i].gameObject.GetComponent<Image>().color);
}
}
@@ -332,7 +333,7 @@ public class ChangeUserScreenTests
var oldCards = GameObject.FindObjectsOfType<UserCard>().ToList();
for (int i = 0; i < oldCards.Count; i++)
{
Color expected = i == currentUser ? Color.blue : Color.gray;
Color expected = i == currentUser ? new Color(66 / 255f, 158 / 255f, 189 / 255f, 1f) : new Color(159 / 255f, 231 / 255f, 245 / 255f, 1f);
Assert.AreEqual(expected, oldCards[i].gameObject.GetComponent<Image>().color);
}
@@ -347,7 +348,7 @@ public class ChangeUserScreenTests
Assert.AreEqual(oldCards.Count - 1, newCards.Count);
for (int i = 0; i < newCards.Count; i++)
{
Color expected = i == currentUser ? Color.blue : Color.gray;
Color expected = i == currentUser ? new Color(66 / 255f, 158 / 255f, 189 / 255f, 1f) : new Color(159 / 255f, 231 / 255f, 245 / 255f, 1f);
Assert.AreEqual(expected, newCards[i].gameObject.GetComponent<Image>().color);
}
}
@@ -363,7 +364,7 @@ public class ChangeUserScreenTests
// Before update
var oldCards = GameObject.FindObjectsOfType<UserCard>().ToList();
Assert.AreEqual(1, oldCards.Count);
Assert.AreEqual(Color.blue, oldCards[0].gameObject.GetComponent<Image>().color);
Assert.AreEqual(new Color(66 / 255f, 158 / 255f, 189 / 255f, 1f), oldCards[0].gameObject.GetComponent<Image>().color);
// Update
oldCards[0].DeleteUser();
@@ -373,6 +374,6 @@ public class ChangeUserScreenTests
// After update
var newCards = GameObject.FindObjectsOfType<UserCard>().ToList();
Assert.AreEqual(1, newCards.Count);
Assert.AreEqual(Color.blue, newCards[0].gameObject.GetComponent<Image>().color);
Assert.AreEqual(new Color(66 / 255f, 158 / 255f, 189 / 255f, 1f), newCards[0].gameObject.GetComponent<Image>().color);
}
}

View File

@@ -24,7 +24,7 @@ public class CourseProgressCardTests
{
string path = $"{Application.persistentDataPath}/wesign_unit_test.json";
string course = "{\"entries\":[],\"courseIndex\":0,\"progress\":0.03846153989434242,\"completedLearnables\":1,\"inUseLearnables\":7,\"totalLearnables\":26,\"learnables\":[{\"entries\":[],\"index\":0,\"inUse\":true,\"name\":\"A\",\"progress\":3.0},{\"entries\":[],\"index\":1,\"inUse\":true,\"name\":\"B\",\"progress\":4.5},{\"entries\":[],\"index\":2,\"inUse\":true,\"name\":\"C\",\"progress\":1.5},{\"entries\":[],\"index\":3,\"inUse\":true,\"name\":\"D\",\"progress\":1.5},{\"entries\":[],\"index\":4,\"inUse\":true,\"name\":\"E\",\"progress\":1.5},{\"entries\":[],\"index\":5,\"inUse\":true,\"name\":\"F\",\"progress\":1.5},{\"entries\":[],\"index\":6,\"inUse\":true,\"name\":\"G\",\"progress\":0.0},{\"entries\":[],\"index\":7,\"inUse\":false,\"name\":\"H\",\"progress\":0.0},{\"entries\":[],\"index\":8,\"inUse\":false,\"name\":\"I\",\"progress\":0.0},{\"entries\":[],\"index\":9,\"inUse\":false,\"name\":\"J\",\"progress\":0.0},{\"entries\":[],\"index\":10,\"inUse\":false,\"name\":\"K\",\"progress\":0.0},{\"entries\":[],\"index\":11,\"inUse\":false,\"name\":\"L\",\"progress\":0.0},{\"entries\":[],\"index\":12,\"inUse\":false,\"name\":\"M\",\"progress\":0.0},{\"entries\":[],\"index\":13,\"inUse\":false,\"name\":\"N\",\"progress\":0.0},{\"entries\":[],\"index\":14,\"inUse\":false,\"name\":\"O\",\"progress\":0.0},{\"entries\":[],\"index\":15,\"inUse\":false,\"name\":\"P\",\"progress\":0.0},{\"entries\":[],\"index\":16,\"inUse\":false,\"name\":\"Q\",\"progress\":0.0},{\"entries\":[],\"index\":17,\"inUse\":false,\"name\":\"R\",\"progress\":0.0},{\"entries\":[],\"index\":18,\"inUse\":false,\"name\":\"S\",\"progress\":0.0},{\"entries\":[],\"index\":19,\"inUse\":false,\"name\":\"T\",\"progress\":0.0},{\"entries\":[],\"index\":20,\"inUse\":false,\"name\":\"U\",\"progress\":0.0},{\"entries\":[],\"index\":21,\"inUse\":false,\"name\":\"V\",\"progress\":0.0},{\"entries\":[],\"index\":22,\"inUse\":false,\"name\":\"W\",\"progress\":0.0},{\"entries\":[],\"index\":23,\"inUse\":false,\"name\":\"X\",\"progress\":0.0},{\"entries\":[],\"index\":24,\"inUse\":false,\"name\":\"Y\",\"progress\":0.0},{\"entries\":[],\"index\":25,\"inUse\":false,\"name\":\"Z\",\"progress\":0.0}]}";
string oneUser = $"{{\"version\":1027,\"users\":[{{\"entries\":[],\"username\":\"Tester0\",\"avatarIndex\":0,\"playtime\":0.0,\"minigames\":[],\"courses\":[{course}]}}],\"currentUser\":0,\"currentMinigame\":0,\"currentCourse\":0,\"currentTheme\":0}}";
string oneUser = $"{{\"version\":1537,\"users\":[{{\"entries\":[],\"username\":\"Tester0\",\"avatarIndex\":0,\"playtime\":0.0,\"minigames\":[],\"courses\":[{course}]}}],\"currentUser\":0,\"currentMinigame\":0,\"currentCourse\":0,\"currentTheme\":0,\"useGPU\":false}}";
File.WriteAllText(path, oneUser);
PersistentDataController.PATH = path;

View File

@@ -24,7 +24,7 @@ public class LearnableProgressCardTests
{
string path = $"{Application.persistentDataPath}/wesign_unit_test.json";
string course = "{\"entries\":[],\"courseIndex\":0,\"progress\":0.03846153989434242,\"completedLearnables\":1,\"inUseLearnables\":7,\"totalLearnables\":26,\"learnables\":[{\"entries\":[],\"index\":0,\"inUse\":true,\"name\":\"A\",\"progress\":3.0},{\"entries\":[],\"index\":1,\"inUse\":true,\"name\":\"B\",\"progress\":4.5},{\"entries\":[],\"index\":2,\"inUse\":true,\"name\":\"C\",\"progress\":1.5},{\"entries\":[],\"index\":3,\"inUse\":true,\"name\":\"D\",\"progress\":1.5},{\"entries\":[],\"index\":4,\"inUse\":true,\"name\":\"E\",\"progress\":1.5},{\"entries\":[],\"index\":5,\"inUse\":true,\"name\":\"F\",\"progress\":1.5},{\"entries\":[],\"index\":6,\"inUse\":true,\"name\":\"G\",\"progress\":0.0},{\"entries\":[],\"index\":7,\"inUse\":false,\"name\":\"H\",\"progress\":0.0},{\"entries\":[],\"index\":8,\"inUse\":false,\"name\":\"I\",\"progress\":0.0},{\"entries\":[],\"index\":9,\"inUse\":false,\"name\":\"J\",\"progress\":0.0},{\"entries\":[],\"index\":10,\"inUse\":false,\"name\":\"K\",\"progress\":0.0},{\"entries\":[],\"index\":11,\"inUse\":false,\"name\":\"L\",\"progress\":0.0},{\"entries\":[],\"index\":12,\"inUse\":false,\"name\":\"M\",\"progress\":0.0},{\"entries\":[],\"index\":13,\"inUse\":false,\"name\":\"N\",\"progress\":0.0},{\"entries\":[],\"index\":14,\"inUse\":false,\"name\":\"O\",\"progress\":0.0},{\"entries\":[],\"index\":15,\"inUse\":false,\"name\":\"P\",\"progress\":0.0},{\"entries\":[],\"index\":16,\"inUse\":false,\"name\":\"Q\",\"progress\":0.0},{\"entries\":[],\"index\":17,\"inUse\":false,\"name\":\"R\",\"progress\":0.0},{\"entries\":[],\"index\":18,\"inUse\":false,\"name\":\"S\",\"progress\":0.0},{\"entries\":[],\"index\":19,\"inUse\":false,\"name\":\"T\",\"progress\":0.0},{\"entries\":[],\"index\":20,\"inUse\":false,\"name\":\"U\",\"progress\":0.0},{\"entries\":[],\"index\":21,\"inUse\":false,\"name\":\"V\",\"progress\":0.0},{\"entries\":[],\"index\":22,\"inUse\":false,\"name\":\"W\",\"progress\":0.0},{\"entries\":[],\"index\":23,\"inUse\":false,\"name\":\"X\",\"progress\":0.0},{\"entries\":[],\"index\":24,\"inUse\":false,\"name\":\"Y\",\"progress\":0.0},{\"entries\":[],\"index\":25,\"inUse\":false,\"name\":\"Z\",\"progress\":0.0}]}";
string oneUser = $"{{\"version\":1027,\"users\":[{{\"entries\":[],\"username\":\"Tester0\",\"avatarIndex\":0,\"playtime\":0.0,\"minigames\":[],\"courses\":[{course}]}}],\"currentUser\":0,\"currentMinigame\":0,\"currentCourse\":0,\"currentTheme\":0}}";
string oneUser = $"{{\"version\":1537,\"users\":[{{\"entries\":[],\"username\":\"Tester0\",\"avatarIndex\":0,\"playtime\":0.0,\"minigames\":[],\"courses\":[{course}]}}],\"currentUser\":0,\"currentMinigame\":0,\"currentCourse\":0,\"currentTheme\":0,\"useGPU\":false}}";
File.WriteAllText(path, oneUser);
PersistentDataController.PATH = path;

View File

@@ -23,7 +23,7 @@ public class MinigameProgressCardTests
{
string path = $"{Application.persistentDataPath}/wesign_unit_test.json";
string minigame = "{\"entries\":[],\"minigameIndex\":1,\"latestScores\":[{\"scoreValue\":70,\"time\":\"19/04/2023 22:32:39\"},{\"scoreValue\":55,\"time\":\"20/04/2023 11:50:10\"},{\"scoreValue\":55,\"time\":\"20/04/2023 13:27:15\"}],\"highestScores\":[{\"scoreValue\":70,\"time\":\"19/04/2023 22:32:39\"},{\"scoreValue\":55,\"time\":\"20/04/2023 11:50:10\"},{\"scoreValue\":55,\"time\":\"20/04/2023 13:27:15\"}]}";
string oneUser = $"{{\"version\":1027,\"users\":[{{\"entries\":[],\"username\":\"Tester0\",\"avatarIndex\":0,\"playtime\":0.0,\"minigames\":[{minigame}],\"courses\":[]}}],\"currentUser\":0,\"currentMinigame\":0,\"currentCourse\":0,\"currentTheme\":0}}";
string oneUser = $"{{\"version\":1537,\"users\":[{{\"entries\":[],\"username\":\"Tester0\",\"avatarIndex\":0,\"playtime\":0.0,\"minigames\":[{minigame}],\"courses\":[]}}],\"currentUser\":0,\"currentMinigame\":0,\"currentCourse\":0,\"currentTheme\":0,\"useGPU\":false}}";
File.WriteAllText(path, oneUser);
PersistentDataController.PATH = path;
@@ -44,7 +44,7 @@ public class MinigameProgressCardTests
{
string path = $"{Application.persistentDataPath}/wesign_unit_test.json";
string minigame = "{\"entries\":[],\"minigameIndex\":0,\"latestScores\":[],\"highestScores\":[]}";
string oneUser = $"{{\"version\":1027,\"users\":[{{\"entries\":[],\"username\":\"Tester0\",\"avatarIndex\":0,\"playtime\":0.0,\"minigames\":[{minigame}],\"courses\":[]}}],\"currentUser\":0,\"currentMinigame\":0,\"currentCourse\":0,\"currentTheme\":0}}";
string oneUser = $"{{\"version\":1537,\"users\":[{{\"entries\":[],\"username\":\"Tester0\",\"avatarIndex\":0,\"playtime\":0.0,\"minigames\":[{minigame}],\"courses\":[]}}],\"currentUser\":0,\"currentMinigame\":0,\"currentCourse\":0,\"currentTheme\":0,\"useGPU\":false}}";
File.WriteAllText(path, oneUser);
PersistentDataController.PATH = path;

File diff suppressed because one or more lines are too long

View File

@@ -24,7 +24,7 @@ public class PanelMinigameProgressTests
{
string path = $"{Application.persistentDataPath}/wesign_unit_test.json";
string minigame = "{\"entries\":[],\"minigameIndex\":1,\"latestScores\":[{\"scoreValue\":70,\"time\":\"19/04/2023 22:32:39\"},{\"scoreValue\":55,\"time\":\"20/04/2023 11:50:10\"},{\"scoreValue\":55,\"time\":\"20/04/2023 13:27:15\"}],\"highestScores\":[{\"scoreValue\":70,\"time\":\"19/04/2023 22:32:39\"},{\"scoreValue\":55,\"time\":\"20/04/2023 11:50:10\"},{\"scoreValue\":55,\"time\":\"20/04/2023 13:27:15\"}]}";
string oneUser = $"{{\"version\":1027,\"users\":[{{\"entries\":[],\"username\":\"Tester0\",\"avatarIndex\":0,\"playtime\":0.0,\"minigames\":[{minigame}],\"courses\":[]}}],\"currentUser\":0,\"currentMinigame\":0,\"currentCourse\":0,\"currentTheme\":0}}";
string oneUser = $"{{\"version\":1537,\"users\":[{{\"entries\":[],\"username\":\"Tester0\",\"avatarIndex\":0,\"playtime\":0.0,\"minigames\":[{minigame}],\"courses\":[]}}],\"currentUser\":0,\"currentMinigame\":0,\"currentCourse\":0,\"currentTheme\":0,\"useGPU\":false}}";
File.WriteAllText(path, oneUser);
PersistentDataController.PATH = path;
@@ -44,7 +44,7 @@ public class PanelMinigameProgressTests
private IEnumerator Setup_PanelMinigameProgress_Empty()
{
string path = $"{Application.persistentDataPath}/wesign_unit_test.json";
string oneUser = $"{{\"version\":1027,\"users\":[{{\"entries\":[],\"username\":\"Tester0\",\"avatarIndex\":0,\"playtime\":0.0,\"minigames\":[],\"courses\":[]}}],\"currentUser\":0,\"currentMinigame\":0,\"currentCourse\":0,\"currentTheme\":0}}";
string oneUser = $"{{\"version\":1537,\"users\":[{{\"entries\":[],\"username\":\"Tester0\",\"avatarIndex\":0,\"playtime\":0.0,\"minigames\":[],\"courses\":[]}}],\"currentUser\":0,\"currentMinigame\":0,\"currentCourse\":0,\"currentTheme\":0,\"useGPU\":false}}";
File.WriteAllText(path, oneUser);
PersistentDataController.PATH = path;
@@ -65,7 +65,7 @@ public class PanelMinigameProgressTests
{
string path = $"{Application.persistentDataPath}/wesign_unit_test.json";
string minigame = "{\"entries\":[],\"minigameIndex\":1,\"latestScores\":[],\"highestScores\":[]}";
string oneUser = $"{{\"version\":1027,\"users\":[{{\"entries\":[],\"username\":\"Tester0\",\"avatarIndex\":0,\"playtime\":0.0,\"minigames\":[{minigame}],\"courses\":[]}}],\"currentUser\":0,\"currentMinigame\":0,\"currentCourse\":0,\"currentTheme\":0}}";
string oneUser = $"{{\"version\":1537,\"users\":[{{\"entries\":[],\"username\":\"Tester0\",\"avatarIndex\":0,\"playtime\":0.0,\"minigames\":[{minigame}],\"courses\":[]}}],\"currentUser\":0,\"currentMinigame\":0,\"currentCourse\":0,\"currentTheme\":0,\"useGPU\":false}}";
File.WriteAllText(path, oneUser);
PersistentDataController.PATH = path;
@@ -86,7 +86,7 @@ public class PanelMinigameProgressTests
{
string path = $"{Application.persistentDataPath}/wesign_unit_test.json";
string minigame = "[{\"entries\":[],\"minigameIndex\":1,\"latestScores\":[{\"scoreValue\":70,\"time\":\"20/04/2023 16:08:43\"},{\"scoreValue\":20,\"time\":\"20/04/2023 16:11:53\"}],\"highestScores\":[{\"scoreValue\":70,\"time\":\"20/04/2023 16:08:43\"},{\"scoreValue\":20,\"time\":\"20/04/2023 16:11:53\"}]},{\"entries\":[],\"minigameIndex\":2,\"latestScores\":[{\"scoreValue\":194,\"time\":\"20/04/2023 15:27:41\"},{\"scoreValue\":155,\"time\":\"20/04/2023 15:28:56\"},{\"scoreValue\":84,\"time\":\"20/04/2023 15:42:10\"},{\"scoreValue\":465,\"time\":\"20/04/2023 16:14:22\"}],\"highestScores\":[{\"scoreValue\":465,\"time\":\"20/04/2023 16:14:22\"},{\"scoreValue\":194,\"time\":\"20/04/2023 15:27:41\"},{\"scoreValue\":155,\"time\":\"20/04/2023 15:28:56\"},{\"scoreValue\":84,\"time\":\"20/04/2023 15:42:10\"}]},{\"entries\":[],\"minigameIndex\":0,\"latestScores\":[{\"scoreValue\":1090,\"time\":\"20/04/2023 16:02:14\"},{\"scoreValue\":1180,\"time\":\"20/04/2023 16:07:02\"}],\"highestScores\":[{\"scoreValue\":1180,\"time\":\"20/04/2023 16:07:02\"},{\"scoreValue\":1090,\"time\":\"20/04/2023 16:02:14\"}]}]";
string oneUser = $"{{\"version\":1027,\"users\":[{{\"entries\":[],\"username\":\"Tester0\",\"avatarIndex\":0,\"playtime\":0.0,\"minigames\":{minigame},\"courses\":[]}}],\"currentUser\":0,\"currentMinigame\":0,\"currentCourse\":0,\"currentTheme\":0}}";
string oneUser = $"{{\"version\":1537,\"users\":[{{\"entries\":[],\"username\":\"Tester0\",\"avatarIndex\":0,\"playtime\":0.0,\"minigames\":{minigame},\"courses\":[]}}],\"currentUser\":0,\"currentMinigame\":0,\"currentCourse\":0,\"currentTheme\":0,\"useGPU\":false}}";
File.WriteAllText(path, oneUser);
PersistentDataController.PATH = path;
@@ -109,7 +109,6 @@ public class PanelMinigameProgressTests
PersistentDataController.PATH = null;
}
/// <summary>
/// Test whether every item that needs to be assign in the editor, is assigned
/// </summary>
@@ -130,6 +129,9 @@ public class PanelMinigameProgressTests
Assert.IsNotNull(panel.emptyHighscore);
}
/// <summary>
/// Test whether the panel is correctly initialized
/// </summary>
[UnityTest]
public IEnumerator Test_Start()
{
@@ -145,6 +147,9 @@ public class PanelMinigameProgressTests
Assert.AreEqual(minigame.title, panel.minigameTitle.text);
}
/// <summary>
/// Test whether the panel is correctly initialized when there is no minigame progress
/// </summary>
[UnityTest]
public IEnumerator Test_Start_Empty()
{
@@ -155,6 +160,9 @@ public class PanelMinigameProgressTests
Assert.IsTrue(panel.emptyMinigames.gameObject.activeSelf);
}
/// <summary>
/// Test whether the panel is correctly initialized when there are minigames, but these don't have any score
/// </summary>
[UnityTest]
public IEnumerator Test_Start_NoScorePresent()
{
@@ -182,9 +190,9 @@ public class PanelMinigameProgressTests
currentMinigame.selectActivity.Invoke();
yield return new WaitForSeconds(WAIT_TIME);
Assert.AreEqual(Color.blue, currentMinigame.GetComponent<Image>().color);
Assert.AreEqual(new Color(66 / 255f, 158 / 255f, 189 / 255f, 1f), currentMinigame.GetComponent<Image>().color);
for (int i = 1; i < minigames.Length; i++)
Assert.AreEqual(Color.gray, minigames[i].GetComponent<Image>().color);
Assert.AreEqual(new Color(159 / 255f, 231 / 255f, 245 / 255f, 120 / 255f), minigames[i].GetComponent<Image>().color);
Assert.AreEqual(currentMinigame.title.text, panel.minigameTitle.text);
}

View File

@@ -32,7 +32,7 @@ public class ProgressGraphTests
}
string minigame = $"{{\"entries\":[],\"minigameIndex\":1,\"latestScores\":[{score}],\"highestScores\":[{score}]}}";
string oneUser = $"{{\"version\":1027,\"users\":[{{\"entries\":[],\"username\":\"Tester0\",\"avatarIndex\":0,\"playtime\":0.0,\"minigames\":[{minigame}],\"courses\":[]}}],\"currentUser\":0,\"currentMinigame\":0,\"currentCourse\":0,\"currentTheme\":0}}";
string oneUser = $"{{\"version\":1537,\"users\":[{{\"entries\":[],\"username\":\"Tester0\",\"avatarIndex\":0,\"playtime\":0.0,\"minigames\":[{minigame}],\"courses\":[]}}],\"currentUser\":0,\"currentMinigame\":0,\"currentCourse\":0,\"currentTheme\":0,\"useGPU\":false}}";
File.WriteAllText(path, oneUser);
PersistentDataController.PATH = path;
@@ -62,6 +62,9 @@ public class ProgressGraphTests
Assert.IsNotNull(graph.axesTickMarker);
}
/// <summary>
/// Test whether negative values are correctly plotted
/// </summary>
[UnityTest]
public IEnumerator Test_PlotGraph_Negative()
{
@@ -70,6 +73,9 @@ public class ProgressGraphTests
Assert.IsTrue(true);
}
/// <summary>
/// Test whether values between 0 and 1 are correctly plotted
/// </summary>
[UnityTest]
public IEnumerator Test_PlotGraph_SmallerThen1()
{
@@ -78,6 +84,9 @@ public class ProgressGraphTests
Assert.IsTrue(true);
}
/// <summary>
/// Test whether values around 0 are correctly plotted
/// </summary>
[UnityTest]
public IEnumerator Test_PlotGraph_AroundZero()
{
@@ -86,6 +95,9 @@ public class ProgressGraphTests
Assert.IsTrue(true);
}
/// <summary>
/// Test whether all 0 values are correctly plotted
/// </summary>
[UnityTest]
public IEnumerator Test_PlotGraph_AllZeros()
{
@@ -94,6 +106,9 @@ public class ProgressGraphTests
Assert.IsTrue(true);
}
/// <summary>
/// Test whether values between -1 and 1 are correctly plotted
/// </summary>
[UnityTest]
public IEnumerator Test_PlotGraph_BetweenPos1AndNeg1()
{
@@ -102,6 +117,9 @@ public class ProgressGraphTests
Assert.IsTrue(true);
}
/// <summary>
/// Test whether a single value is correctly plotted
/// </summary>
[UnityTest]
public IEnumerator Test_PlotGraph_Single()
{
@@ -110,6 +128,9 @@ public class ProgressGraphTests
Assert.IsTrue(true);
}
/// <summary>
/// Test whether multiple values are correctly plotted
/// </summary>
[UnityTest]
public IEnumerator Test_PlotGraph_Multiple()
{
@@ -118,6 +139,9 @@ public class ProgressGraphTests
Assert.IsTrue(true);
}
/// <summary>
/// Test whether too many values (capped at 10) are correctly plotted
/// </summary>
[UnityTest]
public IEnumerator Test_PlotGraph_TooMany()
{

View File

@@ -23,7 +23,7 @@ public class UserCardTests
public IEnumerator Setup_UserCard()
{
string path = $"{Application.persistentDataPath}/wesign_unit_test.json";
string oneUser = "{\"version\":1027,\"users\":[{\"entries\":[],\"username\":\"Tester0\",\"avatarIndex\":0,\"playtime\":0.0,\"minigames\":[],\"courses\":[]}],\"currentUser\":0,\"currentMinigame\":0,\"currentCourse\":0,\"currentTheme\":0}";
string oneUser = "{\"version\":1537,\"users\":[{\"entries\":[],\"username\":\"Tester0\",\"avatarIndex\":0,\"playtime\":0.0,\"minigames\":[],\"courses\":[]}],\"currentUser\":0,\"currentMinigame\":0,\"currentCourse\":0,\"currentTheme\":0,\"useGPU\":false}";
File.WriteAllText(path, oneUser);
PersistentDataController.PATH = path;

View File

@@ -25,7 +25,7 @@ public class UserCreationScreenTests
private IEnumerator Setup_UserCreationScreen(string startScreen = "Accounts/Scenes/UserCreationScreen")
{
string path = $"{Application.persistentDataPath}/wesign_unit_test.json";
string oneUser = "{\"version\":1027,\"users\":[{\"entries\":[],\"username\":\"Tester0\",\"avatarIndex\":0,\"playtime\":0.0,\"minigames\":[],\"courses\":[]}],\"currentUser\":0,\"currentMinigame\":0,\"currentCourse\":0,\"currentTheme\":0}";
string oneUser = "{\"version\":1537,\"users\":[{\"entries\":[],\"username\":\"Tester0\",\"avatarIndex\":0,\"playtime\":0.0,\"minigames\":[],\"courses\":[]}],\"currentUser\":0,\"currentMinigame\":0,\"currentCourse\":0,\"currentTheme\":0,\"useGPU\":false}";
File.WriteAllText(path, oneUser);
PersistentDataController.PATH = path;
@@ -44,6 +44,7 @@ public class UserCreationScreenTests
{
PersistentDataController.PATH = null;
}
/// <summary>
/// Test whether every item that needs to be assign in the editor, is assigned
/// </summary>

View File

@@ -26,7 +26,7 @@ public class UserProgressScreenTests
string course = "{\"entries\":[],\"courseIndex\":0,\"progress\":0.03846153989434242,\"completedLearnables\":1,\"inUseLearnables\":7,\"totalLearnables\":26,\"learnables\":[{\"entries\":[],\"index\":0,\"inUse\":true,\"name\":\"A\",\"progress\":3.0},{\"entries\":[],\"index\":1,\"inUse\":true,\"name\":\"B\",\"progress\":4.5},{\"entries\":[],\"index\":2,\"inUse\":true,\"name\":\"C\",\"progress\":1.5},{\"entries\":[],\"index\":3,\"inUse\":true,\"name\":\"D\",\"progress\":1.5},{\"entries\":[],\"index\":4,\"inUse\":true,\"name\":\"E\",\"progress\":1.5},{\"entries\":[],\"index\":5,\"inUse\":true,\"name\":\"F\",\"progress\":1.5},{\"entries\":[],\"index\":6,\"inUse\":true,\"name\":\"G\",\"progress\":0.0},{\"entries\":[],\"index\":7,\"inUse\":false,\"name\":\"H\",\"progress\":0.0},{\"entries\":[],\"index\":8,\"inUse\":false,\"name\":\"I\",\"progress\":0.0},{\"entries\":[],\"index\":9,\"inUse\":false,\"name\":\"J\",\"progress\":0.0},{\"entries\":[],\"index\":10,\"inUse\":false,\"name\":\"K\",\"progress\":0.0},{\"entries\":[],\"index\":11,\"inUse\":false,\"name\":\"L\",\"progress\":0.0},{\"entries\":[],\"index\":12,\"inUse\":false,\"name\":\"M\",\"progress\":0.0},{\"entries\":[],\"index\":13,\"inUse\":false,\"name\":\"N\",\"progress\":0.0},{\"entries\":[],\"index\":14,\"inUse\":false,\"name\":\"O\",\"progress\":0.0},{\"entries\":[],\"index\":15,\"inUse\":false,\"name\":\"P\",\"progress\":0.0},{\"entries\":[],\"index\":16,\"inUse\":false,\"name\":\"Q\",\"progress\":0.0},{\"entries\":[],\"index\":17,\"inUse\":false,\"name\":\"R\",\"progress\":0.0},{\"entries\":[],\"index\":18,\"inUse\":false,\"name\":\"S\",\"progress\":0.0},{\"entries\":[],\"index\":19,\"inUse\":false,\"name\":\"T\",\"progress\":0.0},{\"entries\":[],\"index\":20,\"inUse\":false,\"name\":\"U\",\"progress\":0.0},{\"entries\":[],\"index\":21,\"inUse\":false,\"name\":\"V\",\"progress\":0.0},{\"entries\":[],\"index\":22,\"inUse\":false,\"name\":\"W\",\"progress\":0.0},{\"entries\":[],\"index\":23,\"inUse\":false,\"name\":\"X\",\"progress\":0.0},{\"entries\":[],\"index\":24,\"inUse\":false,\"name\":\"Y\",\"progress\":0.0},{\"entries\":[],\"index\":25,\"inUse\":false,\"name\":\"Z\",\"progress\":0.0}]}";
string minigame = "{\"entries\":[],\"minigameIndex\":1,\"latestScores\":[{\"scoreValue\":70,\"time\":\"19/04/2023 22:32:39\"},{\"scoreValue\":55,\"time\":\"20/04/2023 11:50:10\"},{\"scoreValue\":55,\"time\":\"20/04/2023 13:27:15\"}],\"highestScores\":[{\"scoreValue\":70,\"time\":\"19/04/2023 22:32:39\"},{\"scoreValue\":55,\"time\":\"20/04/2023 11:50:10\"},{\"scoreValue\":55,\"time\":\"20/04/2023 13:27:15\"}]}";
if (!progress) course = minigame = "";
string oneUser = $"{{\"version\":1027,\"users\":[{{\"entries\":[],\"username\":\"Tester0\",\"avatarIndex\":0,\"playtime\":0.0,\"minigames\":[{minigame}],\"courses\":[{course}]}}],\"currentUser\":0,\"currentMinigame\":0,\"currentCourse\":0,\"currentTheme\":0}}";
string oneUser = $"{{\"version\":1537,\"users\":[{{\"entries\":[],\"username\":\"Tester0\",\"avatarIndex\":0,\"playtime\":0.0,\"minigames\":[{minigame}],\"courses\":[{course}]}}],\"currentUser\":0,\"currentMinigame\":0,\"currentCourse\":0,\"currentTheme\":0,\"useGPU\":false}}";
File.WriteAllText(path, oneUser);
PersistentDataController.PATH = path;
@@ -102,6 +102,9 @@ public class UserProgressScreenTests
Assert.IsFalse(userProgressController.minigamesPanel.activeSelf);
}
/// <summary>
/// Test whether the course panel is displayed
/// </summary>
[UnityTest]
public IEnumerator Test_DisplayCourses()
{
@@ -115,6 +118,10 @@ public class UserProgressScreenTests
Assert.IsFalse(userProgressController.minigamesPanel.activeSelf);
}
/// <summary>
/// Test whether the minigames panel is displayed
/// </summary>
/// <returns></returns>
[UnityTest]
public IEnumerator Test_DisplayMinigames()
{

View File

@@ -6,5 +6,6 @@ public enum MinigameIndex
{
SPELLING_BEE,
HANGMAN,
JUST_SIGN
JUST_SIGN,
NEW_MINIGAME
}

View File

@@ -19,7 +19,7 @@ public class PersistentDataController
/// Current implementation version of the PersistentDataController
/// </summary>
/// <remarks>MSB represent sprint version, LSB represent subversion</remarks>
public const int VERSION = 0x04_03;
public const int VERSION = 0x06_01;
/// <summary>
/// Path of the <c>.json</c>-file to store all serialized data
@@ -48,9 +48,17 @@ public class PersistentDataController
/// </summary>
public List<byte> data = new List<byte>();
/// <summary>
/// Create a new PersistentDataEntry
/// </summary>
/// <param name="key"></param>
/// <param name="data"></param>
public PersistentDataEntry(string key, byte[] data) : this(key, data.ToList())
{ }
/// <summary>
/// Create a new PersistentDataEntry
/// </summary>
public PersistentDataEntry(string key, List<byte> data)
{
this.key = key;
@@ -171,10 +179,30 @@ public class PersistentDataController
[Serializable]
public class SavedUserData : PersistentDataContainer
{
/// <summary>
/// The user's username
/// </summary>
public string username = null;
/// <summary>
/// The index of the user's avatar in the UserList.AVATARS list
/// </summary>
public int avatarIndex = -1;
/// <summary>
/// The total playtime of the user
/// </summary>
/// <remarks>Not implemented yet</remarks>
public double playtime = 0.0;
/// <summary>
/// A list of progress on minigames the user has
/// </summary>
public List<SavedMinigameProgress> minigames = new List<SavedMinigameProgress>();
/// <summary>
/// A list of progress on courses the user has
/// </summary>
public List<SavedCourseProgress> courses = new List<SavedCourseProgress>();
}
@@ -210,9 +238,9 @@ public class PersistentDataController
}
/// <summary>
///
/// Check whether there are enough inUse Learnables
/// </summary>
/// <returns> bool which indicates if there are enough inUseLearnables </returns>
/// <returns></returns>
private bool EnoughLearnables()
{
// There need to be more then 5 non completed learnables
@@ -297,9 +325,24 @@ public class PersistentDataController
[Serializable]
public class SavedLearnableProgress : PersistentDataContainer
{
/// <summary>
/// Index of the Learnbable in its Theme
/// </summary>
public int index;
/// <summary>
/// Bool that indicated whether the user already started learning this Learnable
/// </summary>
public bool inUse = false;
/// <summary>
/// Display name of the Learnable
/// </summary>
public string name;
/// <summary>
/// Progress of the learnabe, a number between -5.0 and +5.0
/// </summary>
public float progress = 0.0f;
}
@@ -309,8 +352,19 @@ public class PersistentDataController
[Serializable]
public class SavedMinigameProgress : PersistentDataContainer
{
/// <summary>
/// Index of the minigame
/// </summary>
public MinigameIndex minigameIndex;
/// <summary>
/// The 10 last scores of a user
/// </summary>
public List<Score> latestScores = new List<Score>();
/// <summary>
/// Top 10 scores of a user
/// </summary>
public List<Score> highestScores = new List<Score>();
}
@@ -320,12 +374,56 @@ public class PersistentDataController
[Serializable]
private class SavedDataStructure
{
/// <summary>
/// The version of the PersistentDataController with which this savefile is created
/// </summary>
public int version = VERSION;
/// <summary>
/// A list of all users
/// </summary>
public List<SavedUserData> users = new List<SavedUserData>();
/// <summary>
/// The index of the current user in the this.users list
/// </summary>
public int currentUser = -1;
/// <summary>
/// The index of the current minigame
/// </summary>
public MinigameIndex currentMinigame;
/// <summary>
/// The index of the current course
/// </summary>
public CourseIndex currentCourse;
/// <summary>
/// The index of the current theme
/// </summary>
public ThemeIndex currentTheme;
/// <summary>
/// The use hardware acceleration user preferences
/// </summary>
public bool useGPU = false;
/// <summary>
/// Initiate the SavedDataStructure, by setting the user preferences
/// </summary>
public SavedDataStructure()
{
RestoreSettings();
}
/// <summary>
/// Reset the user preferences to the default values
/// </summary>
public void RestoreSettings()
{
useGPU = false;
}
}
/// <summary>
@@ -364,6 +462,7 @@ public class PersistentDataController
{
json.users.Clear();
json.currentUser = -1;
json.useGPU = false;
}
/// <summary>
@@ -539,4 +638,37 @@ public class PersistentDataController
if (save)
Save();
}
/// <summary>
/// Whether the user wants to use hardware acceleration or not
/// </summary>
public bool IsUsingGPU()
{
return json.useGPU;
}
/// <summary>
/// Set the preference of the user for hardware acceleration
/// </summary>
/// <param name="value">Value of the preference</param>
/// <param name="save">Whether to save the change immediately to disk</param>
public void SetGPUUsage(bool value, bool save = true)
{
json.useGPU = value;
if (save)
Save();
}
/// <summary>
/// Restore preferences to default factory settings
/// </summary>
/// <param name="save">Whether to save the change immediately to disk</param>
public void RestoreSettings(bool save = true)
{
json.RestoreSettings();
if (save)
Save();
}
}

View File

@@ -6,7 +6,14 @@
[Serializable]
public class Score
{
/// <summary>
/// The actual score
/// </summary>
public int scoreValue;
/// <summary>
/// The time when the score is achieved, in string format
/// </summary>
public string time;
}

View File

@@ -12,14 +12,8 @@ public enum ThemeIndex
SIGN_HOBBIES,
SIGN_HOUSE,
SIGN_FAMILY,
SPELLING_GEOGRAPY,
SPELLING_BUILDINGS,
SPELLING_SPORTS,
SPELLING_BASICS,
SPELLING_HOBBIES,
SPELLING_PEOPLE,
SPELLING_FRUIT,
SPELLING_VEGGIES,
SPELLING_COUNTRIES,
SPELLING_WILD,
SPELLING_FARM
SPELLING_FARM,
SPELLING_CAPITALS
}

View File

@@ -41,6 +41,9 @@ public class PersistentDataControllerTests
CIRCLE
}
/// <summary>
/// Setup the PersistentDataController tests
/// </summary>
[SetUp]
public void Setup_PersistentDataController()
{
@@ -49,21 +52,30 @@ public class PersistentDataControllerTests
pdc = PersistentDataController.GetInstance();
}
/// <summary>
/// Cleaning up the tests
/// </summary>
[TearDown]
public void TearDown_PersistentDataController()
{
PersistentDataController.PATH = null;
}
/// <summary>
/// Test whether the singleton instance is correctly returned
/// </summary>
[Test]
public void Test_PersistentDataController_GetInstance()
{
PersistentDataController.PATH = null;
Assert.IsNotNull(PersistentDataController.GetInstance());
Assert.AreEqual(0x04_03, PersistentDataController.VERSION);
Assert.AreEqual(0x06_01, PersistentDataController.VERSION);
Assert.AreEqual($"{Application.persistentDataPath}/wesign_saved_data.json", PersistentDataController.PATH);
}
/// <summary>
/// Test whether all data is correctly cleared
/// </summary>
[Test]
public void Test_PersistentDataController_Clear()
{
@@ -73,6 +85,9 @@ public class PersistentDataControllerTests
Assert.AreEqual(-1, pdc.GetCurrentUser());
}
/// <summary>
/// Test whether an empty savefile can be saved correctly
/// </summary>
[Test]
public void Test_PersistentDataController_Save_Empty()
{
@@ -83,10 +98,13 @@ public class PersistentDataControllerTests
FileAssert.Exists(PATH);
string content = File.ReadAllText(PATH);
string expected = "{\"version\":1027,\"users\":[],\"currentUser\":-1,\"currentMinigame\":0,\"currentCourse\":0,\"currentTheme\":0}";
string expected = "{\"version\":1537,\"users\":[],\"currentUser\":-1,\"currentMinigame\":0,\"currentCourse\":0,\"currentTheme\":0,\"useGPU\":false}";
Assert.AreEqual(expected, content);
}
/// <summary>
/// Test whether a savefile can be created when non already exists
/// </summary>
[Test]
public void Test_PersistentDataController_Save_New()
{
@@ -99,34 +117,46 @@ public class PersistentDataControllerTests
FileAssert.Exists(PATH);
string content = File.ReadAllText(PATH);
string expected = "{\"version\":1027,\"users\":[],\"currentUser\":-1,\"currentMinigame\":0,\"currentCourse\":0,\"currentTheme\":0}";
string expected = "{\"version\":1537,\"users\":[],\"currentUser\":-1,\"currentMinigame\":0,\"currentCourse\":0,\"currentTheme\":0,\"useGPU\":false}";
Assert.AreEqual(expected, content);
}
/// <summary>
/// Test whether an existing savefile can be loaded
/// </summary>
[Test]
public void Test_PersistentDataController_Load_Existing()
{
string content = "{\"version\":1027,\"users\":[],\"currentUser\":-1,\"currentMinigame\":0,\"currentCourse\":0,\"currentTheme\":0}";
string content = "{\"version\":1537,\"users\":[],\"currentUser\":-1,\"currentMinigame\":0,\"currentCourse\":0,\"currentTheme\":0,\"useGPU\":false}";
File.WriteAllText(PATH, content);
Assert.IsTrue(pdc.Load(false));
}
/// <summary>
/// Test whether an exisiting older savefile will create a new correct savefile
/// </summary>
[Test]
public void Test_PersistentDataController_Load_OlderVersion()
{
string content = "{\"version\":1026,\"users\":[],\"currentUser\":-1,\"currentMinigame\":0,\"currentCourse\":0,\"currentTheme\":0}";
string content = "{\"version\":1536,\"users\":[],\"currentUser\":-1,\"currentMinigame\":0,\"currentCourse\":0,\"currentTheme\":0,\"useGPU\":false}";
File.WriteAllText(PATH, content);
Assert.IsFalse(pdc.Load(false));
}
/// <summary>
/// Test whether an exisiting newer savefile will create a new correct savefile
/// </summary>
[Test]
public void Test_PersistentDataController_Load_NewerVersion()
{
string content = "{\"version\":1028,\"users\":[],\"currentUser\":-1,\"currentMinigame\":0,\"currentCourse\":0,\"currentTheme\":0}";
string content = "{\"version\":1538,\"users\":[],\"currentUser\":-1,\"currentMinigame\":0,\"currentCourse\":0,\"currentTheme\":0,\"useGPU\":false}";
File.WriteAllText(PATH, content);
Assert.IsFalse(pdc.Load(false));
}
/// <summary>
/// Test whether the PersistentDataController will fail loading a savefile when no savefile is present
/// </summary>
[Test]
public void Test_PersistentDataController_Load_New()
{
@@ -136,6 +166,9 @@ public class PersistentDataControllerTests
FileAssert.DoesNotExist(PATH);
}
/// <summary>
/// Test whether a corrupted savefile will throw an error
/// </summary>
[Test]
public void Test_PersistentDataController_Load_Exception()
{
@@ -144,23 +177,32 @@ public class PersistentDataControllerTests
Assert.AreEqual("https://www.youtube.com/watch?v=dQw4w9WgXcQ", File.ReadAllText(PATH));
}
/// <summary>
/// Test whether a corrupted savefile will be overriden
/// </summary>
[Test]
public void Test_PersistentDataController_Load_Override()
{
File.WriteAllText(PATH, "https://www.youtube.com/watch?v=dQw4w9WgXcQ");
Assert.IsFalse(pdc.Load(true));
string content = File.ReadAllText(PATH);
string expected = "{\"version\":1027,\"users\":[],\"currentUser\":-1,\"currentMinigame\":0,\"currentCourse\":0,\"currentTheme\":0}";
string expected = "{\"version\":1537,\"users\":[],\"currentUser\":-1,\"currentMinigame\":0,\"currentCourse\":0,\"currentTheme\":0,\"useGPU\":false}";
Assert.AreEqual(expected, content);
}
/// <summary>
/// Test whether the current version is correct
/// </summary>
[Test]
public void Test_PersistentDataController_Version()
{
const int VERSION = 0x04_03;
const int VERSION = 0x06_01;
Assert.AreEqual(VERSION, PersistentDataController.VERSION);
}
/// <summary>
/// Test whether a new user can be added
/// </summary>
[Test]
public void Test_PersistentDataController_AddUser()
{
@@ -174,10 +216,13 @@ public class PersistentDataControllerTests
pdc.AddUser(d);
string content = File.ReadAllText(PATH);
string expected = "{\"version\":1027,\"users\":[{\"entries\":[],\"username\":\"username\",\"avatarIndex\":0,\"playtime\":0.0,\"minigames\":[],\"courses\":[]}],\"currentUser\":0,\"currentMinigame\":0,\"currentCourse\":0,\"currentTheme\":0}";
string expected = "{\"version\":1537,\"users\":[{\"entries\":[],\"username\":\"username\",\"avatarIndex\":0,\"playtime\":0.0,\"minigames\":[],\"courses\":[]}],\"currentUser\":0,\"currentMinigame\":0,\"currentCourse\":0,\"currentTheme\":0,\"useGPU\":false}";
Assert.AreEqual(expected, content);
}
/// <summary>
/// Test whether all users are returned
/// </summary>
[Test]
public void Test_PersistentDataController_GetUsers()
{
@@ -196,6 +241,9 @@ public class PersistentDataControllerTests
Assert.AreEqual(0, users[0].avatarIndex);
}
/// <summary>
/// Test whether the current user is returned
/// </summary>
[Test]
public void Test_PersistentDataController_GetCurrentUser()
{
@@ -211,6 +259,9 @@ public class PersistentDataControllerTests
Assert.AreEqual(0, pdc.GetCurrentUser());
}
/// <summary>
/// Test whether the current user is corrctly changed
/// </summary>
[Test]
public void Test_PersistentDataController_SetCurrentUser()
{
@@ -227,6 +278,9 @@ public class PersistentDataControllerTests
Assert.AreEqual(3, pdc.GetCurrentUser());
}
/// <summary>
/// Test whether setting an invalid current user throws an error
/// </summary>
[Test]
public void Test_PersistentDataController_SetCurrentUser_Invalid()
{
@@ -241,6 +295,9 @@ public class PersistentDataControllerTests
Assert.Throws<IndexOutOfRangeException>(delegate { pdc.SetCurrentUser(3); });
}
/// <summary>
/// Test whether setting the current user for an empty userlist will throw an error
/// </summary>
[Test]
public void Test_PersistentDataController_SetCurrentUser_Empty()
{
@@ -249,6 +306,9 @@ public class PersistentDataControllerTests
Assert.Throws<IndexOutOfRangeException>(delegate { pdc.SetCurrentUser(0); });
}
/// <summary>
/// Test whether a user is correctly removed and the current user is correctly updated
/// </summary>
[Test]
public void Test_PersistentDataController_DeleteUser_BeforeCurrent()
{
@@ -280,6 +340,9 @@ public class PersistentDataControllerTests
}
}
/// <summary>
/// Test whether a user is correctly removed and the current user is correctly updated
/// </summary>
[Test]
public void Test_PersistentDataController_DeleteUser_Current()
{
@@ -311,6 +374,9 @@ public class PersistentDataControllerTests
}
}
/// <summary>
/// Test whether a user is correctly removed and the current user is correctly updated
/// </summary>
[Test]
public void Test_PersistentDataController_DeleteUser_AfterCurrent()
{
@@ -343,6 +409,9 @@ public class PersistentDataControllerTests
}
}
/// <summary>
/// Test whether deleting an invalid user will throw an error
/// </summary>
[Test]
public void Test_PersistentDataController_DeleteUser_Invalid()
{
@@ -357,6 +426,9 @@ public class PersistentDataControllerTests
Assert.Throws<IndexOutOfRangeException>(delegate { pdc.SetCurrentUser(3); });
}
/// <summary>
/// Test whether deleting a user from an empty userlist will throw an error
/// </summary>
[Test]
public void Test_PersistentDataController_DeleteUser_Empty()
{
@@ -365,6 +437,9 @@ public class PersistentDataControllerTests
Assert.Throws<IndexOutOfRangeException>(delegate { pdc.DeleteUser(0); });
}
/// <summary>
/// Test whether the correct current course is returned
/// </summary>
[Test]
public void Test_PersistentDataController_CurrentCourse()
{
@@ -374,6 +449,9 @@ public class PersistentDataControllerTests
Assert.AreEqual(CourseIndex.FINGERSPELLING, pdc.GetCurrentCourse());
}
/// <summary>
/// Test whether the correct current minigame is returned
/// </summary>
[Test]
public void Test_PersistentDataController_CurrentMinigame()
{
@@ -383,6 +461,9 @@ public class PersistentDataControllerTests
Assert.AreEqual(MinigameIndex.SPELLING_BEE, pdc.GetCurrentMinigame());
}
/// <summary>
/// Test whether the correct current theme is returned
/// </summary>
[Test]
public void Test_PersistentDataController_CurrentTheme()
{
@@ -392,6 +473,37 @@ public class PersistentDataControllerTests
Assert.AreEqual(ThemeIndex.SIGN_ALPHABET, pdc.GetCurrentTheme());
}
/// <summary>
/// Test whether hardware acceleration preference is saved correctly
/// </summary>
[Test]
public void Test_PersistentDataController_UseGPU()
{
pdc.Load();
pdc.Clear();
Assert.IsFalse(pdc.IsUsingGPU());
pdc.SetGPUUsage(true);
Assert.IsTrue(pdc.IsUsingGPU());
pdc.SetGPUUsage(false);
Assert.IsFalse(pdc.IsUsingGPU());
}
/// <summary>
/// Test whether restoring user preference is done correctly
/// </summary>
[Test]
public void Test_PersistentDataController_RestoreSettings()
{
pdc.Load();
pdc.Clear();
pdc.SetGPUUsage(true);
pdc.RestoreSettings();
Assert.IsFalse(pdc.IsUsingGPU());
}
/// <summary>
/// Test the creation of a new PersistentDataContainer
/// </summary>
[Test]
public void Test_New_PersistentDataContainer()
{
@@ -400,6 +512,9 @@ public class PersistentDataControllerTests
Assert.Zero(c.entries.Count);
}
/// <summary>
/// Test whether setting an invalid object on a key in a PersitentDataContainer will throw an error
/// </summary>
[Test]
public void Test_PersistentDataContainer_Set_Invalid()
{
@@ -407,6 +522,9 @@ public class PersistentDataControllerTests
Assert.IsFalse(c.Set<object>("key", null));
}
/// <summary>
/// Test whether setting a valid object on duplicate key in a PersitentDataContainer can be done correctly
/// </summary>
[Test]
public void Test_PersistentDataContainer_Set_DuplicateKey()
{
@@ -415,6 +533,9 @@ public class PersistentDataControllerTests
Assert.IsTrue(c.Set<int>("key", 321));
}
/// <summary>
/// Test whether setting an int in a PersitentDataContainer can be done correctly
/// </summary>
[Test]
public void Test_PersistentDataContainer_Set_Int()
{
@@ -422,6 +543,9 @@ public class PersistentDataControllerTests
Assert.IsTrue(c.Set<int>("key", 123));
}
/// <summary>
/// Test whether setting a string in a PersitentDataContainer can be done correctly
/// </summary>
[Test]
public void Test_PersistentDataContainer_Set_String()
{
@@ -429,6 +553,9 @@ public class PersistentDataControllerTests
Assert.IsTrue(c.Set<string>("key", "abc"));
}
/// <summary>
/// Test whether setting a struct in a PersitentDataContainer can be done correctly
/// </summary>
[Test]
public void Test_PersistentDataContainer_Set_Struct()
{
@@ -436,6 +563,9 @@ public class PersistentDataControllerTests
Assert.IsTrue(c.Set<Struct>("key", new Struct()));
}
/// <summary>
/// Test whether setting an enum in a PersitentDataContainer can be done correctly
/// </summary>
[Test]
public void Test_PersistentDataContainer_Set_Enum()
{
@@ -443,6 +573,9 @@ public class PersistentDataControllerTests
Assert.IsTrue(c.Set<Enum>("key", new Enum()));
}
/// <summary>
/// Test whether retrieving the wrong type from a PersistentDataContainer will throw an error
/// </summary>
[Test]
public void Test_PersistentDataContainer_Get_InvalidType()
{
@@ -453,6 +586,9 @@ public class PersistentDataControllerTests
Assert.Throws<InvalidCastException>(delegate { c.Get<Struct>("key"); });
}
/// <summary>
/// Test whether retrieving the an wrong key from a PersistentDataContainer will throw an error
/// </summary>
[Test]
public void Test_PersistentDataContainer_Get_KeyNotFound()
{
@@ -461,6 +597,9 @@ public class PersistentDataControllerTests
Assert.Throws<KeyNotFoundException>(delegate { c.Get<int>("KEY"); });
}
/// <summary>
/// Test whether retrieving the unknown key from a PersistentDataContainer will throw an error
/// </summary>
[Test]
public void Test_PersistentDataContainer_Get_Empty()
{
@@ -468,6 +607,9 @@ public class PersistentDataControllerTests
Assert.Throws<KeyNotFoundException>(delegate { c.Get<int>("key"); });
}
/// <summary>
/// Test whether retrieving an int from a PersistentDataContainer can be done correctly
/// </summary>
[Test]
public void Test_PersistentDataContainer_Get_Int()
{
@@ -476,6 +618,9 @@ public class PersistentDataControllerTests
Assert.AreEqual(123, c.Get<int>("key"));
}
/// <summary>
/// Test whether retrieving a string from a PersistentDataContainer can be done correctly
/// </summary>
[Test]
public void Test_PersistentDataContainer_Get_String()
{
@@ -484,6 +629,9 @@ public class PersistentDataControllerTests
Assert.AreEqual("value", c.Get<string>("key"));
}
/// <summary>
/// Test whether retrieving a struct from a PersistentDataContainer can be done correctly
/// </summary>
[Test]
public void Test_PersistentDataContainer_Get_Struct()
{
@@ -493,6 +641,9 @@ public class PersistentDataControllerTests
Assert.AreEqual(s, c.Get<Struct>("key"));
}
/// <summary>
/// Test whether retrieving an enum from a PersistentDataContainer can be done correctly
/// </summary>
[Test]
public void Test_PersistentDataContainer_Get_Enum()
{
@@ -502,6 +653,9 @@ public class PersistentDataControllerTests
Assert.AreEqual(e, c.Get<Enum>("key"));
}
/// <summary>
/// Test whether removing an invalid key from a PersistentDataContainer will throw an error
/// </summary>
[Test]
public void Test_PersistentDataContainer_Remove_Invalid()
{
@@ -510,6 +664,9 @@ public class PersistentDataControllerTests
Assert.Throws<KeyNotFoundException>(delegate { c.Remove("KEY"); });
}
/// <summary>
/// Test whether removing a non-existing key from a PersistentDataContainer will throw an error
/// </summary>
[Test]
public void Test_PersistentDataContainer_Remove_Empty()
{
@@ -517,6 +674,9 @@ public class PersistentDataControllerTests
Assert.Throws<KeyNotFoundException>(delegate { c.Remove("key"); });
}
/// <summary>
/// Test whether removing an int from a PersistentDataContainer can be done correctly
/// </summary>
[Test]
public void Test_PersistentDataContainer_Remove_Int()
{
@@ -526,6 +686,9 @@ public class PersistentDataControllerTests
Assert.Throws<KeyNotFoundException>(delegate { c.Get<int>("key"); });
}
/// <summary>
/// Test whether removing a string from a PersistentDataContainer can be done correctly
/// </summary>
[Test]
public void Test_PersistentDataContainer_Remove_String()
{
@@ -535,6 +698,9 @@ public class PersistentDataControllerTests
Assert.Throws<KeyNotFoundException>(delegate { c.Get<string>("key"); });
}
/// <summary>
/// Test whether removing a struct from a PersistentDataContainer can be done correctly
/// </summary>
[Test]
public void Test_PersistentDataContainer_Remove_Struct()
{
@@ -545,6 +711,9 @@ public class PersistentDataControllerTests
Assert.Throws<KeyNotFoundException>(delegate { c.Get<Struct>("key"); });
}
/// <summary>
/// Test whether removing an enum from a PersistentDataContainer can be done correctly
/// </summary>
[Test]
public void Test_PersistentDataContainer_Remove_Enum()
{
@@ -554,6 +723,9 @@ public class PersistentDataControllerTests
Assert.Throws<KeyNotFoundException>(delegate { c.Get<Enum>("key"); });
}
/// <summary>
/// Test whether popping an invalid key from a PersistentDataContainer will throw an error
/// </summary>
[Test]
public void Test_PersistentDataContainer_Pop_Invalid()
{
@@ -562,6 +734,9 @@ public class PersistentDataControllerTests
Assert.Throws<KeyNotFoundException>(delegate { c.Remove("KEY"); });
}
/// <summary>
/// Test whether popping a non-existing key from a PersistentDataContainer will throw an error
/// </summary>
[Test]
public void Test_PersistentDataContainer_Pop_Empty()
{
@@ -569,6 +744,9 @@ public class PersistentDataControllerTests
Assert.Throws<KeyNotFoundException>(delegate { c.Remove("KEY"); });
}
/// <summary>
/// Test whether popping an int from a PersistentDataContainer can be done correctly
/// </summary>
[Test]
public void Test_PersistentDataContainer_Pop_Int()
{
@@ -578,6 +756,9 @@ public class PersistentDataControllerTests
Assert.Throws<KeyNotFoundException>(delegate { c.Get<int>("key"); });
}
/// <summary>
/// Test whether popping a string from a PersistentDataContainer can be done correctly
/// </summary>
[Test]
public void Test_PersistentDataContainer_Pop_String()
{
@@ -587,6 +768,9 @@ public class PersistentDataControllerTests
Assert.Throws<KeyNotFoundException>(delegate { c.Get<string>("key"); });
}
/// <summary>
/// Test whether popping a struct from a PersistentDataContainer can be done correctly
/// </summary>
[Test]
public void Test_PersistentDataContainer_Pop_Struct()
{
@@ -597,6 +781,9 @@ public class PersistentDataControllerTests
Assert.Throws<KeyNotFoundException>(delegate { c.Get<Struct>("key"); });
}
/// <summary>
/// Test whether popping an enum from a PersistentDataContainer can be done correctly
/// </summary>
[Test]
public void Test_PersistentDataContainer_Pop_Enum()
{
@@ -606,6 +793,9 @@ public class PersistentDataControllerTests
Assert.Throws<KeyNotFoundException>(delegate { c.Get<Enum>("key"); });
}
/// <summary>
/// Test whether checking for a valid key will return true
/// </summary>
[Test]
public void Test_PersistentDataContainer_Has_ValidKey()
{
@@ -615,6 +805,9 @@ public class PersistentDataControllerTests
Assert.IsTrue(c.Has("key"));
}
/// <summary>
/// Test whether checking for a invalid key will return false
/// </summary>
[Test]
public void Test_PersistentDataContainer_Has_InvalidKey()
{
@@ -624,6 +817,9 @@ public class PersistentDataControllerTests
Assert.IsFalse(c.Has("KEY"));
}
/// <summary>
/// Test whether a Learnable can be saved correctly
/// </summary>
[Test]
public void Test_SavedCourseProgress_AddLearnable_Valid()
{
@@ -637,6 +833,9 @@ public class PersistentDataControllerTests
Assert.AreEqual(0, progress.FindLearnable("learnable").index);
}
/// <summary>
/// Test whether a duplicate name in a Learnable, will not save this Learnable
/// </summary>
[Test]
public void Test_SavedCourseProgress_AddLearnable_DuplicateName()
{
@@ -649,6 +848,9 @@ public class PersistentDataControllerTests
Assert.AreEqual(1, progress.learnables.Count);
}
/// <summary>
/// Test whether a duplicate index in a Learnable, will not save this Learnable
/// </summary>
[Test]
public void Test_SavedCourseProgress_AddLearnable_DuplicateIndex()
{
@@ -661,7 +863,9 @@ public class PersistentDataControllerTests
Assert.AreEqual(1, progress.learnables.Count);
}
/// <summary>
/// Test whether when updating a invalid named Learnable will throw an error
/// </summary>
[Test]
public void Test_SavedCourseProgress_UpdateLearnable_InvalidName()
{
@@ -673,7 +877,9 @@ public class PersistentDataControllerTests
Assert.AreEqual(0.0f, progress.FindLearnable("learnable").progress);
}
/// <summary>
/// Test whether when updating a valid named Learnable will be correctly saved
/// </summary>
[Test]
public void Test_SavedCourseProgress_UpdateLearnable_UpdatesProgress()
{
@@ -685,6 +891,9 @@ public class PersistentDataControllerTests
Assert.AreEqual(3.0f, progress.FindLearnable("learnable").progress);
}
/// <summary>
/// Test whether when updating a Learnable, the progress is capped at 5
/// </summary>
[Test]
public void Test_SavedCourseProgress_UpdateLearnable_CropsProgressAtFive()
{
@@ -697,6 +906,9 @@ public class PersistentDataControllerTests
Assert.AreEqual(1, progress.completedLearnables);
}
/// <summary>
/// Test whether when updating a Learnable, the progress is capped at -5
/// </summary>
[Test]
public void Test_SavedCourseProgress_UpdateLearnable_CropsProgressAtNegativeFive()
{
@@ -709,6 +921,9 @@ public class PersistentDataControllerTests
Assert.AreEqual(0, progress.completedLearnables);
}
/// <summary>
/// Test whether a Learnable can be fountd correctly
/// </summary>
[Test]
public void Test_SavedCourseProgress_FindLearnable()
{
@@ -720,6 +935,9 @@ public class PersistentDataControllerTests
Assert.IsNotNull(progress.FindLearnable("learnable 2"));
}
/// <summary>
/// Test whether no Learnable is returned when there are no learnables
/// </summary>
[Test]
public void Test_SavedCourseProgress_GetRandomLearnable_NoLearnables()
{
@@ -727,6 +945,9 @@ public class PersistentDataControllerTests
Assert.IsNull(progress.GetRandomLearnable());
}
/// <summary>
/// Test whether no Learnable is returned when there are no unused learnables
/// </summary>
[Test]
public void Test_SavedCourseProgress_GetRandomLearnable_NoUnusedLearnables()
{
@@ -739,6 +960,9 @@ public class PersistentDataControllerTests
Assert.IsNull(progress.GetRandomLearnable());
}
/// <summary>
/// Test whether no Learnable is returned when there are only completed learnables
/// </summary>
[Test]
public void Test_SavedCourseProgress_GetRandomLearnable_OnlyCompletedLearnables()
{
@@ -756,6 +980,9 @@ public class PersistentDataControllerTests
Assert.IsNull(progress.GetRandomLearnable());
}
/// <summary>
/// Test whether a random Learnable is returned
/// </summary>
[Test]
public void Test_SavedCourseProgress_GetRandomLearnable_Valid()
{

View File

@@ -8,18 +8,27 @@ using UnityEngine.SceneManagement;
[TestFixture]
public class SystemControllerTests
{
/// <summary>
/// Test whether the singleton instance is correctly returned
/// </summary>
[Test]
public void Test_SystemController_GetInstance()
{
Assert.IsNotNull(SystemController.GetInstance());
}
/// <summary>
/// Test whether a non valid scene also yields a non valid index
/// </summary>
[Test]
public void Test_GetSceneIndex_InvalidScene()
{
Assert.AreEqual(-1, SystemController.GetSceneIndex("a/non/existing/scene"));
}
/// <summary>
/// Test whether a valid scene also yields a valid index
/// </summary>
[Test]
public void Test_GetSceneIndex_ValidScene()
{

View File

@@ -30,7 +30,7 @@ public class SystemControllerTests
public IEnumerator Setup_SystemController()
{
string path = $"{Application.persistentDataPath}/wesign_unit_test.json";
string oneUser = "{\"version\":1027,\"users\":[{\"entries\":[],\"username\":\"Tester0\",\"avatarIndex\":0,\"playtime\":0.0,\"minigames\":[],\"courses\":[]}],\"currentUser\":0,\"currentMinigame\":0,\"currentCourse\":0,\"currentTheme\":0}";
string oneUser = "{\"version\":1537,\"users\":[{\"entries\":[],\"username\":\"Tester0\",\"avatarIndex\":0,\"playtime\":0.0,\"minigames\":[],\"courses\":[]}],\"currentUser\":0,\"currentMinigame\":0,\"currentCourse\":0,\"currentTheme\":0,\"useGPU\":false}";
File.WriteAllText(path, oneUser);
PersistentDataController.PATH = path;

File diff suppressed because one or more lines are too long

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 343 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.2 KiB

After

Width:  |  Height:  |  Size: 251 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.1 KiB

After

Width:  |  Height:  |  Size: 328 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.6 KiB

After

Width:  |  Height:  |  Size: 209 KiB

View File

@@ -113,18 +113,6 @@ TextureImporter:
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Windows Store Apps
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.3 KiB

After

Width:  |  Height:  |  Size: 254 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.3 KiB

After

Width:  |  Height:  |  Size: 212 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.6 KiB

After

Width:  |  Height:  |  Size: 216 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.1 KiB

After

Width:  |  Height:  |  Size: 210 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.7 KiB

After

Width:  |  Height:  |  Size: 269 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.6 KiB

After

Width:  |  Height:  |  Size: 191 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.4 KiB

After

Width:  |  Height:  |  Size: 275 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.4 KiB

After

Width:  |  Height:  |  Size: 316 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 299 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.7 KiB

After

Width:  |  Height:  |  Size: 231 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.3 KiB

After

Width:  |  Height:  |  Size: 251 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 299 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.1 KiB

After

Width:  |  Height:  |  Size: 250 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.4 KiB

After

Width:  |  Height:  |  Size: 186 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.2 KiB

After

Width:  |  Height:  |  Size: 236 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 347 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.6 KiB

After

Width:  |  Height:  |  Size: 296 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.0 KiB

After

Width:  |  Height:  |  Size: 255 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.5 KiB

After

Width:  |  Height:  |  Size: 249 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.6 KiB

After

Width:  |  Height:  |  Size: 235 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.8 KiB

After

Width:  |  Height:  |  Size: 263 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.8 KiB

After

Width:  |  Height:  |  Size: 238 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.0 KiB

After

Width:  |  Height:  |  Size: 190 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.4 KiB

After

Width:  |  Height:  |  Size: 263 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.2 KiB

After

Width:  |  Height:  |  Size: 255 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.9 KiB

After

Width:  |  Height:  |  Size: 253 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 311 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 320 KiB

View File

@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: e0f093ba55158c9409202d27574ac137
guid: eb3888636f6d3c54eb2f187b118c0300
TextureImporter:
internalIDToNameTable: []
externalObjects: {}

Binary file not shown.

After

Width:  |  Height:  |  Size: 242 KiB

View File

@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 71ba9e10934004c4984f0a4900c2bfa6
guid: 6d162cb99e06af74485f5c45e6e42337
TextureImporter:
internalIDToNameTable: []
externalObjects: {}

Binary file not shown.

After

Width:  |  Height:  |  Size: 363 KiB

View File

@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: bf52126d7537c894ca4b576c5eef699b
guid: 8b281290ae30b0640a07c023d71ca000
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
@@ -102,7 +102,7 @@ TextureImporter:
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Windows Store Apps
buildTarget: WebGL
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1

Binary file not shown.

After

Width:  |  Height:  |  Size: 335 KiB

View File

@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 3d2e3ec9ed08795429f60c10f335196b
guid: 7e21e73b3a7d0764ca76c78c57ec21fe
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
@@ -102,7 +102,7 @@ TextureImporter:
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Windows Store Apps
buildTarget: WebGL
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1

Binary file not shown.

After

Width:  |  Height:  |  Size: 249 KiB

View File

@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 77bad74134ac6cd439cc026dafffa3aa
guid: 137ca182d707c2a468c8f0eed7b7804f
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
@@ -102,7 +102,7 @@ TextureImporter:
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Windows Store Apps
buildTarget: WebGL
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1

Binary file not shown.

After

Width:  |  Height:  |  Size: 265 KiB

View File

@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: eeaf3a15c797b6d499d04a1755dfb264
guid: 1a473bf2405572442bc4435ce29f5eb4
TextureImporter:
internalIDToNameTable: []
externalObjects: {}

Binary file not shown.

After

Width:  |  Height:  |  Size: 199 KiB

View File

@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 0b11c08cf900cd041afab0419594dac2
guid: a351ae1c5dd509449b1456d86623e2b0
TextureImporter:
internalIDToNameTable: []
externalObjects: {}

Binary file not shown.

After

Width:  |  Height:  |  Size: 130 KiB

View File

@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 1dbac4bae035dc84f8bb19045a290b3c
guid: 56ec3c67fdc42f64a81bc6d89eb84b44
TextureImporter:
internalIDToNameTable: []
externalObjects: {}

Binary file not shown.

After

Width:  |  Height:  |  Size: 192 KiB

View File

@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 82677c0d46df9ec4cb295bc054c6d56b
guid: d02bf004afc29bc41a8bf6378c79d589
TextureImporter:
internalIDToNameTable: []
externalObjects: {}

Binary file not shown.

After

Width:  |  Height:  |  Size: 129 KiB

View File

@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 712e26ec9b082ad4bb926c4171815e47
guid: e24e216ea3a6d9149ae501634fad4446
TextureImporter:
internalIDToNameTable: []
externalObjects: {}

Binary file not shown.

After

Width:  |  Height:  |  Size: 360 KiB

View File

@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 46d05a2c28542224682bfda441d8af08
guid: bbb58b6c603b2ca4c9ec3285f54a1079
TextureImporter:
internalIDToNameTable: []
externalObjects: {}

Binary file not shown.

After

Width:  |  Height:  |  Size: 248 KiB

View File

@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 42286591a195a7542a4f0922fbe161e2
guid: 55672725cff8a8c4eb2ae1e25afcb77e
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
@@ -102,7 +102,7 @@ TextureImporter:
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Windows Store Apps
buildTarget: WebGL
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1

Binary file not shown.

After

Width:  |  Height:  |  Size: 328 KiB

View File

@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 650f938e5cacbc2409939ab73077b692
guid: b02e61ff602f54c4b9c98b47741d9c6f
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
@@ -102,7 +102,7 @@ TextureImporter:
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Windows Store Apps
buildTarget: WebGL
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1

Binary file not shown.

After

Width:  |  Height:  |  Size: 322 KiB

View File

@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 4d265c68fdb4f644ba22e74523ba7f1b
guid: b23a0e4d366f4eb44b4a67158f7beffa
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
@@ -102,7 +102,7 @@ TextureImporter:
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Windows Store Apps
buildTarget: WebGL
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1

Binary file not shown.

After

Width:  |  Height:  |  Size: 323 KiB

View File

@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: f2a020e24bfa24842bccecf6b36d5b79
guid: 73f6df4715d87f840b2847eaa1714740
TextureImporter:
internalIDToNameTable: []
externalObjects: {}

View File

@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: f470e794786567445a69084a770748d2
guid: 429b6f28cebcd9d40a1621b98e9035df
folderAsset: yes
DefaultImporter:
externalObjects: {}

Binary file not shown.

After

Width:  |  Height:  |  Size: 295 KiB

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