Пример #1
0
 /// <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))));
             }
         }
     }
 }
Пример #2
0
        /// <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);
            }
        }