public override IEnumerator OnLoad(Dictionary <string, object> args = null) { yield return(base.OnLoad(args)); LunarVariables.debug.AddDelegate(ChangeDebugMode); ResetCounter(_scoreCounter); ResetCounter(_highscoreCounter); ResetCounter(_coinCounter); _savings = 0; _contineCount = 0; _snapshots.Clear(); GameManager.instance.board.gameObject.SetActive(true); GameManager.instance.block.gameObject.SetActive(true); GameManager.instance.Reset(); for (int i = 0, max = _itemUsed.Length; i < max; ++i) { _itemUsed[i] = 0; } _trashCan.Load(); _addedScoreText.alpha = 0.0f; // int score = 0; PlayData playData = GetParam <PlayData>(PARAM_PLAY_DATA, null); if (playData != null) { score = playData.Score; _savings = playData.Coin; _contineCount = playData.AdContinueWatchCount; if (playData.Cells != null) { int[] numbers = new int[playData.Cells.Length]; for (int y = 0, height = playData.Cells.GetLength(0); y < height; ++y) { for (int x = 0, width = playData.Cells.GetLength(1); x < width; ++x) { numbers[y * width + x] = playData.Cells[y, x]; } } GameManager.instance.board.Setup(numbers); } else { GameManager.instance.board.Clear(); } int[] itemUsed = playData.ItemUseCountInfo.ItemUseCountArray; for (int i = 0, max = Mathf.Min(_itemUsed.Length, itemUsed.Length); i < max; ++i) { _itemUsed[i] = itemUsed[i]; } } // _mission.Reset(); _scoreCounter.SetDefault(score); _highscoreCounter.SetDefault(Mathf.Max(score, DataManager.Instance.UserData.Score)); _coinCounter.SetDefault(DataManager.Instance.UserData.Coin); _coinEffect.SetActive(false); UpdateCoinbox(true); UpdateItemButtons(); SoundManager.Instance.PlayBgm(GameConstants.BGM_INGAME); }