// Token: 0x0600BE85 RID: 48773 RVA: 0x003538DC File Offset: 0x00351ADC public void PlayAnimation(SkeletonAnimation skeletonAnimation, HeroActionType actionType, bool isLoop) { if (!BJLuaObjHelper.IsSkipLuaHotfix && this.TryInitHotFix("") && this.m_PlayAnimationSkeletonAnimationHeroActionTypeBoolean_hotfix != null) { this.m_PlayAnimationSkeletonAnimationHeroActionTypeBoolean_hotfix.call(new object[] { this, skeletonAnimation, actionType, isLoop }); return; } BJLuaObjHelper.IsSkipLuaHotfix = false; skeletonAnimation.loop = isLoop; string animationName = string.Empty; switch (actionType) { case HeroActionType.Idle: animationName = "idle"; break; case HeroActionType.Attack: animationName = "attack1"; break; case HeroActionType.SuperAttack: animationName = "superattack"; break; case HeroActionType.Cast: animationName = "cast"; break; case HeroActionType.Dead: animationName = "death"; break; case HeroActionType.Sing: animationName = "sing"; break; case HeroActionType.Stun: animationName = "stun"; break; case HeroActionType.Run: animationName = "run"; break; } skeletonAnimation.AnimationName = string.Empty; skeletonAnimation.AnimationName = animationName; }
public void ShowHeroActionResult(HeroActionType action, Creature opponent, bool success) { if (success) { Console.WriteLine("Meeting with " + opponent.Name + " was successfull"); Console.WriteLine(); } else { Console.WriteLine("Meeting with " + opponent.Name + " was not successfull"); Console.WriteLine(); } }
public bool Play(HeroActionType action) // TEST изиграваме хода и определяме какъв е резултата { bool success = true; switch (action) { case HeroActionType.Fight: success = MyHero.Fight(Opponent as Enemy); break; case HeroActionType.Deal: success = MyHero.Deal(Opponent as Helper); break; } return(success); }
public void ShowHeroAction(Hero hero, HeroActionType action, Creature opponent) { switch (action) { case HeroActionType.Skip: Console.WriteLine($"You skipped the {opponent.Name}"); Console.WriteLine(); break; case HeroActionType.Fight: Console.WriteLine($"You fight with " + opponent.Name); Console.WriteLine(); break; case HeroActionType.Deal: Console.WriteLine($"You deal with {opponent.Name}"); Console.WriteLine(); break; default: break; } }
public ConsoleGameController(Map map) { //създаваме модела game със тази карта game = new Game(map); //създаваме display с този модел game display = new GameDisplay(game); // коя карта е заредена display.MapLoaded(game.Map); game.Map.Validate(); try { // избор на герой game.MyHero = display.SelectHero(); // играта започва game.Started(); //повтаряме докато не приключи играта: while (!game.IsCompleted() && !game.IsOver()) { game.LoadLevel(); // съобщаваме в кое ниво сме влезли и кой го населява, колко опит ни е нужен за преминаване и т.н. display.ShowLevel(game.CurrentLevel); //повтаряме докато състоянието на играта е Playing while (game.State == GameState.Playing) { //преминаваме на следващ ход, ако можем(т.е.ако не сме убити, ако не сме завършили и т.н.), иначе прекъсва цикъла if (!game.NextMove()) { break; } // оповестяваме на кой ход от играта сме display.ShowMove(game.MoveNo); // проверяваме CanSelectMove - дали ходът е Съдба или Избор var canSelect = game.CanSelectMove; // извежда дали сме ход Съдба или ход Избор display.ShowMove(game.CanSelectMove); // ако сме на ход избор: if (canSelect) { // избираме с кой искаме да се срещнем и записваме кой е нашия Opponent game.Opponent = display.SelectOpponent(); } // ход съдба се избира нашия опонент if (!game.OpponentSelection() && canSelect == false) { continue; // ако не е успяло да ни избере противник } // показва ни характеристиките на който ни е избран за противник display.ShowOpponent(game.Opponent); // избираме какво действие ще извърши нашия герой HeroActionType action = display.SelectHeroAction(game.Opponent); // съобщаваме какво действие ще се извърши, срещу кого и т.н. display.ShowHeroAction(game.MyHero, action, game.Opponent); // изиграваме хода и определяме какъв е резултата bool success = game.Play(action); // премахваме вече победен злодей или добряк, с който сме направили сделка if (success) { if (game.Opponent is Enemy && action is HeroActionType.Fight) { game.CurrentLevel.Enemies.Remove(game.Opponent as Enemy); } else if (game.Opponent is Helper && action is HeroActionType.Deal) { game.CurrentLevel.Helpers.Remove(game.Opponent as Helper); } } // съобщаваме резултата от играта display.ShowHeroActionResult(action, game.Opponent, success); // съобщава новите характеристики на героя display.ShowHero(game.MyHero); } //ако състоянието е LevelCompleted: if (game.State == GameState.LevelCompleted) { // съобщаваме, че е преминато нивото display.LevelFinished(game.CurrentLevel); // преминаваме на следващо ниво game.NextLevel(); } //ако game.State e GameOver else if (game.State == GameState.GameOver) { //display: играта завърши със загуба display.GameOver(); break; } //ако game.State e GameCompleted else if (game.State == GameState.GameCompleted) { //display: играта завърши с победа display.GameCompleted(); } } } catch (GameStoppedException) { // display: играта е прекъсната game.State = GameState.GameStopped; display.GameStopped(); } }