Kaynağa Gözat

Merge branch 'prisla2' of ssh://200.144.254.107:2245/LInE/Ifractions-web into fix/c1-theme

lairaalmas 3 ay önce
ebeveyn
işleme
15383f8eed

+ 21 - 1
assets/lang/en_US

@@ -63,4 +63,24 @@ results=RESULTS
 student=Student
 submit=Submit your assignment below
 professor=Professor
-scale=Scale
+scale=Scale
+s1_a_description=TODO
+s1_b_description=TODO
+s2_a_description=TODO
+s2_b_description=TODO
+c1_a_description=TODO
+c1_b_description=TODO
+op_plus_description=TODO
+op_minus_description=TODO
+op_mixed_description=TODO
+op_equals_description=TODO
+diff_1_description=TODO
+diff_2_description=TODO
+diff_3_description=TODO
+s2_diff_1_description=TODO
+s2_diff_2_description=TODO
+s2_diff_3_description=TODO
+s2_diff_4_description=TODO
+s2_diff_5_description=TODO
+label_description=TODO
+info_description=TODO

+ 21 - 1
assets/lang/es_ES

@@ -63,4 +63,24 @@ results=RESULTADOS
 student=Estudiante
 submit=Envía tu tarea a continuación
 professor=Professor
-scale=Escala
+scale=Escala
+s1_a_description=TODO
+s1_b_description=TODO
+s2_a_description=TODO
+s2_b_description=TODO
+c1_a_description=TODO
+c1_b_description=TODO
+op_plus_description=TODO
+op_minus_description=TODO
+op_mixed_description=TODO
+op_equals_description=TODO
+diff_1_description=TODO
+diff_2_description=TODO
+diff_3_description=TODO
+s2_diff_1_description=TODO
+s2_diff_2_description=TODO
+s2_diff_3_description=TODO
+s2_diff_4_description=TODO
+s2_diff_5_description=TODO
+label_description=TODO
+info_description=TODO

+ 21 - 1
assets/lang/fr_FR

@@ -63,4 +63,24 @@ results=RÉSULTATS
 student=Étudiant
 submit=Soumettez votre mission ci-dessous
 professor=Professeur
-scale=Balance
+scale=Balance
+s1_a_description=TODO
+s1_b_description=TODO
+s2_a_description=TODO
+s2_b_description=TODO
+c1_a_description=TODO
+c1_b_description=TODO
+op_plus_description=TODO
+op_minus_description=TODO
+op_mixed_description=TODO
+op_equals_description=TODO
+diff_1_description=TODO
+diff_2_description=TODO
+diff_3_description=TODO
+s2_diff_1_description=TODO
+s2_diff_2_description=TODO
+s2_diff_3_description=TODO
+s2_diff_4_description=TODO
+s2_diff_5_description=TODO
+label_description=TODO
+info_description=TODO

+ 21 - 1
assets/lang/it_IT

@@ -63,4 +63,24 @@ results=RISULTATI
 student=Alunno
 submit=Invia il tuo compito qui sotto
 professor=Professore
-scale=Bilancia
+scale=Bilancia
+s1_a_description=TODO
+s1_b_description=TODO
+s2_a_description=TODO
+s2_b_description=TODO
+c1_a_description=TODO
+c1_b_description=TODO
+op_plus_description=TODO
+op_minus_description=TODO
+op_mixed_description=TODO
+op_equals_description=TODO
+diff_1_description=TODO
+diff_2_description=TODO
+diff_3_description=TODO
+s2_diff_1_description=TODO
+s2_diff_2_description=TODO
+s2_diff_3_description=TODO
+s2_diff_4_description=TODO
+s2_diff_5_description=TODO
+label_description=TODO
+info_description=TODO

+ 21 - 1
assets/lang/pt_BR

@@ -63,4 +63,24 @@ results=RESULTADOS
 student=Aluno
 submit=Envie sua tarefa abaixo
 professor=Professor
-scale=Balança
+scale=Balança
+s1_a_description=Selecione o solo
+s1_b_description=Selecione os blocos
+s2_a_description=Retângulo superior tem mais subdivisões
+s2_b_description=Retângulo inferior tem mais subdivisões
+c1_a_description=Selecione a pipa
+c1_b_description=Selecione os arcos
+op_plus_description=Soma de frações
+op_minus_description=Subtração de frações
+op_mixed_description=Soma e Subtração de frações
+op_equals_description=Igualdade de frações
+diff_1_description=Frações do tipo 1/1
+diff_2_description=Frações do tipo 1/1 e 1/2
+diff_3_description=Frações do tipo 1/1, 1/2 e 1/4
+s2_diff_1_description=Quanto maior a dificuldade, mais subdivisões
+s2_diff_2_description=Quanto maior a dificuldade, mais subdivisões
+s2_diff_3_description=Quanto maior a dificuldade, mais subdivisões
+s2_diff_4_description=Quanto maior a dificuldade, mais subdivisões
+s2_diff_5_description=Quanto maior a dificuldade, mais subdivisões
+label_description=Mostrar frações do lado da figuras
+info_description=Saiba mais

+ 33 - 0
js/globals/globals_control.js

@@ -170,6 +170,17 @@ const gameList = [
       customMenu: {
         gameModeBtn: ['mode_0', 'mode_1'],
         gameOperationBtn: ['operation_plus', 'operation_minus'],
+        gameModeDescription: ['s1_a_description', 's1_b_description'],
+        gameOperationDescription: [
+          'op_plus_description',
+          'op_minus_description',
+        ],
+        gameDifficultyDescription: [
+          'diff_1_description',
+          'diff_2_description',
+          'diff_3_description',
+        ],
+        gameLabelDescription: 'label_description',
         auxiliarTitle: (x, y, offsetW, offsetH) => {
           game.add.text(
             x + 5 * offsetW,
@@ -312,6 +323,18 @@ const gameList = [
       },
       customMenu: {
         gameModeBtn: ['mode_2', 'mode_3'],
+        gameModeDescription: ['c1_a_description', 'c1_b_description'],
+        gameOperationDescription: [
+          'op_plus_description',
+          'op_minus_description',
+          'op_mixed_description',
+        ],
+        gameDifficultyDescription: [
+          'diff_1_description',
+          'diff_2_description',
+          'diff_3_description',
+        ],
+        gameLabelDescription: 'label_description',
         gameOperationBtn: [
           'operation_plus',
           'operation_minus',
@@ -454,6 +477,16 @@ const gameList = [
       customMenu: {
         gameModeBtn: ['mode_4', 'mode_5'],
         gameOperationBtn: ['operation_equals'],
+        gameModeDescription: ['s2_a_description', 's2_b_description'],
+        gameOperationDescription: ['op_equals_description'],
+        gameDifficultyDescription: [
+          's2_diff_1_description',
+          's2_diff_2_description',
+          's2_diff_3_description',
+          's2_diff_4_description',
+          's2_diff_5_description',
+        ],
+        gameLabelDescription: 'label_description',
         auxiliarTitle: (x, y, offsetW, offsetH) => {
           game.add.text(
             x + 5 * offsetW,

+ 33 - 2
js/menus/menu_custom.js

@@ -39,6 +39,13 @@ const customMenuState = {
         ...textStyles.h1_,
         fill: colors.green,
       });
+      // Subtitle : <game mode>
+      this.lbl_description = game.add.text(
+        context.canvas.width / 2,
+        170,
+        '',
+        textStyles.h2_
+      );
 
       // Loads navigation icons
       navigation.add.left(['back'], 'menu');
@@ -58,7 +65,7 @@ const customMenuState = {
       let y = getFrameInfo().y;
 
       this.renderSectionTitles(x, y, offsetW, offsetH);
-      this.renderCheckBox(x, y, offsetW, offsetH);
+      this.renderCheckBox(x, y, offsetW, offsetH, curGame);
       this.renderModeSection(x, y, offsetW, offsetH, curGame);
       this.renderOperationSection(x, y, offsetW, offsetH, curGame);
       this.renderDifficultySection(x, y, offsetW, offsetH, curGame);
@@ -213,6 +220,7 @@ const customMenuState = {
     if (overIcon) {
       // If pointer is over icon
       document.body.style.cursor = 'pointer';
+      self.showTitle(self.menuIcons[overIcon]);
       self.menuIcons.forEach((cur) => {
         if (cur.iconType == self.menuIcons[overIcon].iconType) {
           // If its in the same icon category
@@ -228,6 +236,7 @@ const customMenuState = {
       });
     } else {
       // If pointer is not over icon
+      self.clearTitle();
       if (self.enterText) self.enterText.style = textStyles.btn;
       self.menuIcons.forEach((cur) => {
         cur.scale = cur.initialScale;
@@ -275,7 +284,7 @@ const customMenuState = {
     gameList[gameId].assets.customMenu.auxiliarTitle(x, y, offsetW, offsetH);
   },
 
-  renderCheckBox: function (x, y, offsetW, offsetH) {
+  renderCheckBox: function (x, y, offsetW, offsetH, curGame) {
     y += 60;
     const frame = showFractions ? 1 : 0;
 
@@ -288,6 +297,8 @@ const customMenuState = {
     );
     selectionBox.anchor(0.5, 0.5);
     selectionBox.iconType = 'selectionBox';
+    selectionBox.description = curGame.assets.customMenu.gameLabelDescription;
+
     self.menuIcons.push(selectionBox);
   },
 
@@ -312,6 +323,7 @@ const customMenuState = {
       );
       icon.anchor(0.5, 0.5);
 
+      icon.description = curGame.assets.customMenu.gameModeDescription[i];
       icon.gameMode = curGame.gameMode[i];
       icon.iconType = 'gameMode';
 
@@ -347,6 +359,7 @@ const customMenuState = {
         1
       );
       icon.anchor(0.5, 0.5);
+      icon.description = curGame.assets.customMenu.gameOperationDescription[i];
 
       icon.gameOperation = curGame.gameOperation[i];
       icon.iconType = 'gameOperation';
@@ -379,6 +392,7 @@ const customMenuState = {
 
       const icon = game.add.sprite(curX, y - 5, 'btn_square', 1, 0.8);
       icon.anchor(0.5, 0.5);
+      icon.description = curGame.assets.customMenu.gameDifficultyDescription[i];
       icon.difficulty = i + 1;
       icon.iconType = 'difficulty';
 
@@ -462,4 +476,21 @@ const customMenuState = {
 
     document.querySelector('.ifr-modal__infobox').innerHTML = content;
   },
+
+  /**
+   * Display the description the game mode on screen
+   *
+   * @param {object} icon icon for the game mode
+   */
+  showTitle: function (icon) {
+    if (icon.iconType !== 'infoIcon')
+      self.lbl_description.name = game.lang[icon.description];
+  },
+
+  /**
+   * Remove the description the game mode from screen
+   */
+  clearTitle: function () {
+    self.lbl_description.name = '';
+  },
 };