Ejemplo n.º 1
0
        private ArenaPartyCreation TryCreateBalancedTeam(ArenaParty party, ref List <ArenaParty> p2, ref List <Character> characters)
        {
            var i            = 0;
            var searchedRank = -1;

            ArenaPartyCreation creation;

            while (p2.Count > i && !this.CanBeBalanced(party, p2[i], ref searchedRank))
            {
                ++i;
            }

            if (i < p2.Count)
            {
                var character = characters.FirstOrDefault(entry => Math.Abs(entry.Record.HiddenArenaRank - searchedRank) < 150);
                if (character == null)
                {
                    creation = null;
                }
                else
                {
                    creation = new ArenaPartyCreation(p2[i], character);

                    p2.Remove(p2[i]);
                    characters.Remove(character);
                }
            }
            else
            {
                creation = null;
            }

            return(creation);
        }
Ejemplo n.º 2
0
        // CONSTRUCTORS
        public ArenaInvitation(ArenaPartyCreation redTeam, ArenaPartyCreation blueTeam)
        {
            this.m_acceptedIds = new List <int>();

            this.RedTeam  = redTeam;
            this.BlueTeam = blueTeam;

            //this.ForEach(new System.Action<ArenaPartyCreation>((ArenaPartyCreation entry) => entry.SendFightProposition(this)));

            Task.Factory.StartNewDelayed(ArenaInvitationDuration * 1000, this.TimerElapsed);
        }