public override void StartGame() { base.StartGame(); //发射器开始旋转 MiniGameAccountEjectorCpt ejectorCpt = miniGameBuilder.GetEjector(); MiniGameCharacterForAccountBean userCharacterData = (MiniGameCharacterForAccountBean)miniGameData.GetUserGameData(); userCharacterData.characterData.GetAttributes(out CharacterAttributesBean characterAttributes); ejectorCpt.SetData(5 + characterAttributes.account / 20f, 1.8f + characterAttributes.account / 20f); ejectorCpt.SetCallBack(this); ejectorCpt.StartRotate(); //打开游戏UI UIMiniGameAccount uiMiniGameAccount = UIHandler.Instance.manager.OpenUIAndCloseOther <UIMiniGameAccount>(UIEnum.MiniGameAccount); uiMiniGameAccount.SetData(miniGameData.winSurvivalTime, miniGameData.winMoneyL, miniGameData.winMoneyM, miniGameData.winMoneyS); //开始倒计时 StartCoroutine(StartCountDown()); }
/// <summary> /// 开始倒计时 /// </summary> /// <param name="totalTime"></param> /// <returns></returns> public IEnumerator StartCountDown() { UIMiniGameAccount uiMiniGameAccount = (UIMiniGameAccount)UIHandler.Instance.manager.GetOpenUI(); while (true) { //设置游戏UI时间 uiMiniGameAccount.SetTime(miniGameData.currentTime); yield return(new WaitForSeconds(1)); miniGameData.currentTime--; if (miniGameData.currentTime <= 0) { break; } } EndGame(CheckGameResults()); }
public void AccountEjectorSettlement(MiniGameAccountEjectorCpt ejector, int moneyL, int moneyM, int moneyS) { miniGameData.currentMoneyL += moneyL; miniGameData.currentMoneyM += moneyM; miniGameData.currentMoneyS += moneyS; //展示特效 MiniGameAccountEjectorCpt ejectorCpt = miniGameBuilder.GetEjector(); UIMiniGameAccount uiMiniGameAccount = (UIMiniGameAccount)UIHandler.Instance.manager.GetOpenUI(); uiMiniGameAccount.ShowMoneyGet(ejectorCpt.transform.position, moneyL, moneyM, moneyS); //如果分满了直接结束游戏 MiniGameResultEnum gameResultEnum = CheckGameResults(); if (gameResultEnum == MiniGameResultEnum.Win) { StopAllCoroutines(); EndGame(MiniGameResultEnum.Win); } }