public Game( List <BoardState> history, List <Promotion> promotions = null, Winner winner = Winner.Pending, GameEndType endType = GameEndType.Pending, float timerDuration = 0, bool hasClock = false ) { turnHistory = history; this.winner = winner; this.promotions = promotions == null ? new List <Promotion>() : promotions; this.endType = endType; this.timerDuration = timerDuration; this.hasClock = hasClock; turnsSincePawnMovedOrPieceTaken = 0; timeOffset = GetCurrentBoardState().executedAtTime; // When loading a game that has already ended, we do not need to start the time keepers StartTimekeeper(); if (endType != GameEndType.Pending) { RecalculateTimekeepers(); whiteTimekeeper.Pause(); blackTimekeeper.Pause(); } }
public void EndGame(GameEndType gameEndType) { if (gameStatus == GameStatus.PLAYING) { gameStatus = GameStatus.END_SCREEN; UIManager.instance.ShowEndScreen(gameEndType); /* * switch (gameEndType) { * case (GameEndType.SHIP_ESCAPE): * Debug.Log("GAME WIN: ship escape"); * break; * case (GameEndType.MAGIC_MISSILE): * Debug.Log("GAME WIN: magic missile"); * break; * case (GameEndType.NO_HEALTH): * Debug.Log("GAME OVER: you ran out of health"); * break; * case (GameEndType.STARVATION): * Debug.Log("GAME OVER: you ran out of food"); * break; * case (GameEndType.DEBT): * Debug.Log("GAME OVER: debt"); * break; * default: * Debug.LogWarning("Unhandled GameEndType"); * break; * } */ } }
public void GameEnd(GameEndType endType, string message = "") { isPlaying = false; quizQue = null; StopAllCoroutines(); RemoveMouseTracker(); List <PlayerItem> playerList = mainUI.GetPlayerListOrderByScore(); string winnerName = playerList[0].nameText.text; int score = playerList[0].Score; if (endType == GameEndType.Interrupted) { ShowInterrupMessage(message); } else if (score == 0 || score == playerList[1].Score) { ShowResultDraw(); } else { ShowResult(winnerName); RecordWinLose(PhotonNetwork.LocalPlayer, PhotonNetwork.NickName.Equals(winnerName)); } mainUI.GameEnd(); FindObjectOfType <Main.Drawing.DrawingToolUI>().ColorBtnAllDeSelected(); PhotonNetwork.CurrentRoom.IsVisible = true; }
public HighScoreRecord(Hashtable hash) : base(hash) { _name = (string)GetValueFromHash(hash, "_name"); _score = (int)GetValueFromHash(hash, "_score"); _type = (GameEndType)GetValueFromHash(hash, "_type"); _days = (int)GetValueFromHash(hash, "_days"); _worth = (int)GetValueFromHash(hash, "_worth"); _difficulty = (Difficulty)GetValueFromHash(hash, "_difficulty"); }
public HighScoreRecord(string name, int score, GameEndType type, int days, int worth, Difficulty difficulty) { _name = name; _score = score; _type = type; _days = days; _worth = worth; _difficulty = difficulty; }
public void GameOver(GameEndType end) { if (isOver) { return; } if (end > GameEndType.None) { isOver = true; } PrettyLog.Log("Game Over: {0}", end); ending.Show(end); }
public void Show(GameEndType end) { Time.timeScale = 0; Clear(); gameObject.SetActive(true); GameObject endingObj = null; if ((end.HasFlag(GameEndType.AllLeft))) { endingObj = allLeftEnding; } else if (end.HasFlag(GameEndType.MeetGoal)) { endingObj = goodEnding; var txt = endingObj.GetComponentInChildren <Text>(); if (end.HasFlag(GameEndType.Die)) { txt.text += "\n\nBut your body is too severely damaged\nand become useless.\n\nSo your boss fires you."; } else if (end.HasFlag(GameEndType.Insane)) { txt.text += "\n\n...And died for drunk driving."; } else { txt.text += "\n\nYour boss promotes you.\n\nCongratulations!"; } } else if (end.HasFlag(GameEndType.Die) || end.HasFlag(GameEndType.Insane)) { if (end.HasFlag(GameEndType.Die | GameEndType.Insane)) { endingObj = zombieEnding; } else if (end.HasFlag(GameEndType.Die)) { endingObj = dieEnding; } else if (end.HasFlag(GameEndType.Insane)) { endingObj = insaneEnding; } } if (endingObj == null) { endingObj = emptyEnding; } endingObj.SetActive(true); }
public static void isGameEnd(GameEndType type) { gameIsEnd = true; switch (type) { case GameEndType.Win: gameEndText = "Mission Complete ~ ~ ~ "; Debug.Log("Win"); break; case GameEndType.Lose: gameEndText = "Mission Fail ~ ~ ~ "; Debug.Log("Lose"); break; } }
public void EndGame(GameEndType endType, Winner winner, float?timestamp = null) { whiteTimekeeper?.Pause(); blackTimekeeper?.Pause(); BoardState currentState = GetCurrentBoardState(); this.endType = endType; this.winner = winner; currentState.currentMove = Team.None; currentState.executedAtTime = timestamp.HasValue ? timestamp.Value : CurrentTime; AddState(currentState); onGameOver?.Invoke(); KillGame(); }
public static void Update(GameEndType type) { var txtTitle = GameObject.Find("CanvasEnd/TxtTitle").GetComponent <Text>(); txtTitle.text = GetEndTitle(type); int value = 0; string desc = ""; desc += type.ToString() + ": " + GetEndValue(type).ToString(); value += GetEndValue(type); var text = GameObject.Find("CanvasEnd/Text").GetComponent <Text>(); text.text = desc; }
public void ShowEndScreen(GameEndType endtype) { if (currentWindow) { currentWindow.Hide(); } switch (endtype) { case GameEndType.Win: WinScreen.Show(null); break; case GameEndType.Lose: LoseScreen.Show(null); break; } }
/// <summary> /// 开始一场新的对局 /// </summary> public static void NewGame() { CurrentScene = SceneType.BattleMain; EndType = GameEndType.None; ActivedProps = new List <BaseProp>(); GainedProps = new List <PropName>(); ActivedSkills = new List <BaseSkill>(); LearnedSkills = new List <BaseSkill>(); EventList = new List <BaseEvent>(); OccurredEvents = new List <BaseEvent>(); CurrentStageEvents = new List <BaseEvent>(); HeroRoleList = new List <BaseHeroRole>(); Day = 0; Money = 1200; //初始化照相机信息 CameraSetter.Init(); //初始化宝物信息 PropIniter.Init(); //初始化技能信息 SkillIniter.Init(Role); //初始化事件信息 EventIniter.Init(); //初始化怪物列表 MonsterIniter.Init(); //初始化职业信息 HeroRoleIniter.Init(); //初始化英雄属性 Hero.New(Role); Hero.Health = 40; Hero.Mana = 1; //更新英雄属性面板 PropertyPanelUpdater.Update(); //更新关卡信息面板 BattleUpdater.UpdateStageInfo(); BattleUpdater.UpdateMessage("欢迎来到荒原之城!"); BattleCanvasSetter.Scenes.Enqueue(BattleSceneType.ChooseEvent); BattleCanvasSetter.SwitchBattleScene(); NewStage(); }
public void ShowDialog(GameEndType gameEndType, Player?winner) { upperTextBox.Text = gameEndType switch { GameEndType.Checkmate => "Checkmate!", GameEndType.IllegalMove => "Illegal Move!", _ => throw new NotSupportedException() }; lowerTextBox.Text = winner switch { Player.White => "White Wins!", Player.Black => "Black Wins!", null => "Draw!", _ => throw new NotSupportedException(), }; ShowDialog(); }
public void EndGame(GameEndType type) { //Time.timeScale = 0; if (isGame) { GameField.isGame = false; string text = ""; if (type == GameEndType.LOSE) { text = "You Lose"; } else { text = "You Win"; } EndGameMenuSceneScript.Show(text); //Debug.Break(); } }
public IEnumerator ShowEndScreen(GameEndType gameEndType) { yield return(StartCoroutine(FadeBackgroundIn())); yield return(new WaitForSeconds(0.5f)); switch (gameEndType) { case (GameEndType.SHIP_ESCAPE): _evacuateEnding.SetActive(true); break; case (GameEndType.MAGIC_MISSILE): _missileEnding.SetActive(true); break; case (GameEndType.NO_HEALTH): _loseScreen.gameObject.SetActive(true); _loseScreen.SetDetails("you ran out of health"); break; case (GameEndType.STARVATION): _loseScreen.gameObject.SetActive(true); _loseScreen.SetDetails("you ran out of food"); break; case (GameEndType.DEBT): _loseScreen.gameObject.SetActive(true); _loseScreen.SetDetails("you ran afoul of the debt collectors"); break; case (GameEndType.THEY_ARRIVE): _loseScreen.gameObject.SetActive(true); _loseScreen.SetDetails("the empire is upon you"); break; default: Debug.LogWarning("Unhandled GameEndType"); break; } _restartButton.SetActive(true); }
private void OnGameEndMessage(GameEndType type) { switch (type) { case GameEndType.Win: resultText.Text.Value = "Win!"; break; case GameEndType.Loss: resultText.Text.Value = "Loss!"; break; case GameEndType.Tie: resultText.Text.Value = "Tie!"; break; default: resultText.Text.Value = "Error"; break; } }
private void Start() { soundManager.FadeOutBGM(); soundManager.PlayBGM(bgmName); //セーブ処理をしてプレイデータをアップロードしておく //セーブ後にはデータがリセットされるため、複数回呼んでもデータが破壊されることはない GameDataStore.Instance.SaveGameData(); int score = GameDataStore.Instance.Score; var datas = GameDataStore.Instance.GetSavedRankingData().playerDatas; PlayMode playedMode = GameDataStore.Instance.PlayedMode; GameEndType gameEndType = GameDataStore.Instance.GameEndedType; //ランキングの取得 int ranking = 0; for (int i = 0; i < datas.Length; i++) { if (datas[i].score == score) { ranking = i + 1; break; } } //ゲーム結果表示 //休日の時はリザルト表示なし if (playedMode == PlayMode.Holiday) { goalImage.enabled = false; gameOverImage.enabled = false; } else { if (gameEndType == GameEndType.Goal) { goalImage.enabled = true; gameOverImage.enabled = false; } else { goalImage.enabled = false; gameOverImage.enabled = true; } } //得点表示 rankingBoard.Init(); rankingBoard.HighlightRanking(ranking); rankingBoard.SetBoardVisibility(playedMode); scoreText.text = $"{score} 点"; int index = -1; //感想表示 if (playedMode == PlayMode.Weekday) { //平日 if (gameEndType == GameEndType.Goal) { index = 0; } else { index = 1; } } else { if (score < 3000) { index = 2; } else if (score < 6000) { index = 3; } else { index = 4; } } comment.text = comments[index]; anim.Play(animList[index].name); //もうこのプレイのデータは必要ないのでリセットする GameDataStore.Instance.ResetPlayDatas(); }
static string GetEndTitle(GameEndType type) { var title = ""; switch (type) { case GameEndType.死亡: { title = "你精疲力尽的倒在了荒原之城中..."; break; } case GameEndType.商人女儿: { title = "你与商人女儿结婚后,一同在荒原之城经营生意~"; break; } case GameEndType.商队: { title = "商队将你带出了荒原之城,开启了新的人生!"; break; } case GameEndType.巫妖王: { title = "你成为了巫妖王的祭品,但你的灵魂永远驻留在荒原之城..."; break; } case GameEndType.牛魔王: { title = "牛魔王将你带出了荒原之城,你也成为了世界上最后一个见过牛魔王的人..."; break; } case GameEndType.神灯: { title = "灯神实现了你的愿望,醒来后你发现你睡在一个村庄的草垛中~"; break; } case GameEndType.野蛮人部落: { title = "野蛮人把你抓了起来,你成为了他们的奴隶,永世不能翻身..."; break; } case GameEndType.武馆: { title = "你的战斗技巧响彻整个荒原之城,并成立了荒原武馆培养了无数个勇士!"; break; } case GameEndType.战胜守卫: { title = "你战胜了荒原守卫,走出荒原后与无数人分享了这段不同寻常的经历!"; break; } case GameEndType.荒原之主: { title = "你的武力超凡绝伦,成为了新的荒原之主!!!"; break; } } return(title); }
public void ShowEndScreen(GameEndType gameEndType) { _gameEndScreen.gameObject.SetActive(true); StartCoroutine(_gameEndScreen.ShowEndScreen(gameEndType)); }
static int GetEndValue(GameEndType type) { int value = 0; switch (type) { case GameEndType.死亡: { value = -30; break; } case GameEndType.商人女儿: { value = 80; break; } case GameEndType.商队: { value = 50; break; } case GameEndType.巫妖王: { value = 50; break; } case GameEndType.牛魔王: { value = 80; break; } case GameEndType.神灯: { value = 30; break; } case GameEndType.野蛮人部落: { value = -10; break; } case GameEndType.武馆: { value = 100; break; } case GameEndType.战胜守卫: { value = 150; break; } case GameEndType.荒原之主: { value = 100; break; } } return(value); }
public Game(Hashtable hash, SpaceTrader parentWin) : base(hash) { _game = this; ParentWindow = parentWin; string version = (string)GetValueFromHash(hash, "_version"); if (version.CompareTo(Consts.CurrentVersion) > 0) throw new FutureVersionException(); _universe = (StarSystem[])ArrayListToArray((ArrayList)GetValueFromHash(hash, "_universe"), "StarSystem"); _wormholes = (int[])GetValueFromHash(hash, "_wormholes", _wormholes); _mercenaries = (CrewMember[])ArrayListToArray((ArrayList)GetValueFromHash(hash, "_mercenaries"), "CrewMember"); _commander = new Commander((Hashtable)GetValueFromHash(hash, "_commander")); _dragonfly = new Ship((Hashtable)GetValueFromHash(hash, "_dragonfly", _dragonfly.Serialize())); _scarab = new Ship((Hashtable)GetValueFromHash(hash, "_scarab", _scarab.Serialize())); _scorpion = new Ship((Hashtable)GetValueFromHash(hash, "_scorpion", _scorpion.Serialize())); _spaceMonster = new Ship((Hashtable)GetValueFromHash(hash, "_spaceMonster", _spaceMonster.Serialize())); _opponent = new Ship((Hashtable)GetValueFromHash(hash, "_opponent", _opponent.Serialize())); _chanceOfTradeInOrbit = (int)GetValueFromHash(hash, "_chanceOfTradeInOrbit", _chanceOfTradeInOrbit); _clicks = (int)GetValueFromHash(hash, "_clicks", _clicks); _raided = (bool)GetValueFromHash(hash, "_raided", _raided); _inspected = (bool)GetValueFromHash(hash, "_inspected", _inspected); _tribbleMessage = (bool)GetValueFromHash(hash, "_tribbleMessage", _tribbleMessage); _arrivedViaWormhole = (bool)GetValueFromHash(hash, "_arrivedViaWormhole", _arrivedViaWormhole); _paidForNewspaper = (bool)GetValueFromHash(hash, "_paidForNewspaper", _paidForNewspaper); _litterWarning = (bool)GetValueFromHash(hash, "_litterWarning", _litterWarning); _newsEvents = new ArrayList((int[])GetValueFromHash(hash, "_newsEvents", _newsEvents.ToArray(System.Type.GetType("System.Int32")))); _difficulty = (Difficulty)GetValueFromHash(hash, "_difficulty", _difficulty); _cheatEnabled = (bool)GetValueFromHash(hash, "_cheatEnabled", _cheatEnabled); _autoSave = (bool)GetValueFromHash(hash, "_autoSave", _autoSave); _easyEncounters = (bool)GetValueFromHash(hash, "_easyEncounters", _easyEncounters); _endStatus = (GameEndType)GetValueFromHash(hash, "_endStatus", _endStatus); _encounterType = (EncounterType)GetValueFromHash(hash, "_encounterType", _encounterType); _selectedSystemId = (StarSystemId)GetValueFromHash(hash, "_selectedSystemId", _selectedSystemId); _warpSystemId = (StarSystemId)GetValueFromHash(hash, "_warpSystemId", _warpSystemId); _trackedSystemId = (StarSystemId)GetValueFromHash(hash, "_trackedSystemId", _trackedSystemId); _targetWormhole = (bool)GetValueFromHash(hash, "_targetWormhole", _targetWormhole); _priceCargoBuy = (int[])GetValueFromHash(hash, "_priceCargoBuy", _priceCargoBuy); _priceCargoSell = (int[])GetValueFromHash(hash, "_priceCargoSell", _priceCargoSell); _questStatusArtifact = (int)GetValueFromHash(hash, "_questStatusArtifact", _questStatusArtifact); _questStatusDragonfly = (int)GetValueFromHash(hash, "_questStatusDragonfly", _questStatusDragonfly); _questStatusExperiment = (int)GetValueFromHash(hash, "_questStatusExperiment", _questStatusExperiment); _questStatusGemulon = (int)GetValueFromHash(hash, "_questStatusGemulon", _questStatusGemulon); _questStatusJapori = (int)GetValueFromHash(hash, "_questStatusJapori", _questStatusJapori); _questStatusJarek = (int)GetValueFromHash(hash, "_questStatusJarek", _questStatusJarek); _questStatusMoon = (int)GetValueFromHash(hash, "_questStatusMoon", _questStatusMoon); _questStatusPrincess = (int)GetValueFromHash(hash, "_questStatusPrincess", _questStatusPrincess); _questStatusReactor = (int)GetValueFromHash(hash, "_questStatusReactor", _questStatusReactor); _questStatusScarab = (int)GetValueFromHash(hash, "_questStatusScarab", _questStatusScarab); _questStatusSculpture = (int)GetValueFromHash(hash, "_questStatusSculpture", _questStatusSculpture); _questStatusSpaceMonster = (int)GetValueFromHash(hash, "_questStatusSpaceMonster", _questStatusSpaceMonster); _questStatusWild = (int)GetValueFromHash(hash, "_questStatusWild", _questStatusWild); _fabricRipProbability = (int)GetValueFromHash(hash, "_fabricRipProbability", _fabricRipProbability); _justLootedMarie = (bool)GetValueFromHash(hash, "_justLootedMarie", _justLootedMarie); _canSuperWarp = (bool)GetValueFromHash(hash, "_canSuperWarp", _canSuperWarp); _chanceOfVeryRareEncounter = (int)GetValueFromHash(hash, "_chanceOfVeryRareEncounter", _chanceOfVeryRareEncounter); _veryRareEncounters = new ArrayList((int[])GetValueFromHash(hash, "_veryRareEncounters", _veryRareEncounters.ToArray(System.Type.GetType("System.Int32")))); _options = new GameOptions((Hashtable)GetValueFromHash(hash, "_options", _options.Serialize())); }
public GameEndType IsGameEnd() { if(this.following.Size() <= 0) { this.gameEndType = GameEndType.NoFollowers; } else if(this.totalScore.totalTurns >= Difficulty.totalTurns) { this.gameEndType = GameEndType.TurnLimitReached; } else { this.gameEndType = GameEndType.NotYet; } return this.gameEndType; }
static void OnGameEnded(TicTacToe game, GameEndType end) { Console.WriteLine(end); waitHandle.Set(); Console.Read(); }
private void OnGameEnd(GameEndType type) { connHelper.SetGameInProgress(false); }
public GameEndException(GameEndType endType) { Game.CurrentGame.EndStatus = endType; }
public void EndGame(GameEndType type) { UIManager._instance.ShowEndScreen(type); }
static void OnGameEnded(TicTacToe game, GameEndType end) { MessageBox.Show(end.ToString()); }
public void FinishGame(GameEndType type) { State = GameState.Finished; if (Score > HighScore) { HighScore = score; } UI.ShowEndScreen(type); }