Création d'une simulation (acc1) Étape préliminaire pour la création de la simulation Mettre à jour les taxes Avant de commencer, faire une mise à jour manuel des taxes si c'est pertinent pour l'année actuel: https://wiki.uniksim.com/books/programmeur/page/proc%C3%A9dure-annuel-pour-updater-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 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: Faire une copie de GameSpecific/acc1 (Ex: acc2) 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 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 Puis modifier les paramètres suivant: 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) 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: Faire une copie de {allsims}/node.js/backend/braincloud/server_scripts/acc1 (Ex: acc2) 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 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: 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 : 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 Ajouter la class static à CreateStaticData dans Factory 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) Ajouter un nouveau node (clique droite) avec un nom approprié Dans ce node, ajoutez le AccXSubGraph 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 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" Ajouter le titre dans LoginControl: Faire une copie de la simulation originel (copié) et le renommer Modifier le script LoginTitle dans le menu de l'inspecteur 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) 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" 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 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: Si nécessaire, modifier importAllDataGoogleSheet avec "withBaseV = true" pour import aussi la base (sim_byModule). 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"