public override void OnResponse(NetState sender, RelayInfo info) { if (m_Context != null && !m_Context.Registered) { return; } switch (info.ButtonID) { case 0: // closed { if (m_Context != null) { m_From.SendGump(new DuelContextGump(m_From, m_Context)); } break; } case 1: // customize { m_From.SendGump(new RulesetGump(m_From, m_Ruleset, m_Ruleset.Layout, m_Context)); break; } default: { int idx = info.ButtonID - 2; if (idx >= 0 && idx < m_Defaults.Length) { m_Ruleset.ApplyDefault(m_Defaults[idx]); m_From.SendGump(new PickRulesetGump(m_From, m_Context, m_Ruleset)); } else { idx -= m_Defaults.Length; if (idx >= 0 && idx < m_Flavors.Length) { if (m_Ruleset.Flavors.Contains(m_Flavors[idx])) { m_Ruleset.RemoveFlavor(m_Flavors[idx]); } else { m_Ruleset.AddFlavor(m_Flavors[idx]); } m_From.SendGump(new PickRulesetGump(m_From, m_Context, m_Ruleset)); } } break; } } }
public Tournament() { m_ParticipantsPerMatch = 2; m_PlayersPerParticipant = 1; Pyramid = new TourneyPyramid(); Ruleset = new Ruleset(RulesetLayout.Root); Ruleset.ApplyDefault(Ruleset.Layout.Defaults[0]); Participants = new List <TourneyParticipant>(); Undefeated = new List <TourneyParticipant>(); Arenas = new List <Arena>(); SignupPeriod = TimeSpan.FromMinutes(10.0); Timer.DelayCall(SliceInterval, SliceInterval, Slice); }
public DuelContext( Mobile initiator, RulesetLayout layout, bool addNew ) { m_Initiator = initiator; m_Participants = new ArrayList(); m_Ruleset = new Ruleset( layout ); m_Ruleset.ApplyDefault( layout.Defaults[0] ); if ( addNew ) { m_Participants.Add( new Participant( this, 1 ) ); m_Participants.Add( new Participant( this, 1 ) ); ((Participant)m_Participants[0]).Add( initiator ); } }
public Tournament(IGenericReader reader) { int version = reader.ReadEncodedInt(); switch (version) { case 5: { FactionRestricted = reader.ReadBool(); goto case 4; } case 4: { EventController = reader.ReadItem() as EventController; goto case 3; } case 3: { SuddenDeathRounds = reader.ReadEncodedInt(); goto case 2; } case 2: { TourneyType = (TourneyType)reader.ReadEncodedInt(); goto case 1; } case 1: { GroupType = (GroupingType)reader.ReadEncodedInt(); TieType = (TieType)reader.ReadEncodedInt(); SignupPeriod = reader.ReadTimeSpan(); goto case 0; } case 0: { if (version < 3) { SuddenDeathRounds = 3; } m_ParticipantsPerMatch = reader.ReadEncodedInt(); m_PlayersPerParticipant = reader.ReadEncodedInt(); SignupPeriod = reader.ReadTimeSpan(); CurrentStage = TournamentStage.Inactive; Pyramid = new TourneyPyramid(); Ruleset = new Ruleset(RulesetLayout.Root); Ruleset.ApplyDefault(Ruleset.Layout.Defaults[0]); Participants = new List <TourneyParticipant>(); Undefeated = new List <TourneyParticipant>(); Arenas = new List <Arena>(); break; } } Timer.DelayCall(SliceInterval, SliceInterval, Slice); }
public Tournament() { m_ParticipantsPerMatch = 2; m_PlayersPerParticipant = 1; m_Pyramid = new TournyPyramid(); m_Ruleset = new Ruleset( RulesetLayout.Root ); m_Ruleset.ApplyDefault( m_Ruleset.Layout.Defaults[0] ); m_Participants = new ArrayList(); m_Undefeated = new ArrayList(); m_Arenas = new ArrayList(); m_SignupPeriod = TimeSpan.FromMinutes( 10.0 ); Timer.DelayCall( SliceInterval, SliceInterval, new TimerCallback( Slice ) ); }
public Tournament( GenericReader reader ) { int version = reader.ReadEncodedInt(); switch ( version ) { case 4: { m_EventController = reader.ReadItem() as EventController; goto case 3; } case 3: { m_SuddenDeathRounds = reader.ReadEncodedInt(); goto case 2; } case 2: { m_TournyType = (TournyType)reader.ReadEncodedInt(); goto case 1; } case 1: { m_GroupType = (GroupingType)reader.ReadEncodedInt(); m_TieType = (TieType)reader.ReadEncodedInt(); m_SignupPeriod = reader.ReadTimeSpan(); goto case 0; } case 0: { if ( version < 3 ) m_SuddenDeathRounds = 3; m_ParticipantsPerMatch = reader.ReadEncodedInt(); m_PlayersPerParticipant = reader.ReadEncodedInt(); m_SignupPeriod = reader.ReadTimeSpan(); m_Stage = TournamentStage.Inactive; m_Pyramid = new TournyPyramid(); m_Ruleset = new Ruleset( RulesetLayout.Root ); m_Ruleset.ApplyDefault( m_Ruleset.Layout.Defaults[0] ); m_Participants = new ArrayList(); m_Undefeated = new ArrayList(); m_Arenas = new ArrayList(); break; } } Timer.DelayCall( SliceInterval, SliceInterval, new TimerCallback( Slice ) ); }