|
From: HeavyWave <hw...@bi...> - 2003-03-06 18:21:22
|
Hello Ben,
This is what I hae written (exept changes in Empire and
EmpireDetailControls classes):
private void saveButton_Click(object sender, System.EventArgs e)
{
if(this.empireDetailsControl.Empire.Name==null) { noParameter(); return; }
if(this.empireDetailsControl.Empire._pluralName==null) { noParameter(); return; }
if(this.empireDetailsControl.Empire.RulerTitle==null) { noParameter(); return; }
if(this.empireDetailsControl.Empire.contactMessage==null) { noParameter(); return; }
System.Windows.Forms.SaveFileDialog dialogBox = new System.Windows.Forms.SaveFileDialog();
dialogBox.Filter = "Empire save files (*.ecs)|*.ecs|All files (*.*)|*.*";
dialogBox.ShowDialog();
System.IO.Stream fileToWrite;
fileToWrite = dialogBox.OpenFile();
byte[] lineToWrite = new byte[256];
//Empire.Name save
for(int i=0;i<this.empireDetailsControl.Empire.Name.Length;i++)
lineToWrite[i]=Convert.ToByte(this.empireDetailsControl.Empire.Name[i]);
fileToWrite.Write(lineToWrite, 0, this.empireDetailsControl.Empire.Name.Length);
translator(fileToWrite, lineToWrite);
//Empire.PluralName save
for(int i=0;i<this.empireDetailsControl.Empire._pluralName.Length;i++)
lineToWrite[i]=Convert.ToByte(this.empireDetailsControl.Empire._pluralName[i]);
fileToWrite.Write(lineToWrite, 0, this.empireDetailsControl.Empire._pluralName.Length);
translator(fileToWrite, lineToWrite);
//Empire.RulerTitle save
for(int i=0;i<this.empireDetailsControl.Empire.RulerTitle.Length;i++)
lineToWrite[i]=Convert.ToByte(this.empireDetailsControl.Empire.RulerTitle[i]);
fileToWrite.Write(lineToWrite, 0, this.empireDetailsControl.Empire.RulerTitle.Length);
translator(fileToWrite, lineToWrite);
//Empire.ContactMessage save
for(int i=0;i<this.empireDetailsControl.Empire.contactMessage.Length;i++)
lineToWrite[i]=Convert.ToByte(this.empireDetailsControl.Empire.contactMessage[i]);
fileToWrite.Write(lineToWrite, 0, this.empireDetailsControl.Empire.contactMessage.Length);
translator(fileToWrite, lineToWrite);
//Empire.TechList save
TechList[] techList = new TechList[256];
techList = this.empireDetailsControl.Empire.GetResearchTree();
for(int i=0;i<techList.Length;i++)
{
for(int i2=0;i2<techList[i].Description.Length;i2++)
lineToWrite[i2] = Convert.ToByte(techList[i].Description[i2]);
fileToWrite.Write(lineToWrite, 0, techList[i].Description.Length);
lineToWrite[0]=6;
fileToWrite.Write(lineToWrite, 0, 1);
string Level = Convert.ToString(techList[i].Level);
for(int i2=0;i2<Level.Length;i2++)
lineToWrite[i2] = Convert.ToByte(Level[i2]);
fileToWrite.Write(lineToWrite, 0, techList[i].Name.Length);
lineToWrite[0]=6;
fileToWrite.Write(lineToWrite, 0, 1);
for(int i2=0;i2<techList[i].Name.Length;i2++)
lineToWrite[i2] = Convert.ToByte(techList[i].Name[i2]);
fileToWrite.Write(lineToWrite, 0, techList[i].Name.Length);
lineToWrite[0]=6;
fileToWrite.Write(lineToWrite, 0, 1);
}
translator(fileToWrite, lineToWrite);
fileToWrite.Close();
}
private void translator(System.IO.Stream file, byte[] buffer)
{
buffer[0]=7;
file.Write(buffer, 0, 1);
}
private void noParameter()
{
System.Windows.Forms.MessageBox.Show("All fields should be !");
}
Is this accepteable?
And what to do with Empire class ? Can you give me description of
Empires and how they will work. You said several things but that is
not enough.
--
Best Regards,
HeavyWave mailto:hw...@bi...
|