public BattleMenu( PartyMember member ) { pm = member; menuHeap = new Dictionary<string, MenuBox>(); }
public static void InitializePartyData() { partymemberData = new Dictionary<string, PartyMember>(); partyLevelUpData = new Dictionary<string, LevelUpData[]>(); { string output = Utility.read_file_text( @"content\dat\cast.txt" ); string[] lines = output.Split( '\n' ); foreach( string line in lines ) { string[] particles = line.Split( '\t' ); if( particles.Length == 2 ) { string description = particles[1]; string[] words = _.explode( particles[0], ' ' ); if( words.Length == 6 ) { PartyMember pm = new PartyMember(); pm.name = words[0]; pm.klass = Klass.get( words[1] ); pm.normal_chr = words[2]; pm.overworld_chr = words[3]; pm.battle_spr = words[4]; pm.statfile = words[5]; pm.description = description; partymemberData.Add( pm.name.ToLower(), pm ); } } } } if( partymemberData.Count != 8 ) { throw new Exception( "Currently expect 8 party members, got: " + partymemberData.Count ); } foreach( string key in partymemberData.Keys ) { PartyMember pm = partymemberData[key]; string output = Utility.read_file_text( "content/dat/statfiles/" + pm.statfile ); string[] lines = output.Split( '\n' ); List<LevelUpData> data = new List<LevelUpData>(); foreach( string line in lines ) { string l = line.Trim(); string[] stats = _.explode( l, ' ' ); if( line.StartsWith( "//" ) ) { continue; } if( stats.Length == 14 ) { data.Add( new LevelUpData(stats) ); } } if( data.Count != PartyMember.MAX_LEVEL ) { throw new Exception( "There must be " + PartyMember.MAX_LEVEL + " entries in your levelup datafile, holmes." ); } partyLevelUpData.Add( pm.name.ToLower(), data.ToArray() ); } }