Skip to main content

Création d'une simulation (acc1)

Étape préliminaire pour la création de la simulation

Mettre à jour les taxes

Rendre la simulation général

      • Si nécessaire, rendre la simulation original (copié) plus général afin de simplifier la nouvelle simulation.
        • Si c'est le cas, le dossier {allsims}/UI/SimByModule est créé pour la base de acc1

          image-1715958456706.png

        • Pour se faire, les fichiers modifiés doit avoir un namespace namespace UnikSim.SimByModule au lieu de namespace UnikSim.SimByModule.acc1
          • Si le fichier n'est pas dans gameSpecific, il n'est nécessaire le déplacer 
        • Le nom du fichier doit aussi faire référence à "ByModule" (Ex: StaticDataAcc1 => StaticDataByModule) puisqu'il sera généralisé
          • Si le fichier n'a pas de acc1 dans son nom, il n'est pas nécessaire de le rename
        • Les fichiers doivent aussi se faire déplacer/transfer à SimByModule dans le dossier correspondent
      • Dupliquer une simulation intérieure

        Avant de commencer, créer une branche au nom de la nouvelle simulation sur Git Extensions N'oublie pas de voir les informations supplémentaires à la fin de ce document pour certaines précisions
        • Sur unity:
          1. Faire une copie de GameSpecific/acc1 (Ex: acc2)

            image-1715349059692.png

          2. Renommer toutes les instances de code lié à l'ancienne simulation (Incluant les noms de fichiers et les codes).
            • ATTENTION: Vérifier si les changement n'affecteront pas l'original, avant et après modifications

              image-1715351827963.png

              Un script nommé "renameFiles" est disponible pour renommer les noms de fichiers. {allsims}/node.js/utils/renameFiles.js

            • Pour utiliser renameFiles, il faudra créer une copie temporaire dans le nouveau dossier
            • Ajouter un launch.js temporaire avec les mêmes paramètres

              image-1715973137905.png

            • Puis modifier les paramètres suivant:

              image-1715358703759.png

              • Note 1: Le renameFiles est case sensitive pour find et replace, il se pourrait qu'il faudrait le faire plus d'une fois
              • Note 2: Une fois les refactor des noms faits, il se peut que Unity ne pourra pas compiler. (Certains fichiers possèdent les mêmes noms)

                image-1715374965933.png

            • Pour régler ce problème, il faudra refactor avec Visual Studio chacun de ces fichiers ou refaire l'étape Rendre la simulation général.
              • ATTENTION: Si vous voulez le faire manuellement, assurer vous de ne pas impacter le code originel (copié)
        • Sur node.js:
          1. Faire une copie de {allsims}/node.js/backend/braincloud/server_scripts/acc1 (Ex: acc2)

            image-1715358914757.png

          2. Comme à l'étape précédente, renommer toutes les instances de code lié à l'ancien script (Incluant les noms de fichiers et les codes).
            • ATTENTION: Vérifier si les changement n'affecteront pas l'original, avant et après modifications

              image-1715351827963.png

              Un script nommé "renameFiles" est disponible pour renommer les noms de fichiers. {allsims}/node.js/utils/renameFiles.js

            • Pour utiliser renameFiles, il faudra modifier les paramètres suivant:

              image-1715358703759.png

              • Note 1: Le renameFiles est case sensitive pour find et replace, il se pourrait qu'il faudrait le faire plus d'une fois
        Modification et ajout pour la nouvelle simulation
        • Ajouter tous les switch case:
          • Faites un Ctrl + Shift + F ensuite "acc1" pour trouver toutes les instances de acc1
          • Faites une copie de chaque case avec l'accronyme de votre nouvelle simulation.
            • Par exemple :

              image-1715971131716.png

          • Note : Il ne sera pas nécessaire de faire de nouvelle fichier de traduction. En acc_X, le même fichier sera utilisé
        • Modifier la class static pour StaticDataByModule:
          • Le fichier "StaticDataAccX" (Renommer par l'étape précédent), devra être modifier afin d'identifier le fichier

            image-1715970930378.png

          • Ajouter la class static à CreateStaticData dans Factory

            image-1715971062472.png

        • Ajouter une nouvelle variante de MainControlStudentByModule et MainControlTeacherByModule:
          • Si la copie de votre simulation ne contient pas de MainControlStudentAccX ou MainControlTeacherAccX, veuillez suivre les étapes suivantes, sinon passez cette étape
            • Méthode 1: Faire une copie de MainControlStudentAcc1 et MainControlTeacherAcc1 dans la nouvelle simulation et le renommer en conséquent

        Situé à {allsims}/GameSpecific/acc1/Resources/Prefabs/UI

            • Méthode 2: Créer une variante avec MainControlStudentByModule et MainControlTeacherByModule

        Situé à {allsims}/UI/SimByModule/acc1/Resources/Prefabs/UI

              • Clique droite, puis Create>Prefab Variant
              • Déplacer le fichier au bons endroit et le renommer en conséquent
        • Partie Doozy:

        Situé à Resources>MainGraph

          • Ajouter un nouveau output sur Login avec le nom approprié (Ex: acc2)

            image-1715978028871.png

          • Ajouter un nouveau node (clique droite) avec un nom approprié

            image-1715978158264.png

            • Dans ce node, ajoutez le AccXSubGraph

              image-1715978434812.png

          • Connecter le output avec le nouveau node
          • Si la duplication c'est bien terminé, il ne sera pas nécessaire de modifier AccXSubGraph
        • Modifier les scènes accXTeacher et accXStudent :

        Situé à GameSpecific/accX/Resources/Scenes

          • Dans la section DecisionsPanel (Hierarchy), modifier le "Decisions Controls" pour votre simulation

            image-1716315794590.png

        Modification des thèmes de la simulation
        • Remplacer les images de la nouvelle simulation avec le thème choisi :
          • Écran titre : accX
          • Écran de jeu : bg
          • Note : Il serait peut-être intéressant de demander les images à l'équipe pour éviter des problèmes de choix esthétiques ou de design

        Situé à GameSpecific/accX/Resources/images

          • Pour modifier bg, il faudra allé sur la scène de la nouvelle simulation (accXTeacher et accXStudent, vous devriez le faire sur les deux scènes)

        Situé à GameSpecific/accX/Resources/Scenes

            • Dans MainView, modifier "Source Image"

              image-1716315374300.png

        • Ajouter le titre dans LoginControl:
          • Faire une copie de la simulation originel (copié) et le renommer

            image-1715978670608.png

          • Modifier le script LoginTitle dans le menu de l'inspecteur

            image-1715978741446.png

          • Ajouter dans le google sheet shared_text
            • accX_theme_label (la couleur)
            • accX_login_title (le titre principal, dans ce cas "Comptabilité X")
            • accX_login_subtitle (le nom de la nouvelle simulation)

              image-1715979871555.png

          • Dans AccXTitle>Title2
            • Modifier le Text Uid pour accX_login_title
          • Dans AccXTitle>Title3
            • Modifier le Text Uid pour accX_login_subtitle
          • Faire un importTextShared pour voir les changements

        Situé à {allsims}/node.js/exports/importTextShared.bat

        • Modifier le thème de couleur de la simulation :
          • Sur la scène de game, dans LoginBackgroundControl, ajouter le "Login Title" dans "Login Titles"

            image-1716318345076.png

        Le login title à ajouter devrait se trouver à GameSpecific/accX/Resources/AccXSkin

          • Dans AccXSkin :
            • Modifier le gameUid
            • Modifier le thème de couleur
        Google Sheet et StaticData
        • Faire une copie du googleSheet sim_accounting_1 :

        Situé à "Shared With Me/Dev/Games/acc1 - compta_cegep/sim_accounting_1"

          • Faire une copie du fichier

            image-1716561266690.png

          • Renommer le fichier (modifier le numéro)
          • Modifier le fichier si nécessaire
            • Note : Un fichier de base existe pour tous les simulations accounting

        sim_byModule

        • Modifier les imports de fichiers :
          • Il faudra alors updater {AllSimsRepository}/node.js/exports/exportAllData.js afin de pouvoir exporter les nouveaux document créer avec la structure suivante:

            image-1716563572879.png

            • Si nécessaire, modifier importAllDataGoogleSheet avec "withBaseV = true" pour import aussi la base (sim_byModule).

              image-1716583010299.png

          • Mettre la première partie de l'url (après "d/") du document sim_accounting_X
          • Dans les autres plus specifiques (Ex : partners): Mettre le "gid" de l'url
            • games.accX.tabs = obtenir les valeurs sur googleSheet
            • games.accX.additionalData = les valeurs sont à l'extérieurs du googleSheet (se trouve directement sur Unity)
        • Importer les fichiers sim_accounting_X pour la nouvelle simulation :
          • À l'aide de la commande "Google Sheet - Import All" de node.js avec les valeurs appropriés
        • Exporter les fichiers sur Braincloud :
          • À l'aide de la commande "Google Sheet - Export All Data" de node.js avec les valeurs appropriés (StaticData)
          • À l'aide de la commande "Google Sheet - Export All Data" de node.js avec les valeurs appropriés (StaticDataChunk)
        Information supplémentaire
        • Note 1 : Les simulations en "accounting" ou "accX" sont tous mis dans une base nommé byModule (ex: braincloud>staticData, node.js>...>byModule_utils, UI>SimByModule, etc.)
        • Note 2 : Certains/Plusieurs changements risquent de briser Unity. Il faudra alors faire un "Reimport All"

          image-1716906903097.png