void Awake() { title_turret.SetSelected(true); title_turret.button.onClick.AddListener( delegate { title_enemy.SetSelected(false); title_turret.SetSelected(true); currentManual = 0; Switch(0); } ); title_enemy.SetSelected(false); title_enemy.button.onClick.AddListener( delegate { title_enemy.SetSelected(true); title_turret.SetSelected(false); currentManual = 1; Switch(1); } ); CreateButtons(); Switch(0); }
// Start is called before the first frame update/ void Start() { enemyController = gameObject.GetComponent <EnemyController>(); mapController = gameObject.GetComponent <MapController>(); upUI = GameObject.Find("UpUI").GetComponent <UpUIController>(); if (stageInfo == null) { int level = 0; if (PlayerInfo.instance != null) { level = PlayerInfo.instance.level; this.endless = PlayerInfo.instance.endless; } if (endless) { this.stageInfo = new StageInfo(); } else { this.stageInfo = new StageInfo(level); } } if (PlayerInfo.instance != null) { GameObject.Find("HeadFrameButton").GetComponent <Image>().sprite = Utils.GetAssistRoleInfo(PlayerInfo.instance.assist).image; } life = this.stageInfo.startLife; gold = this.stageInfo.startGold; upUI.headFrame.onClick.AddListener( delegate() { if (playing) { StartNewWave(); } else { StartGame(); } } ); upUI.ShowGold(gold); upUI.ShowLife(life); pauseButton = GameObject.Find("PauseButton").GetComponent <SelectButton>(); speedButton = GameObject.Find("SpeedButton").GetComponent <SelectButton>(); pauseButton.button.onClick.AddListener( delegate { ClickPauseButton(); } ); pauseButton.SetSelected(false); speedButton.button.onClick.AddListener( delegate { ClickSpeedButton(); } ); speedButton.SetSelected(false); AudioManager.instance.PlayMusic("bgm01"); //playing = true; }
// Update is called once per frame void Update() { upUI.ShowGold(gold); upUI.ShowLife(life); if (Input.GetKeyDown(KeyCode.Escape)) { if (!pausing) { //ClickPauseButton(); Pause(); ShowPauseMenu(true); pauseButton.SetSelected(true); } else { Resume(); ShowPauseMenu(false); pauseButton.SetSelected(false); } return; } if (Input.GetKeyDown(KeyCode.Tab)) { ClickSpeedButton(); } if (playing) { #region UI控制 //upUI.ShowGold(gold); //upUI.ShowLife(life); if (endless) { upUI.ShowWave(currentWave); } else { upUI.ShowWave(currentWave, stageInfo.waveCount); } //upUI.ShowLeftTime(); if (currentWave >= 0) { upUI.ShowLeftTime(waveCountdown, currentWaveInfo.waveTime); } #endregion gameState = CheckWin(); if (gameState == 1) { Win(); } else if (gameState == -1) { Lose(); } else { if (waveCountdown <= 0) //倒计时结束 { if (currentWave == stageInfo.waveCount - 1) //是最后一波 { if (endless) { StartNewWave(); } } else //否则开始新的一波 { StartNewWave(); } } else //继续倒计时 { waveCountdown -= Time.deltaTime; } //如果正在放的波次小于最大值,把等待队列中的波次释放 if (wave_releasing.Count < MAX_WAVES) { if (wave_waiting.Count > 0) { Wave w = wave_waiting.Dequeue(); wave_releasing.Add(w); StartCoroutine(CreateEnemies(w)); } } } } }