Esempio n. 1
0
    public void animFinished()
    {
        //获取父对象
        GameObject parent = transform.parent.gameObject;
        //清除列表里的该项
        anim_ctrl_clear ctrl = parent.GetComponent <anim_ctrl_clear>();

        ctrl.removeCurrent();
        ctrl.doList();  //执行下一项

        Destroy(gameObject);
    }
Esempio n. 2
0
 //游戏状态检查
 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");
             }
         }
     }
 }