public void mGameOver() { //Stop [TICK] count here long currentTick = System.DateTime.UtcNow.Ticks; accumulateTick += currentTick - startTick; //calculate time from accumulateTick double playTime = System.TimeSpan.FromTicks(accumulateTick).TotalSeconds; Debug.Log("Play Time = " + playTime); state = GameState.GS_RESULT; if (gGameOverEvent != null) { gGameOverEvent(); } int current_money = int.Parse(UserCommonData.pGlobal.user.user_money) + mainMenu.moneyUsed; //Item 1 Life up //Item 2 Score up //Item 3 EXP up resultMenu.ResetResult(int.Parse(UserCommonData.pGlobal.user.user_level), UserCommonData.pGlobal.GetEXPProgress(), current_money, mainMenu.Item1.IsSelect && (mainMenu.Item1.ItemCount > 0), mainMenu.Item2.IsSelect && (mainMenu.Item2.ItemCount > 0), mainMenu.Item3.IsSelect && (mainMenu.Item3.ItemCount > 0), mainMenu.moneyUsed, (int)playTime); float rawMoney = (Score * MoneyMultiplier) * (1 + (float.Parse(UserCommonData.pGlobal.user.user_coin_plus)) / 100.0f); float rawEXP = (Score * EXPMultiplier) * ((mainMenu.Item3.IsSelect)?2:1) * (1 + (float.Parse(UserCommonData.pGlobal.user.user_exp_plus)) / 100.0f); resultMenu.SetGameResultData(Score, int.Parse(UserCommonData.pGlobal.user.user_score_plus) + ((mainMenu.Item2.IsSelect)?100:0), MaxCombo, rawMoney, rawEXP, hit); resultMenu.Show(); }