public void animFinished() { //获取父对象 GameObject parent = transform.parent.gameObject; //清除列表里的该项 anim_ctrl_clear ctrl = parent.GetComponent <anim_ctrl_clear>(); ctrl.removeCurrent(); ctrl.doList(); //执行下一项 Destroy(gameObject); }
//游戏状态检查 void checkGameStatus() { if (bricks.Count <= 0) { if (isLevelStarted && !isGameOver) { //标识游戏结束 isLevelStarted = false; isGameOver = true; Instantiate(clearEffect, new Vector3(0, 0, 0), new Quaternion(0, 0, 0, 0)); //stat statController.clearCount++; statController.saveData(); Debug.Log("Clear!"); //记录clear if (Save.checkKey("clearedLevel")) { string clearedlevel = Save.getString("clearedLevel"); if (!clearedlevel.Contains(level_filename)) { clearedlevel += "," + level_filename; Save.setData("clearedLevel", clearedlevel); } } else { Save.setData("clearedLevel", level_filename); } //Clear UI if (panel_clear_inscene == null) { //设置currentball if (currentBall == null && ballList.Count > 0) { foreach (GameObject ball in ballList) { if (ball != null) { currentBall = ball; break; } } } panel_clear_inscene = Instantiate(panel_clear, canvas.transform); Animation anim = panel_clear_inscene.GetComponent <Animation>(); anim_ctrl_clear ctrl = panel_clear_inscene.GetComponent <anim_ctrl_clear>(); //控制 //添加reward ctrl.addReward("base", baseReward); playerController.targetcoin += baseReward; //更新数据 long randReward = UnityEngine.Random.Range(0, (int)((randomReward) / 10)) * 10; if (randomReward > 0) { ctrl.addReward("random", randReward); playerController.targetcoin += randReward; //更新数据 } if (timeReward > 0 && timeRewardLimit >= (currentTime / 60)) { float rate = 1 - (currentTime / 60 / timeRewardLimit); if (rate > 0 && rate <= 1) { long timereward = ((long)(timeReward * rate)) / 10 * 10; ctrl.addReward("time", timereward); playerController.targetcoin += timereward; //更新数据 } } //播放动画 anim.Play("Anim_clear"); } } } if (leftBall < 0) { if (isLevelStarted && !isGameOver) { //标识游戏结束 isLevelStarted = false; isGameOver = true; //触发特效 Instantiate(gameoverEffect, new Vector3(0, 0, 0), new Quaternion(0, 0, 0, 0)); //stat statController.gameoverCount++; statController.saveData(); Debug.Log("Game Over!"); //Gameover UI if (panel_gameover_inscene == null) { panel_gameover_inscene = Instantiate(panel_gameover, canvas.transform); Animation anim = panel_gameover_inscene.GetComponent <Animation>(); anim.Play("Anim_clear"); } } } }