コード例 #1
0
ファイル: Object.cs プロジェクト: 2Light/Insomnia
 public Object(Objectdatabase objektdatenbank, Animationsmanager animationsmanager, ObjectClass typ, int variante , Vector2 position, float skalierung, int layer, Objektebene objektebene, bool statisch)
 {
     this.Statisch = statisch;
     this.MaxSpeed = new Vector2(6, 12);
     this.Typ = typ;
     this.PositionCurrent = position;
     this.Skalierung = skalierung;
     this.Layer = layer;
     this.Variante = variante;
     this.Objektvariante = objektdatenbank.Auslesen(Typ, Variante);
     if (this.Objektvariante == null) return;
     this.Objektebene = objektebene;
     this.BearbeitungsID = (int)PositionCurrent.Y + (int)Objektvariante.Bearbeitungsverschiebung.Y + (Layer * 1000);
     if (Objektvariante.Animiert == true)
     {
         Animation = new Animation(Objektvariante.Textur, Objektvariante.Wiederholen, Objektvariante.Spalten, Objektvariante.Texturausschnitt, skalierung, Objektvariante.Geschwindigkeit);
         animationsmanager.AddAnimation(Animation);
     }
 }
コード例 #2
0
ファイル: Lever.cs プロジェクト: 2Light/Insomnia
 public void Update(Animationsmanager animationsmanager)
 {
     if (Animation.Abgeschlossen)
     {
         animationsmanager.RemoveAnimation(Animation);
         Betätigt = !Betätigt;
         if (!Einmalig)
         {
             Animation.Abgeschlossen = false;
             Animation.AktuelleSpalte = 0;
             if ((Betätigt) && (Rücksetzen)) //Wenn Schalter selbstständig rücksetzen soll
             {
                 animationsmanager.AddAnimation(Animation); //Animation zur Dauerbearbeitung übergeben
             }
         }
     }
     if (Betätigt)
     {
         BetätigtFlanke = true;
         if (Flankenmerker) BetätigtFlanke = false;
         Flankenmerker = true;
     }
     else Flankenmerker = false;
 }