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); } }
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; }