예제 #1
0
 /// <summary>
 /// Removes a prize from the prizes collection
 /// </summary>
 /// <param name="place">place the prize is for</param>
 public void RemovePrize(string place)
 {
     if (m_Prizes.ContainsKey(place))
     {
         m_Prizes.Remove(place);
         XMLDates.Save();
     }
 }
예제 #2
0
        public static void CleanArenaList()
        {
            if (Arenas.ContainsKey(ArenaType.OneVsOne))
            {
                if (Arenas[ArenaType.OneVsOne] == null || Arenas[ArenaType.OneVsOne].Count == 0)
                {
                    Arenas.Remove(ArenaType.OneVsOne);
                    XMLDates.CleanTournamentList(ArenaType.OneVsOne);
                }
            }

            if (Arenas.ContainsKey(ArenaType.TwoVsTwo))
            {
                if (Arenas[ArenaType.TwoVsTwo] == null || Arenas[ArenaType.TwoVsTwo].Count == 0)
                {
                    Arenas.Remove(ArenaType.TwoVsTwo);
                    XMLDates.CleanTournamentList(ArenaType.TwoVsTwo);
                }
            }

            if (Arenas.ContainsKey(ArenaType.ThreeVsThree))
            {
                if (Arenas[ArenaType.ThreeVsThree] == null || Arenas[ArenaType.ThreeVsThree].Count == 0)
                {
                    Arenas.Remove(ArenaType.ThreeVsThree);
                    XMLDates.CleanTournamentList(ArenaType.ThreeVsThree);
                }
            }

            if (Arenas.ContainsKey(ArenaType.FourVsFour))
            {
                if (Arenas[ArenaType.FourVsFour] == null || Arenas[ArenaType.FourVsFour].Count == 0)
                {
                    Arenas.Remove(ArenaType.FourVsFour);
                    XMLDates.CleanTournamentList(ArenaType.FourVsFour);
                }
            }
            if (Arenas.ContainsKey(ArenaType.FiveVsFive))
            {
                if (Arenas[ArenaType.FiveVsFive] == null || Arenas[ArenaType.FiveVsFive].Count == 0)
                {
                    Arenas.Remove(ArenaType.FiveVsFive);
                    XMLDates.CleanTournamentList(ArenaType.FiveVsFive);
                }
            }
        }
예제 #3
0
        /// <summary>
        /// Adds a team to the tournament list
        /// </summary>
        /// <param name="m">team to add</param>
        /// <returns>did the team add?</returns>
        public bool AddTeam(Teams m)
        {
            bool Add = true;

            foreach (PlayerMobile pm in m.getOwners())
            {
                if (IsRegistered(pm))
                {
                    Add = false;
                }
            }

            if (Add)
            {
                Teams.Add(m);
                XMLDates.Save();
            }

            return(Add);
        }
예제 #4
0
        /// <summary>
        /// Adds a prize to the prizes collection
        /// </summary>
        /// <param name="place">place the prize is for</param>
        /// <param name="prize">prize to be given</param>
        /// <returns>is the prize added?</returns>
        public bool AddPrize(string place, Item prize)
        {
            bool Add = true;

            if (m_Prizes.ContainsKey(place))
            {
                Add = false;
            }

            if (Add)
            {
                m_Prizes.Add(place, prize);
                XMLDates.Save();
            }
            else
            {
                m_Prizes[place] = prize;
                XMLDates.Save();
            }

            return(Add);
        }
예제 #5
0
        /// <summary>
        /// Removes a team from the tournament list
        /// </summary>
        /// <param name="m">team to be removed</param>
        public void RemoveTeam(Teams m)
        {
            List <Teams> remove = new List <Teams>();

            foreach (PlayerMobile pm in m.getOwners())
            {
                remove.Add(GetTeam(pm));
            }

            foreach (Teams team in remove)
            {
                foreach (PlayerMobile pm in team.getOwners())
                {
                    if (Manager.IsOnline(pm))
                    {
                        pm.SendMessage(String.Format("You have been removed from the {0} tournament on {1} at {2}.", TeamSize, Date.ToString("MM/dd/yy"), Date.ToString("hh:mm tt")));
                    }
                }
                Teams.Remove(team);
            }

            XMLDates.Save();
        }
예제 #6
0
        public override void OnResponse(NetState sender, RelayInfo info)
        {
            Mobile from = sender.Mobile;

            switch (info.ButtonID)
            {
            case 0:
                break;

            case 1:
            {
                from.SendGump(new TournamentTypeGump(from, t));
                break;
            }

            case 2:
            {
                from.SendGump(new TournamentTeamSizeGump(from, t));
                break;
            }

            case 3:
            {
                t.Supplied = !t.Supplied;
                from.SendGump(new TournamentInfoGump(from, t));
                break;
            }

            case 4:
            {
                from.SendGump(new TournamentDateGump(from, t));
                break;
            }

            case 5:
            {
                from.SendGump(new TournamentTimeGump(from, t));
                break;
            }

            case 6:
            {
                from.SendGump(new TournamentPrizeGump(from, t));
                break;
            }

            case 7:
            {
                from.SendGump(new TournamentArenasGump(from, t, 0));
                break;
            }

            case 8:
            {
                if (t.Date > DateTime.Now && ArenaControl.Arenas.ContainsKey(t.TeamSize) &&
                    ArenaControl.Arenas[t.TeamSize] != null && ArenaControl.Arenas[t.TeamSize].Count > 0)
                {
                    XMLDates.RemoveTournament(t);     // Ensure no duplicates
                    XMLDates.AddTournament(t);
                    XMLDates.Save();
                    from.SendMessage("The tournament has been added.");
                }
                else if (!(t.Date > DateTime.Now))
                {
                    from.SendMessage("The date has already passed.");
                }
                else
                {
                    from.SendMessage("There are no arenas for " + t.TeamSize.ToString() + ".");
                }
                break;
            }
            }
        }