/// <summary> /// 检测是否游戏结束 /// </summary> /// <param name="isWinGame"></param> /// <returns></returns> public bool CheckIsGameOver(out MiniGameResultEnum gameResult) { gameResult = MiniGameResultEnum.Lose; NpcAIMiniGameDebateCpt userCharacter = miniGameBuilder.GetUserCharacter(); NpcAIMiniGameDebateCpt enemyCharacter = miniGameBuilder.GetEnemyCharacter(); if (userCharacter.characterMiniGameData.characterCurrentLife <= 0 || enemyCharacter.characterMiniGameData.characterCurrentLife <= 0) { if (userCharacter.characterMiniGameData.characterCurrentLife <= 0) { gameResult = MiniGameResultEnum.Lose; } else if (enemyCharacter.characterMiniGameData.characterCurrentLife <= 0) { gameResult = MiniGameResultEnum.Win; } return(true); } return(false); }
/// <summary> /// 检测是否游戏结束 /// </summary> /// <returns></returns> public bool CheckIsGameOver(out MiniGameResultEnum gameResult) { gameResult = MiniGameResultEnum.Lose; List <NpcAIMiniGameCombatCpt> listUserNpc = miniGameBuilder.GetUserCharacter(); List <NpcAIMiniGameCombatCpt> listEnemyNpc = miniGameBuilder.GetEnemyCharacter(); bool isOurNpcAllDead = true; bool isEnemyNpcAllDead = true; foreach (NpcAIMiniGameCombatCpt itemNpc in listUserNpc) { if (itemNpc.characterMiniGameData.characterCurrentLife > 0) { isOurNpcAllDead = false; } } foreach (NpcAIMiniGameCombatCpt itemNpc in listEnemyNpc) { if (itemNpc.characterMiniGameData.characterCurrentLife > 0) { isEnemyNpcAllDead = false; } } if (isOurNpcAllDead) { gameResult = MiniGameResultEnum.Lose; } if (isEnemyNpcAllDead) { gameResult = MiniGameResultEnum.Win; } //如果双方都没有全部死亡则游戏没有结束 if (!isOurNpcAllDead && !isEnemyNpcAllDead) { return(false); } else { return(true); } }
public override void EndGame(MiniGameResultEnum gameResult, bool isSlow) { //每日限制减少 GameCommonInfo.DailyLimitData.numberForBirth--; listSperm.Clear(); //检测是否达到生孩子标准 GameDataBean gameData = GameDataHandler.Instance.manager.GetGameData(); FamilyDataBean familyData = gameData.GetFamilyData(); //如果可以生孩子 if (familyData.birthPro >= 1) { familyData.birthPro = 0; if (familyData.listChildCharacter.Count >= 3) { ToastHandler.Instance.ToastHint(TextHandler.Instance.manager.GetTextById(1351)); } else { if (familyData.mateCharacter.body.GetSex() == gameData.userCharacter.body.GetSex()) { //同性 ToastHandler.Instance.ToastHint(TextHandler.Instance.manager.GetTextById(7032), 10); } else { //异性 ToastHandler.Instance.ToastHint(TextHandler.Instance.manager.GetTextById(7031), 10); } DialogBean dialogData = new DialogBean(); dialogData.title = TextHandler.Instance.manager.GetTextById(8011); DialogHandler.Instance.CreateDialog <InputTextDialogView>(DialogEnum.InputText, this, dialogData); //设置游戏数据 miniGameData.SetGameResult(MiniGameResultEnum.Win); return; } } base.EndGame(gameResult, isSlow); }
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); } }
/// <summary> /// 设置游戏结果 /// </summary> /// <param name="miniGameResult"></param> public void SetGameResult(MiniGameResultEnum miniGameResult) { this.gameResult = miniGameResult; }
/// <summary> /// 结束游戏 /// </summary> /// <param name="isWinGame">是否赢得游戏</param> public override void EndGame(MiniGameResultEnum miniGameResult) { base.EndGame(miniGameResult); }
public virtual void EndGame(MiniGameResultEnum gameResult) { EndGame(gameResult, true); }
/// <summary> /// 游戏结束 /// </summary> /// <param name="isWinGame"></param> /// <param name="isSlow">是否开启慢镜头</param> public virtual void EndGame(MiniGameResultEnum gameResulte, bool isSlow) { if (GetMiniGameStatus() == MiniGameStatusEnum.Gameing) { SetMiniGameStatus(MiniGameStatusEnum.GameEnd); StopAllCoroutines(); //拉近尽头 BaseControl baseControl = GameControlHandler.Instance.manager.GetControl(); if (baseControl) { baseControl.SetCameraOrthographicSize(6); } if (isSlow) { //开启慢镜头 Time.timeScale = 0.1f; } transform.DOScale(new Vector3(1, 1, 1), 0.3f).OnComplete(delegate() { Time.timeScale = 1f; if (baseControl) { baseControl.SetCameraOrthographicSize(); } if (miniGameBuilder) { miniGameBuilder.DestroyAll(); } //设置游戏数据 miniGameData.SetGameResult(gameResulte); GameDataBean gameData = GameDataHandler.Instance.manager.GetGameData(); //经验加成 List <MiniGameCharacterBean> listUserData = miniGameData.GetListUserGameData(); List <CharacterBean> listWorkerData = gameData.GetAllCharacterData(); foreach (MiniGameCharacterBean itemCharacterData in listUserData) { foreach (CharacterBean itemWorkerData in listWorkerData) { if (itemWorkerData.baseInfo.characterId == null || itemCharacterData.characterData.baseInfo.characterId == null) { continue; } if (itemWorkerData.baseInfo.characterId.Equals(itemCharacterData.characterData.baseInfo.characterId)) { WorkerEnum workerType = MiniGameEnumTools.GetWorkerTypeByMiniGameType(miniGameData.gameType); CharacterWorkerBaseBean characterWorker = itemWorkerData.baseInfo.GetWorkerInfoByType(workerType); if (miniGameData.GetGameResult() == MiniGameResultEnum.Win) { characterWorker.AddExp(10, out bool isLevelUp); } else { characterWorker.AddExp(5, out bool isLevelUp); } } } } //打开游戏结束UI UIMiniGameEnd uiMiniGameEnd = UIHandler.Instance.manager.OpenUIAndCloseOther <UIMiniGameEnd>(UIEnum.MiniGameEnd); uiMiniGameEnd.SetData(miniGameData); uiMiniGameEnd.SetCallBack(this); }); //通知 游戏结束 notifyForMiniGameStatus?.Invoke(MiniGameStatusEnum.GameEnd, new object[] { miniGameData }); AudioHandler.Instance.StopMusic(); } }
/// <summary> /// 结束战斗 /// </summary> /// <param name="isWinGame"></param> public override void EndGame(MiniGameResultEnum gameResulte) { base.EndGame(gameResulte, false); }