/// <summary> /// Konstruktor. Erstellt ein Segel mit dem angegebenen Typ, indem die entsprechenden SLPs geladen werden. /// </summary> /// <param name="type">Der Typ des zu erstellenden Segels.</param> /// <param name="graphicsDrs">Die Graphics-DRS.</param> public Sail(SailType type, DRSLibrary.DRSFile graphicsDrs) : this() { // Passende Segel in Liste einfügen if (type == SailType.MainGo) { // Hauptsegel Fahren SailSlps.Add(ShipFile.Civ.AS, new SLPFile(new RAMBuffer(Properties.Resources.MainGo_AS))); SailSlps.Add(ShipFile.Civ.IN, new SLPFile(new RAMBuffer(Properties.Resources.MainGo_IN))); SailSlps.Add(ShipFile.Civ.ME, new SLPFile(new RAMBuffer(Properties.Resources.MainGo_ME))); SailSlps.Add(ShipFile.Civ.OR, new SLPFile(new RAMBuffer(Properties.Resources.MainGo_OR))); SailSlps.Add(ShipFile.Civ.WE, new SLPFile(new RAMBuffer(Properties.Resources.MainGo_WE))); } else if (type == SailType.MainStop) { // Hauptsegel Stehen SailSlps.Add(ShipFile.Civ.AS, new SLPFile(new RAMBuffer(Properties.Resources.MainStop_AS))); SailSlps.Add(ShipFile.Civ.IN, new SLPFile(new RAMBuffer(Properties.Resources.MainStop_IN))); SailSlps.Add(ShipFile.Civ.ME, new SLPFile(new RAMBuffer(Properties.Resources.MainStop_ME))); SailSlps.Add(ShipFile.Civ.OR, new SLPFile(new RAMBuffer(Properties.Resources.MainStop_OR))); SailSlps.Add(ShipFile.Civ.WE, new SLPFile(new RAMBuffer(Properties.Resources.MainStop_WE))); } else { foreach (var currSail in SAIL_RESOURCE_IDs) { if (currSail.Item1 == type) { SailSlps.Add(currSail.Item2, new SLPFile(new RAMBuffer(graphicsDrs.GetResourceData(currSail.Item3)))); } } } }
/// <summary> /// Konstruktor. Liest die Daten aus dem gegebenen Puffer. /// </summary> /// <param name="buffer">Der Puffer, aus dem die Segeldaten gelesen werden sollen.</param> public Sail(RAMBuffer buffer) : this() { // Benutzung lesen Used = (buffer.ReadByte() == 1); // SLPs lesen int count = buffer.ReadByte(); for (int i = 0; i < count; ++i) { // Lesen ShipFile.Civ currCiv = (ShipFile.Civ)buffer.ReadByte(); SLPFile currSlp = new SLPFile(buffer); SailSlps.Add(currCiv, currSlp); } }