Je souhaite stocker mes données lorsque la scène courante en cours a été déchargée. A cet effet, je l'ai écrit le code suivant:MissingReferenceException au moment du déchargement de la scène
void OnDisable()
{
BackUpPuzzleData();
}
public void BackUpPuzzleData()
{
if (DataStorage.RetrievePuzzleStatus (difficultyLevel, puzzleId) == Constants.PUZZLE_NOT_OPENED
&& DataStorage.RetrievePuzzleStatus (difficultyLevel, puzzleId) != Constants.PUZZLE_COMPLETED)
DataStorage.StorePuzzleStatus (difficultyLevel, puzzleId, Constants.PUZZLE_RUNNING);
if (DataStorage.RetrievePuzzleStatus (difficultyLevel, puzzleId) == Constants.PUZZLE_RUNNING)
StorePuzzleData();
}
private void StorePuzzleData()
{
DataStorage.StorePuzzleTimePassed (difficultyLevel, puzzleId, GameController.gamePlayTime);
foreach (Transform cell in gridTransform) {
CellInformation cellInfo = cell.GetComponent<CellInformation>();
if (cellInfo != null) {
CellStorage.StorePuzzleCellNumber (difficultyLevel, puzzleId, cellInfo.RowIndex, cellInfo.ColIndex, cellInfo.number);
CellStorage.StorePuzzleCellColor (difficultyLevel, puzzleId, cellInfo.RowIndex, cellInfo.ColIndex, cellInfo.CellColor);
CellStorage.StorePuzzleCellDisplayColor (difficultyLevel, puzzleId, cellInfo.RowIndex, cellInfo.ColIndex, cellInfo.CellDisplayColor);
}
}
}
Mais quand la méthode OnDisable est appelée à ce moment-Console me donner l'erreur suivante:
Je l'ai déjà mis en ordre d'exécution des certificats dans le projet paramètres alors pourquoi je reçois ce genre d'erreur? Fondamentalement, je veux enregistrer les données de jeu en cours de jeu de sorte que lorsque le joueur revient, il peut recommencer à partir de laquelle il a quitté le jeu.
Pourquoi exactement cette séquence? Pouvez-vous essayer d'enregistrer les données au début et de décharger la scène après l'enregistrement terminé? –
Y a-t-il un événement que vous pouvez traiter avant OnDisable? Il semblerait que vous ayez perdu l'accès aux objets que vous devez interroger à ce stade. – ManoDestra
Comment décririez-vous un événement lorsque la scène est sur le point de se décharger? par exemple, un clic sur un bouton de retour? – NeverHopeless