public BaseObject CreateObject() { WarPlane warPlane = new WarPlane { engine = new Engine() }; return(warPlane); }
private string SerializeWarPlane(WarPlane warPlane, List <BaseObject> listObjects) { // string builder string serializedWarPlane = warPlane.GetType().ToString() + " "; serializedWarPlane += warPlane.FlightAltitude.ToString() + " "; serializedWarPlane += warPlane.Identificator + " "; serializedWarPlane += warPlane.Model + " "; serializedWarPlane += warPlane.ReleaseYear.ToString() + " "; serializedWarPlane += warPlane.Speed.ToString() + " "; serializedWarPlane += warPlane.engine.Fuel.ToString() + " "; serializedWarPlane += warPlane.engine.Power.ToString() + " "; if (warPlane.flattop == null) { serializedWarPlane += "null "; } else { for (int i = 0; i < listObjects.Count; i++) { if (warPlane.flattop == listObjects[i]) { serializedWarPlane += i.ToString() + " "; break; } } } if (warPlane.Pilot == null) { serializedWarPlane += "null "; } else { for (int i = 0; i < listObjects.Count; i++) { if (warPlane.Pilot == listObjects[i]) { serializedWarPlane += i.ToString() + " "; break; } } } return(serializedWarPlane); }
private void DeserializeWarPlane(string serializedWarPlane, WarPlane warPlane, List <BaseObject> listObjects) { warPlane.FlightAltitude = int.Parse(serializedWarPlane.Substring(0, serializedWarPlane.IndexOf(" "))); serializedWarPlane = serializedWarPlane.Remove(0, serializedWarPlane.IndexOf(" ") + 1); warPlane.Identificator = serializedWarPlane.Substring(0, serializedWarPlane.IndexOf(" ")); serializedWarPlane = serializedWarPlane.Remove(0, serializedWarPlane.IndexOf(" ") + 1); warPlane.Model = serializedWarPlane.Substring(0, serializedWarPlane.IndexOf(" ")); serializedWarPlane = serializedWarPlane.Remove(0, serializedWarPlane.IndexOf(" ") + 1); warPlane.ReleaseYear = int.Parse(serializedWarPlane.Substring(0, serializedWarPlane.IndexOf(" "))); serializedWarPlane = serializedWarPlane.Remove(0, serializedWarPlane.IndexOf(" ") + 1); warPlane.Speed = int.Parse(serializedWarPlane.Substring(0, serializedWarPlane.IndexOf(" "))); serializedWarPlane = serializedWarPlane.Remove(0, serializedWarPlane.IndexOf(" ") + 1); warPlane.engine = new Engine(); warPlane.engine.Fuel = (FuelType)Enum.Parse(typeof(FuelType), serializedWarPlane.Substring(0, serializedWarPlane.IndexOf(" "))); serializedWarPlane = serializedWarPlane.Remove(0, serializedWarPlane.IndexOf(" ") + 1); warPlane.engine.Power = int.Parse(serializedWarPlane.Substring(0, serializedWarPlane.IndexOf(" "))); serializedWarPlane = serializedWarPlane.Remove(0, serializedWarPlane.IndexOf(" ") + 1); if (serializedWarPlane.Substring(0, serializedWarPlane.IndexOf(" ")) == "null") { warPlane.flattop = null; } else { warPlane.flattop = (Flattop)listObjects[int.Parse(serializedWarPlane.Substring(0, serializedWarPlane.IndexOf(" ")))]; } serializedWarPlane = serializedWarPlane.Remove(0, serializedWarPlane.IndexOf(" ") + 1); if (serializedWarPlane.Substring(0, serializedWarPlane.IndexOf(" ")) == "null") { warPlane.Pilot = null; } else { warPlane.Pilot = (Pilot)listObjects[int.Parse(serializedWarPlane.Substring(0, serializedWarPlane.IndexOf(" ")))]; } serializedWarPlane = serializedWarPlane.Remove(0, serializedWarPlane.IndexOf(" ") + 1); }