private void Start()
 {
     this.warProgress = WarManager.instance.WarProgress;
     this.warResult = this.warProgress.WarResult;
     this.UpdateFleetInfo();
     this.UpdateStep3Info();
     this.ShowResult();
     this.PlayResultAudio();
     base.Invoke("UpdateGetFromWar", this.UpdateGetFromWarWaitTime);
     base.Invoke("UpdateMVPAvatar", 0.5f);
 }
Пример #2
0
        public ViewResult RsvpForm(PowerUnit guest)
        {
            PowerUnitContainter.Containter.Add(guest);
            var result = new WarResult();

            result.Self   = guest;
            result.Target = PowerUnitContainter.Containter.GetRamdom();

            result.NormalDamageToTarget();
            if (ModelState.IsValid)
            {
                return(View("Thanks", result));
            }
            return(View());
        }
Пример #3
0
        //Break war into battle rounds
        WarResult GetWarResult(List <ITransformer> autobots, List <ITransformer> decepticons)
        {
            var result = new WarResult();

            //Keep track of the battle round.
            int round = 0;

            bool wageWar = autobots.Count > 0 && decepticons.Count > 0;

            while (wageWar)
            {
                var nextAutobot   = autobots.Skip(round).Take(1).First();
                var nextDecpticon = decepticons.Skip(round).Take(1).First();

                result.BattleResult.Add(GetRoundVictor(nextAutobot, nextDecpticon));
                round++;

                if (autobots.Count == round || decepticons.Count == round)//one of the lists has been exhausted, thus, no more battles
                {
                    wageWar = false;
                }
            }

            //Add non-combatants
            AddNonCombatants(autobots, decepticons, round, result.BattleResult);

            if (result.BattleResult.Count > 0)
            {
                result.Message = Responses.WAR_RESOLUTION;
            }
            else
            {
                result.Message = Responses.NO_COMBATANTS;
            }

            return(result);
        }
Пример #4
0
        public void SomeoneLacksFourCards(ref List <Card> myCards, ref List <Card> playerCards, ref List <Card> deck, WarResult warResult, ref RoundResult roundResult)
        {
            switch (warResult)
            {
            case WarResult.RyanOutOfCards:
                Message.ILackFourCards(myCards.Count, deck.Count);
                playerCards.AddRange(deck);
                playerCards.AddRange(myCards);
                myCards.Clear();
                deck.Clear();
                break;

            case WarResult.PlayerOutOfCards:
                Message.PlayerLacksFourCards(playerCards.Count, deck.Count);
                myCards.AddRange(deck);
                myCards.AddRange(playerCards);
                playerCards.Clear();
                deck.Clear();
                break;

            case WarResult.BothOutOfCards:
                Message.BothOutOfCards(myCards.Count, playerCards.Count);
                break;
            }
            roundResult = RoundResult.GameIsOver;
        }
Пример #5
0
        public void FalloutFromWar(ref List <Card> myCards, ref List <Card> playerCards, ref List <Card> deck, WarResult warResult, ref RoundResult roundResult)
        {
            for (int i = 0; i < 4; i++)
            {
                deck.Add(myCards[i]);
                deck.Add(playerCards[i]);
            }
            myCards.RemoveRange(0, 4);
            playerCards.RemoveRange(0, 4);

            switch (warResult)
            {
            case WarResult.RyanWins:
                myCards.AddRange(deck);
                deck.Clear();
                roundResult = RoundResult.RyanWins;
                break;

            case WarResult.PlayerWins:
                playerCards.AddRange(deck);
                deck.Clear();
                roundResult = RoundResult.RyanWins;
                break;

            case WarResult.WarIsDeclaredAgain:
                break;

            default:
                break;
            }
        }