[Resolu][MY/AL]Réinitialisation à la fin de l'exécution

Pour les scripts écrits en C#
Règles du forum
Merci de respecter la NOMENCLATURE suivante pour vos TITRES de messages :

Commencez par le niveau de vos scripts
DB = Débutant
MY = Moyen
CF = Confirmé

Puis le domaine d'application
-RS = Réseau
-AL = Algorithmie

Exemple :

[DB-RS] Mouvement perso multijoueur
EmileF
Messages : 678
Inscription : 18 Mars 2017 19:39

[Resolu][MY/AL]Réinitialisation à la fin de l'exécution

Message par EmileF » 28 Fév 2019 11:00

Bonjour,

j'ai de nouveau un petit soucis

Au démarrage de l'exécution, je désactive (SetActive(false)) certains GameObjects visibles dans l'éditeur et que je ne veux pas qu'ils soient visibles dans le jeu, et à l'inverse j'active certains autres.

Normalement quand l'exécution s'arrête tout revient comme précédemment.

Hé bien voilà que maintenant ça ne se réinitialise plus et je n'arrive pas à comprendre pourquoi.

Si c'est déjà arrivé à quelqu'un ou que quelqu'un sait comment réparer ça, je lui serai éternellement reconnaissant :hehe: :hehe:

en tout cas merci
Dernière édition par EmileF le 01 Mars 2019 10:45, édité 1 fois.
La différence entre l'intelligence et la stupidité est que l'intelligence est limitée.

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6222
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: [MY/AL]Réinitialisation à la fin de l'exécution

Message par boubouk50 » 28 Fév 2019 12:04

Normalement, les actions au runtime ne sont pas répercutées sur l'éditeur.
Mis à part un script Editeur ou un bug, je ne vois pas trop...
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation

EmileF
Messages : 678
Inscription : 18 Mars 2017 19:39

Re: [MY/AL]Réinitialisation à la fin de l'exécution

Message par EmileF » 28 Fév 2019 16:50

Merci Boubouk,

c'est bien ce que j'avais remarqué.

J'ai 2 scripts Editeur
Un qui me permet de récupérer la position de la caméra
et un autre: un AutoSave

Voila les scripts :

Code : Tout sélectionner

using System.Collections;
using System.Collections.Generic;
using UnityEditor;
using UnityEngine;

[CustomEditor(typeof(CameraClass))]
public class CameraEditor : Editor
{
    public override void OnInspectorGUI()
    {
        DrawDefaultInspector();

        CameraClass cible = (CameraClass)target;
        if (GUILayout.Button("Recupere Valeurs"))
        {
            cible.RecupereValues();
        }
    }
}

Code : Tout sélectionner

#if UNITY_EDITOR
using System;
using System.IO;
using UnityEditor;
using UnityEditor.SceneManagement;
using UnityEngine;

[InitializeOnLoad]

#if false    //Changer cela pour "#if true" Si vous souhaitez désélectionner le script temporairement(sans devoir le supprimer)
public class OnUnityLoad
{
    static OnUnityLoad()
    {
        EditorApplication.playmodeStateChanged = () =>
        {
            if (EditorApplication.isPlayingOrWillChangePlaymode && !EditorApplication.isPlaying)
                Debug.Log("*** WARNING:Auto-Saving DISABLED ***" + EditorApplication.currentScene);
        };
    }
}

#else
public class OnUnityLoad
{
    static OnUnityLoad()
    {
        EditorApplication.playmodeStateChanged = () =>
        {
            if (EditorApplication.isPlayingOrWillChangePlaymode && !EditorApplication.isPlaying)
            {
                // Unity 5+
                Debug.Log("Auto-saving scene and any asset edits" + EditorSceneManager.GetActiveScene());
                EditorSceneManager.SaveOpenScenes();
                AssetDatabase.SaveAssets();

                // Old code for Unity 4.6 and below users below -------------------
                //Debug.Log("Auto-saving scene " + EditorApplication.currentScene);
                //EditorApplication.SaveScene();
                //EditorApplication.SaveAssets();
            }
        };
    }
}

#endif
#endif  // #if UNITY_EDITOR


le seul qui je pense pourrait créer des problème c'est l'AutoSave, que j'ai téléchargé, il n'est pas de mon cru, mais ça fait des années que je l’utilise avec unity5 et quelques mois avec Unity 2018 et je n'ai jamais eu ce soucis.
J'ai ajouté ces derniers jours le Hub de Unity je ne pense pas que ce soit ça non plus.
Et il y a aussi les packages qui me génère 45 erreurs que je n'arrive pas à corriger, malgré les recherches que j'ai fait, et même ici notamment. C'est peut-être l'un d'eux
Je ne sais pas, je n'y comprends rien
La différence entre l'intelligence et la stupidité est que l'intelligence est limitée.

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6222
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: [MY/AL]Réinitialisation à la fin de l'exécution

Message par boubouk50 » 28 Fév 2019 17:05

Change le #if pour qu'il soit inactif et teste si les changements faits en runtime sont conservés ou non.
Ce script, d'après ce qu'il décrit, a pour but justement de garder les modifications effectuées en runtime. Donc, il y a de fortes chances que ce soit lui le criminel.
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation

EmileF
Messages : 678
Inscription : 18 Mars 2017 19:39

Re: [MY/AL]Réinitialisation à la fin de l'exécution

Message par EmileF » 28 Fév 2019 17:17

J'ai fait ce que tu m'as proposé, testé plusieurs fois, et ça ne change rien au problème.

J'en doutais un peu d'ailleurs, car ça fait des années que j'utilise ce script sans soucis.

Et c'est un bug qui est apparu soudainement sur un jeu sur lequel je travaille déjà depuis un certain temps.

Je vais essayer de le reprendre à partir d'un projet vierge, mais ça m'ennui de devoir tout réinstaller.
La différence entre l'intelligence et la stupidité est que l'intelligence est limitée.

EmileF
Messages : 678
Inscription : 18 Mars 2017 19:39

Re: [MY/AL]Réinitialisation à la fin de l'exécution

Message par EmileF » 01 Mars 2019 10:44

Bon, voilà j'ai réglé mes problèmes :

Pour ce qui est des 45 erreurs que j'avais lors du débogage sur Visual Studio 2017, il suffisait de mettre à jour VS2017 en cliquant sur le petit drapeau en haut à droite. Je suis tombé sur un forum qui en parlait, j'ai essayé et ça a marché.

Pour ce qui est de la réinitialisation à la fin de l’exécution, j'ai fait un package de mon jeu, créé un nouveau projet vierge, et ajouté ce package dans mon nouveau projet. Ça a réglé le problème. Je n'ai pas compris le pourquoi, mais c'est nickel.

Voilà pour le cas ou ça pourrait servir à quelqu'un.

a bientôt et merci
La différence entre l'intelligence et la stupidité est que l'intelligence est limitée.

Répondre

Revenir vers « (C#) CSharp »