Is there any way to simplify this code? Or any way to create another page of class page to keep the main page clean as possible. I’m planning to have hundreds of text file and since I’m a newbie I don’t the best way to approach this. I’m trying to make an app with Xbox 360 achievement guides, but each game averaged around 40 achievements. (That’s allot of text files).
if (selectedIndex == "0")
{
var Tutorial = Application.GetResourceStream(new Uri("Resources/Games/MaxPayne3/StoryRelated.txt", UriKind.Relative));
using (Stream Text = Tutorial.Stream)
{
StreamReader sr = new StreamReader(Text);
Guide.Text = "Story Complete [MEDIUM]\n" + Environment.NewLine + sr.ReadToEnd();
Title.Text = "Feel The Payne";
AppBarMenuDisable.IsEnabled = false;
}
}
else if (selectedIndex == "1")
{
var Tutorial = Application.GetResourceStream(new Uri("Resources/Games/MaxPayne3/StoryRelated.txt", UriKind.Relative));
using (Stream Text = Tutorial.Stream)
{
StreamReader sr = new StreamReader(Text);
Guide.Text = "Story Complete [HARD]\n" + Environment.NewLine + sr.ReadToEnd();
Title.Text = "Serious Payne";
AppBarMenuDisable.IsEnabled = false;
}
}
else if (selectedIndex == "2")
{
var Tutorial = Application.GetResourceStream(new Uri("Resources/Games/MaxPayne3/StoryRelated.txt", UriKind.Relative));
using (Stream Text = Tutorial.Stream)
{
StreamReader sr = new StreamReader(Text);
Guide.Text = "Story Complete [OLD SCHOOL]\n" + Environment.NewLine + sr.ReadToEnd();
Title.Text = "Maximum Payne";
AppBarMenuDisable.IsEnabled = false;
}
}
else if (selectedIndex == "3")
{
var Tutorial = Application.GetResourceStream(new Uri("Resources/Games/MaxPayne3/TextFile1.txt", UriKind.Relative));
using (Stream Text = Tutorial.Stream)
{
StreamReader sr = new StreamReader(Text);
Guide.Text = sr.ReadToEnd();
Title.Text = "Payne In The Ass";
AppBarMenuDisable.IsEnabled = false;
}
}
else if (selectedIndex == "4")
{
var Tutorial = Application.GetResourceStream(new Uri("Resources/Games/MaxPayne3/StoryRelated.txt", UriKind.Relative));
using (Stream Text = Tutorial.Stream)
{
StreamReader sr = new StreamReader(Text);
Guide.Text = sr.ReadToEnd();
Title.Text = "Part I Complete";
AppBarMenuDisable.IsEnabled = false;
}
}
else if (selectedIndex == "5")
{
var Tutorial = Application.GetResourceStream(new Uri("Resources/Games/MaxPayne3/StoryRelated.txt", UriKind.Relative));
using (Stream Text = Tutorial.Stream)
{
StreamReader sr = new StreamReader(Text);
Guide.Text = sr.ReadToEnd();
Title.Text = "Part II Complete";
AppBarMenuDisable.IsEnabled = false;
}
}
else if (selectedIndex == "6")
{
var Tutorial = Application.GetResourceStream(new Uri("Resources/Games/MaxPayne3/StoryRelated.txt", UriKind.Relative));
using (Stream Text = Tutorial.Stream)
{
StreamReader sr = new StreamReader(Text);
Guide.Text = sr.ReadToEnd();
Title.Text = "Part III Complete";
AppBarMenuDisable.IsEnabled = false;
}
}
else if (selectedIndex == "7")
{
var Tutorial = Application.GetResourceStream(new Uri("Resources/Games/MaxPayne3/TextFile2.txt", UriKind.Relative));
using (Stream Text = Tutorial.Stream)
{
StreamReader sr = new StreamReader(Text);
Guide.Text = sr.ReadToEnd();
Title.Text = "A New York Minute";
AppBarMenuDisable.IsEnabled = false;
}
}
else if (selectedIndex == "8")
{
var Tutorial = Application.GetResourceStream(new Uri("Resources/Games/MaxPayne3/TextFile3.txt", UriKind.Relative));
using (Stream Text = Tutorial.Stream)
{
StreamReader sr = new StreamReader(Text);
Guide.Text = sr.ReadToEnd();
Title.Text = "The Shadows Rushed Me";
AppBarMenuDisable.IsEnabled = false;
}
}
else if (selectedIndex == "9")
{
var Tutorial = Application.GetResourceStream(new Uri("Resources/Games/MaxPayne3/TextFile4.txt", UriKind.Relative));
using (Stream Text = Tutorial.Stream)
{
StreamReader sr = new StreamReader(Text);
Guide.Text = sr.ReadToEnd();
Title.Text = "Out The Window";
YouTubeLink.URL = "http://www.youtube.com/watch?v=lRg6ygA-M_Y";
}
}
I would love to have this text files somewhere in the internet as the user can retrieve them as needed.
You are overcomplicating things. If you really want to bundle all your data with the application, you could serialize it to XML or JSON and then deserialize it internally.
This also adds flexibility to your code, since working directly with hardcoded values like you do might cause some headaches in the long run, when you decide to add changes.