Exemplo n.º 1
0
 public void StartBattle(List <Monster> opponents)
 {
     CurrentOpponents.Clear();
     CurrentOpponents.AddRange(opponents);
     SelectedOpponent = null;
     StartBattle();
 }
Exemplo n.º 2
0
 public void StartBattle(Monster opponent)
 {
     CurrentOpponents.Clear();
     CurrentOpponents.Add(opponent);
     if (AutoBattle)
     {
         SelectedOpponent = opponent;
     }
     StartBattle();
 }
Exemplo n.º 3
0
    public void StartBattle(Area area)
    {
        CurrentArea = area;
        int r = random.Next(0, CurrentArea.Monsters.Count);

        CurrentOpponents.Clear();
        CurrentOpponents.Add(Monsters.FirstOrDefault(x => x.Name == CurrentArea.Monsters[r]));
        SelectedOpponent = null;
        if (CurrentOpponents[0] == null)
        {
            Console.WriteLine("No monsters found for area.");
        }
        else
        {
            foreach (Monster m in CurrentOpponents)
            {
                m.IsDefeated = false;
            }
        }
        StartBattle();
    }
        public void Finish()
        {
            if (CurrentMatch == null)
            {
                NativeUI.Alert("Error", NullMatchMessage);
                return;
            }

            if (!IsMyTurn)
            {
                NativeUI.Alert("Warning", "Not your turn.");
                return;
            }

            if (CurrentMatchData == null)
            {
                NativeUI.Alert("Error", "Couldn't find any match data.");
                return;
            }

            MatchOutcome outcome = new MatchOutcome();

            outcome.SetParticipantResult(CurrentMatch.SelfParticipantId, MatchOutcome.ParticipantResult.Won);
            foreach (var id in CurrentOpponents.Select(p => p.ParticipantId))
            {
                outcome.SetParticipantResult(id, MatchOutcome.ParticipantResult.Lost);
            }

            CurrentMatchData.WinnerName = CurrentMatch.Self.DisplayName;
            var callback = GetAlertCallbackAction("Finished the match successfully.", "Failed to finish the match.");

            callback += success =>
            {
                if (success)
                {
                    canTakeTurn = false;
                }
            };
            GameServices.TurnBased.Finish(CurrentMatch, CurrentMatchData.ToByteArray(), outcome, callback);
        }