public StadiumRecord GetPreviousStadiumRecord()
        {
            StadiumRecord record = null;

            int startingindex = currentstadiumrecord;

            while (true)
            {
                currentstadiumrecord--;

                if (currentstadiumrecord == startingindex)
                {
                    return(null);
                }

                if (currentstadiumrecord < 0)
                {
                    currentstadiumrecord = model.TableModels[EditorModel.STADIUM_TABLE].RecordCount;
                    continue;
                }

                record = (StadiumRecord)model.TableModels[EditorModel.STADIUM_TABLE].GetRecord(currentstadiumrecord);

                if (record.Deleted)
                {
                    continue;
                }

                break;
            }

            return(record);
        }
        public StadiumRecord GetStadiumByID(int id)
        {
            foreach (StadiumRecord rec in model.TableModels[EditorModel.STADIUM_TABLE].GetRecords())
            {
                if (rec.Deleted)
                {
                    continue;
                }
                StadiumRecord stadium = (StadiumRecord)rec;
                if (stadium.StadiumId == id)
                {
                    currentstadiumrecord = rec.RecNo;
                    return(stadium);
                }
            }

            return(null);
        }
        public void GetStadiumList()
        {
            if (stadiumlist == null)
            {
                stadiumlist = new List <int>();
            }
            else
            {
                stadiumlist.Clear();
            }
            if (stadiumnames == null)
            {
                stadiumnames = new Dictionary <int, string>();
            }
            else
            {
                stadiumnames.Clear();
            }

            foreach (StadiumRecord rec in model.TableModels[EditorModel.STADIUM_TABLE].GetRecords())
            {
                if (rec.Deleted)
                {
                    continue;
                }
                StadiumRecord stadium = (StadiumRecord)rec;
                stadiumlist.Add(stadium.StadiumId);
            }

            stadiumlist.Sort();

            foreach (int i in stadiumlist)
            {
                stadiumnames.Add(i, GetStadiumByID(i).StadiumName);
            }
        }
Esempio n. 4
0
        public TableRecordModel ConstructRecordModel(int recno)
        {
            TableRecordModel newRecord = null;
            string           tablename = name;

            // Need to reverse the name if BE
            if (BigEndian)
            {
                string rev = ConvertBE(name);
                tablename = rev;
            }

            switch (tablename)
            {
            case EditorModel.CITY_TABLE:
                newRecord = new CityRecord(recno, this, parentModel);
                break;

            case EditorModel.COACH_TABLE:
            {
                // coch table in streameddata is different than ros/fra
                if (parentModel.FileType == MaddenFileType.Streameddata)
                {
                    newRecord = new CoachCollection(recno, this, parentModel);
                }
                else
                {
                    newRecord = new CoachRecord(recno, this, parentModel);
                }
                break;
            }

            case EditorModel.SALARY_CAP_TABLE:
                newRecord = new SalaryCapRecord(recno, this, parentModel);
                break;

            case EditorModel.COACH_SLIDER_TABLE:
                newRecord = new CoachPrioritySliderRecord(recno, this, parentModel);
                break;

            case EditorModel.TEAM_CAPTAIN_TABLE:
                newRecord = new TeamCaptainRecord(recno, this, parentModel);
                break;

            case EditorModel.OWNER_TABLE:
                newRecord = new OwnerRecord(recno, this, parentModel);
                break;

            case EditorModel.DEPTH_CHART_TABLE:
                newRecord = new DepthChartRecord(recno, this, parentModel);
                break;

            case EditorModel.INJURY_TABLE:
                newRecord = new InjuryRecord(recno, this, parentModel);
                break;

            case EditorModel.PLAYER_TABLE:
                newRecord = new PlayerRecord(recno, this, parentModel);
                break;

            case EditorModel.TEAM_TABLE:
                newRecord = new TeamRecord(recno, this, parentModel);
                break;

            case EditorModel.SCHEDULE_TABLE:
                newRecord = new ScheduleRecord(recno, this, parentModel);
                break;

            case EditorModel.STADIUM_TABLE:
                newRecord = new StadiumRecord(recno, this, parentModel);
                break;

            case EditorModel.UNIFORM_TABLE:
                newRecord = new UniformRecord(recno, this, parentModel);
                break;

            // MADDEN DRAFT EDIT
            case EditorModel.DRAFT_PICK_TABLE:
                newRecord = new DraftPickRecord(recno, this, parentModel);
                break;

            case EditorModel.DRAFTED_PLAYERS_TABLE:
                newRecord = new RookieRecord(recno, this, parentModel);
                break;

            case EditorModel.BOXSCORE_DEFENSE_TABLE:
                newRecord = new BoxScoreDefenseRecord(recno, this, parentModel);
                break;

            case EditorModel.BOXSCORE_OFFENSE_TABLE:
                newRecord = new BoxScoreOffenseRecord(recno, this, parentModel);
                break;

            case EditorModel.CAREER_STATS_DEFENSE_TABLE:
                newRecord = new CareerStatsDefenseRecord(recno, this, parentModel);
                break;

            case EditorModel.CAREER_STATS_OFFENSE_TABLE:
                newRecord = new CareerStatsOffenseRecord(recno, this, parentModel);
                break;

            case EditorModel.SEASON_STATS_DEFENSE_TABLE:
                newRecord = new SeasonStatsDefenseRecord(recno, this, parentModel);
                break;

            case EditorModel.SEASON_STATS_OFFENSE_TABLE:
                newRecord = new SeasonStatsOffenseRecord(recno, this, parentModel);
                break;

            case EditorModel.TEAM_SEASON_STATS:
                newRecord = new TeamSeasonStatsRecord(recno, this, parentModel);
                break;

            case EditorModel.FRANCHISE_TIME_TABLE:
                newRecord = new FranchiseTimeRecord(recno, this, parentModel);
                break;

            case EditorModel.BOXSCORE_TEAM_TABLE:
                newRecord = new BoxScoreTeamStats(recno, this, parentModel);
                break;

            case EditorModel.BOXSCORE_OFFENSIVE_LINE_TABLE:
                newRecord = new BoxScoreOffensiveLineRecord(recno, this, parentModel);
                break;

            case EditorModel.SEASON_STATS_OFFENSIVE_LINE_TABLE:
                newRecord = new SeasonStatsOffensiveLineRecord(recno, this, parentModel);
                break;

            case EditorModel.CAREER_STATS_OFFENSIVE_LINE_TABLE:
                newRecord = new CareerStatsOffensiveLineRecord(recno, this, parentModel);
                break;

            case EditorModel.CAREER_GAMES_PLAYED_TABLE:
                newRecord = new CareerGamesPlayedRecord(recno, this, parentModel);
                break;

            case EditorModel.SEASON_GAMES_PLAYED_TABLE:
                newRecord = new SeasonGamesPlayedRecord(recno, this, parentModel);
                break;

            case EditorModel.CAREER_STATS_KICKPUNT_TABLE:
                newRecord = new CareerPuntKickRecord(recno, this, parentModel);
                break;

            case EditorModel.SEASON_STATS_KICKPUNT_TABLE:
                newRecord = new SeasonPuntKickRecord(recno, this, parentModel);
                break;

            case EditorModel.CAREER_STATS_KICKPUNT_RETURN_TABLE:
                newRecord = new CareerPKReturnRecord(recno, this, parentModel);
                break;

            case EditorModel.SEASON_STATS_KICKPUNT_RETURN_TABLE:
                newRecord = new SeasonPKReturnRecord(recno, this, parentModel);
                break;

            case EditorModel.SCOUTING_STATE_TABLE:
                newRecord = new ScoutingStateRecord(recno, this, parentModel);
                break;

            case EditorModel.RFA_STATE_TABLE:
                newRecord = new RFAStateRecord(recno, this, parentModel);
                break;

            case EditorModel.RFA_PLAYERS:
                newRecord = new RestrictedFreeAgentPlayers(recno, this, parentModel);
                break;

            case EditorModel.RFA_SALARY_TENDERS:
                newRecord = new RestrictedFreeAgentSigningTenders(recno, this, parentModel);
                break;

            case EditorModel.RESIGN_PLAYERS_STATE_TABLE:
                newRecord = new ResignPlayersStateRecord(recno, this, parentModel);
                break;

            case EditorModel.FREE_AGENCY_STATE_TABLE:
                newRecord = new FreeAgencyStateRecord(recno, this, parentModel);
                break;

            case EditorModel.DRAFT_STATE_TABLE:
                newRecord = new DraftStateRecord(recno, this, parentModel);
                break;

            case EditorModel.FRANCHISE_STAGE_TABLE:
                newRecord = new FranchiseStageRecord(recno, this, parentModel);
                break;

            case EditorModel.GAME_OPTIONS_TABLE:
                newRecord = new GameOptionRecord(recno, this, parentModel);
                break;

            case EditorModel.PLAYER_AWARDS_TABLE:
                newRecord = new YearlyAwards(recno, this, parentModel);
                break;

            case EditorModel.FREE_AGENT_PLAYERS:
                newRecord = new FreeAgentPlayers(recno, this, parentModel);
                break;

            case EditorModel.COACHES_EXPECTED_SALARY:
                newRecord = new CoachExpectedSalary(recno, this, parentModel);
                break;

            case EditorModel.COACHING_HISTORY_TABLE:
                newRecord = new CoachHistory(recno, this, parentModel);
                break;

            case EditorModel.PROGRESSION_SCHEDULE:
                newRecord = new ProgressionSchedule(recno, this, parentModel);
                break;

            case EditorModel.USER_OPTIONS_TABLE:
                newRecord = new UserOptionRecord(recno, this, parentModel);
                break;

            case EditorModel.TEAM_RIVAL_HISTORY:
                newRecord = new TeamRivalHistory(recno, this, parentModel);
                break;

            case EditorModel.PRO_BOWL_PLAYERS:
                newRecord = new ProBowlPlayer(recno, this, parentModel);
                break;

            case EditorModel.USER_INFO_TABLE:
                newRecord = new UserInfoRecord(recno, this, parentModel);
                break;

                #region Streamed Data
            case EditorModel.COLLEGES_TABLE:
                newRecord = new CollegesRecord(recno, this, parentModel);
                break;

            case EditorModel.PLAYER_FIRST_NAMES:
                newRecord = new FirstNames(recno, this, parentModel);
                break;

            case EditorModel.PLAYER_LAST_NAMES:
                newRecord = new LastNames(recno, this, parentModel);
                break;

            case EditorModel.ROLES_DEFINE:
                newRecord = new PRDF(recno, this, parentModel);
                break;

            case EditorModel.ROLES_INFO:
                newRecord = new RoleInfo(recno, this, parentModel);
                break;

            case EditorModel.ROLES_PLAYER_EFFECTS:
                newRecord = new RolePlayerEffects(recno, this, parentModel);
                break;

            case EditorModel.ROLES_TEAM_EFFECTS:
                newRecord = new RoleTeamEffects(recno, this, parentModel);
                break;

            case EditorModel.STATS_REQUIRED:
                newRecord = new SuperStarStatsRequired(recno, this, parentModel);
                break;

            case EditorModel.PROGRESSION:
                newRecord = new PlayerProgression(recno, this, parentModel);
                break;

            case EditorModel.REGRESSION:
                newRecord = new PlayerRegression(recno, this, parentModel);
                break;

            case EditorModel.PTCB:
                newRecord = new ProgressionTracking(recno, this, parentModel);
                break;

            case EditorModel.PTCE:
                newRecord = new ProgressionTracking(recno, this, parentModel);
                break;

            case EditorModel.PTDE:
                newRecord = new ProgressionTracking(recno, this, parentModel);
                break;

            case EditorModel.PTDT:
                newRecord = new ProgressionTracking(recno, this, parentModel);
                break;

            case EditorModel.PTFB:
                newRecord = new ProgressionTracking(recno, this, parentModel);
                break;

            case EditorModel.PTFS:
                newRecord = new ProgressionTracking(recno, this, parentModel);
                break;

            case EditorModel.PTGA:
                newRecord = new ProgressionTracking(recno, this, parentModel);
                break;

            case EditorModel.PTHB:
                newRecord = new ProgressionTracking(recno, this, parentModel);
                break;

            case EditorModel.PTKI:
                newRecord = new ProgressionTracking(recno, this, parentModel);
                break;

            case EditorModel.PTKP:
                newRecord = new ProgressionTracking(recno, this, parentModel);
                break;

            case EditorModel.PTMB:
                newRecord = new ProgressionTracking(recno, this, parentModel);
                break;

            case EditorModel.PTOB:
                newRecord = new ProgressionTracking(recno, this, parentModel);
                break;

            case EditorModel.PTPU:
                newRecord = new ProgressionTracking(recno, this, parentModel);
                break;

            case EditorModel.PTQB:
                newRecord = new ProgressionTracking(recno, this, parentModel);
                break;

            case EditorModel.PTSS:
                newRecord = new ProgressionTracking(recno, this, parentModel);
                break;

            case EditorModel.PTTA:
                newRecord = new ProgressionTracking(recno, this, parentModel);
                break;

            case EditorModel.PTTE:
                newRecord = new ProgressionTracking(recno, this, parentModel);
                break;

            case EditorModel.PTWR:
                newRecord = new ProgressionTracking(recno, this, parentModel);
                break;

                #endregion

            case EditorModel.POSITION_SUBS:
                newRecord = new PlayerSubs(recno, this, parentModel);
                break;

            case EditorModel.DEPTH_CHART_SUBS:
                newRecord = new DepthChartSubs(recno, this, parentModel);
                break;

            case EditorModel.SALARY_CAP_INCREASE:
                newRecord = new SalaryCapIncrease(recno, this, parentModel);
                break;

            case EditorModel.PLAYER_MINIMUM_SALARY_TABLE:
                newRecord = new SalaryYearsPro(recno, this, parentModel);
                break;

            case EditorModel.PLAYER_SALARY_DEMAND_TABLE:
                newRecord = new PlayerSalaryDemands(recno, this, parentModel);
                break;

            case EditorModel.INACTIVE_TABLE:
                newRecord = new InactiveRecord(recno, this, parentModel);
                break;

            case EditorModel.LEAGUE_REVENUE_TABLE:
                newRecord = new LeagueRevenue(recno, this, parentModel);
                break;

            case EditorModel.OWNER_REVENUE_TABLE:
                newRecord = new OwnerRevenue(recno, this, parentModel);
                break;

            case EditorModel.WEEKLY_INCOME_TABLE:
                newRecord = new Income(recno, this, parentModel);
                break;

            case EditorModel.TEAM_WIN_LOSS_RECORD:
                newRecord = new TeamWinLossRecord(recno, this, parentModel);
                break;

            // DB Templates
            case EditorModel.PLAYER_OVERALL_CALC:
                newRecord = new OverallRecord(recno, this, parentModel);
                break;

            case EditorModel.PLAYBOOK_TABLE:
                newRecord = new FRAPlayBooks(recno, this, parentModel);
                break;

            default:
                newRecord = new TableRecordModel(recno, this, parentModel);
                break;
            }

            //Add the new record to our list of records
            recordList.Add(newRecord);

            return(newRecord);
        }
        public void LoadStadium(StadiumRecord record)
        {
            if (record == null)
            {
                MessageBox.Show("No Records available.", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                return;
            }

            isInitialising = true;

            try
            {
                StadiumNameTextBox.Text          = record.StadiumName;
                StadiumAgeNumericUpDown.Value    = record.StadiumAge;
                StadiumRatingNumericUpDown.Value = record.StadiumRating;
                StadiumIdNumericUpDown.Value     = record.StadiumId;

                SeatingMaxUpDown.Value   = record.CapacityMax;
                ClubSeatsUpDown.Value    = record.CapacityClubSeats;
                LuxuryBoxUpDown.Value    = record.CapacityLuxuryBox;
                UpperLevelUpDown.Value   = record.CapacityUpperLevel;
                MidLevelUpDown.Value     = record.CapacityMidLevel;
                LowerLevelUpDown.Value   = record.CapacityLowerLevel;
                UpperEndzoneUpDown.Value = record.CapacityUpperEndzone;


                //Set Combo Boxes selected index
                foreach (Object obj in CityComboBox.Items)
                {
                    if (((GenericRecord)obj).Id == record.CityId)
                    {
                        CityComboBox.SelectedItem = obj;
                        break;
                    }
                }
                foreach (Object obj in FieldTypeComboBox.Items)
                {
                    if (((GenericRecord)obj).Id == record.FieldType)
                    {
                        FieldTypeComboBox.SelectedItem = obj;
                        break;
                    }
                }

                StadiumTypeCheckBox.Checked    = true;
                StadiumDesignGroupBox.Enabled  = false;
                ResourceNumericUpDown.Enabled  = true;
                ResourceNumericUpDown.Value    = record.Stadium_DAT_Resource;
                ClimateControlCheckBox.Checked = record.StadiumClimateControl;

                if (record.StadiumType > 0)
                {
                    StadiumTypeCheckBox.Checked   = false;
                    StadiumDesignGroupBox.Enabled = true;
                    ResourceNumericUpDown.Enabled = false;
                    previous_stadiumtype          = record.StadiumType;
                }

                ClimateControlCheckBox.Checked = record.StadiumClimateControl;

                //  Stadium Design Combo Boxes
                foreach (Object obj in NorthDeck1ComboBox.Items)
                {
                    if (((GenericRecord)obj).Id == record.StadiumPart_North_Deck1)
                    {
                        NorthDeck1ComboBox.SelectedItem = obj;
                        break;
                    }
                }
                foreach (Object obj in NorthDeck2ComboBox.Items)
                {
                    if (((GenericRecord)obj).Id == record.StadiumPart_North_Deck2)
                    {
                        NorthDeck2ComboBox.SelectedItem = obj;
                        break;
                    }
                }
                foreach (Object obj in NorthDeck3ComboBox.Items)
                {
                    if (((GenericRecord)obj).Id == record.StadiumPart_North_Deck3)
                    {
                        NorthDeck3ComboBox.SelectedItem = obj;
                        break;
                    }
                }
                foreach (Object obj in SouthDeck1ComboBox.Items)
                {
                    if (((GenericRecord)obj).Id == record.StadiumPart_South_Deck1)
                    {
                        SouthDeck1ComboBox.SelectedItem = obj;
                        break;
                    }
                }
                foreach (Object obj in SouthDeck2ComboBox.Items)
                {
                    if (((GenericRecord)obj).Id == record.StadiumPart_South_Deck2)
                    {
                        SouthDeck2ComboBox.SelectedItem = obj;
                        break;
                    }
                }
                foreach (Object obj in SouthDeck3ComboBox.Items)
                {
                    if (((GenericRecord)obj).Id == record.StadiumPart_South_Deck3)
                    {
                        SouthDeck3ComboBox.SelectedItem = obj;
                        break;
                    }
                }
                foreach (Object obj in NWCornerDeck1ComboBox.Items)
                {
                    if (((GenericRecord)obj).Id == record.StadiumPart_NW_Corner_Deck1)
                    {
                        NWCornerDeck1ComboBox.SelectedItem = obj;
                        break;
                    }
                }
                foreach (Object obj in NECornerDeck1ComboBox.Items)
                {
                    if (((GenericRecord)obj).Id == record.StadiumPart_NE_Corner_Deck1)
                    {
                        NECornerDeck1ComboBox.SelectedItem = obj;
                        break;
                    }
                }
                foreach (Object obj in SWCornerDeck1ComboBox.Items)
                {
                    if (((GenericRecord)obj).Id == record.StadiumPart_SW_Corner_Deck1)
                    {
                        SWCornerDeck1ComboBox.SelectedItem = obj;
                        break;
                    }
                }
                foreach (Object obj in SECornerDeck1ComboBox.Items)
                {
                    if (((GenericRecord)obj).Id == record.StadiumPart_SE_Corner_Deck1)
                    {
                        SECornerDeck1ComboBox.SelectedItem = obj;
                        break;
                    }
                }
                foreach (Object obj in WestDeck1ComboBox.Items)
                {
                    if (((GenericRecord)obj).Id == record.StadiumPart_WSIDE_Deck1)
                    {
                        WestDeck1ComboBox.SelectedItem = obj;
                        break;
                    }
                }
                foreach (Object obj in WestDeck2ComboBox.Items)
                {
                    if (((GenericRecord)obj).Id == record.StadiumPart_WSIDE_Deck2)
                    {
                        WestDeck2ComboBox.SelectedItem = obj;
                        break;
                    }
                }
                foreach (Object obj in WestDeck3ComboBox.Items)
                {
                    if (((GenericRecord)obj).Id == record.StadiumPart_WSIDE_Deck3)
                    {
                        WestDeck3ComboBox.SelectedItem = obj;
                        break;
                    }
                }
                foreach (Object obj in EastDeck1ComboBox.Items)
                {
                    if (((GenericRecord)obj).Id == record.StadiumPart_ESIDE_Deck1)
                    {
                        EastDeck1ComboBox.SelectedItem = obj;
                        break;
                    }
                }
                foreach (Object obj in EastDeck2ComboBox.Items)
                {
                    if (((GenericRecord)obj).Id == record.StadiumPart_ESIDE_Deck2)
                    {
                        EastDeck2ComboBox.SelectedItem = obj;
                        break;
                    }
                }
                foreach (Object obj in EastDeck3ComboBox.Items)
                {
                    if (((GenericRecord)obj).Id == record.StadiumPart_ESIDE_Deck3)
                    {
                        EastDeck3ComboBox.SelectedItem = obj;
                        break;
                    }
                }
                foreach (Object obj in RoofComboBox.Items)
                {
                    if (((GenericRecord)obj).Id == record.StadiumPart_Roof)
                    {
                        RoofComboBox.SelectedItem = obj;
                        break;
                    }
                }
                foreach (Object obj in RoofLightsComboBox.Items)
                {
                    if (((GenericRecord)obj).Id == record.StadiumPart_Roof_Lights)
                    {
                        RoofLightsComboBox.SelectedItem = obj;
                        break;
                    }
                }
                foreach (Object obj in SidelinePatternComboBox.Items)
                {
                    if (((GenericRecord)obj).Id == record.StadiumPart_Sideline_Pattern)
                    {
                        SidelinePatternComboBox.SelectedItem = obj;
                        break;
                    }
                }
                foreach (Object obj in EndzoneWallsComboBox.Items)
                {
                    if (((GenericRecord)obj).Id == record.StadiumPart_Endzone_Walls)
                    {
                        EndzoneWallsComboBox.SelectedItem = obj;
                        break;
                    }
                }
                foreach (Object obj in FieldSurfaceComboBox.Items)
                {
                    if (((GenericRecord)obj).Id == record.StadiumPart_Field_Type)
                    {
                        FieldSurfaceComboBox.SelectedItem = obj;
                        break;
                    }
                }
                foreach (Object obj in EndzoneBackgroundComboBox.Items)
                {
                    if (((GenericRecord)obj).Id == record.StadiumPart_Endzone_Back)
                    {
                        EndzoneBackgroundComboBox.SelectedItem = obj;
                        break;
                    }
                }
                foreach (Object obj in StadiumBackdropComboBox.Items)
                {
                    if (((GenericRecord)obj).Id == record.StadiumPart_Stadium_Backdrop)
                    {
                        StadiumBackdropComboBox.SelectedItem = obj;
                        break;
                    }
                }

                SpecialLogoNumericUpDown.Enabled = false;
                if (model.FileVersion >= MaddenFileVersion.Ver2006)
                {
                    SpecialLogoNumericUpDown.Enabled = true;
                    SpecialLogoNumericUpDown.Value   = record.SpecialLogo;
                }
            }

            catch (Exception e)
            {
                MessageBox.Show("Exception Occurred loading this Stadium:\r\n" + e.ToString(), "Exception Loading Stadium", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            finally
            {
                isInitialising = false;
            }
        }