public Levermanager(SpriteFont font, Player player, Cursor cursor, Mathe mathe, Animationsmanager animationsmanager, Contents contents) { this.Font = font; this.Player = player; this.Cursor = cursor; this.Mathe = mathe; this.Animationsmanager = animationsmanager; this.Contents = contents; }
public Objectmanager(Objectdatabase objektdatenbank, Animationsmanager animationsmanager, Player player, DebugFlag flag) { this.debugFlag = flag; this.stringBuilder = new StringBuilder(); this.Objektdatenbank = objektdatenbank; this.Animationsmanager = animationsmanager; this.Player = player; Player.Objectmanager = this; }
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; }
public Levelmanager(Player player, Objectmanager objectmanager, Animationsmanager animationsmanager, Backgroundmanager backgroundmanager, Enemymanager enemymanager, Itemmanager itemmanager, Levermanager levermanager, Eventmanager eventmanager, Contents contents) { this.Player = player; this.Objectmanager = objectmanager; this.Objectmanager.Levelmanager = this; this.Animationsmanager = animationsmanager; this.Backgroundmanager = backgroundmanager; this.Enemymanager = enemymanager; this.Levermanager = levermanager; this.Itemmanager = itemmanager; this.Eventmanager = eventmanager; this.Eventmanager.Levelmanager = this; this.Contents = contents; player.Levelmanager = this; if (System.IO.Directory.Exists(Quellpfad)) { string[] folders = System.IO.Directory.GetDirectories(Quellpfad); foreach (string name in folders) { Levels.Add(new Level(name.Substring(7))); } } LoadLevel("Stadt"); }
protected override void Initialize() { //primBatch = new PrimitiveBatch(GraphicsDevice); World = new World(new Vector2(0, 9.81f)); Mathe = new Mathe(); Settings = new Settings(graphics); Camera = new Camera(GraphicsDevice.Viewport, Settings.Widescreen); Contents = new Contents(Content, GraphicsDevice); Debug = new DebugView(Contents,Camera); Objectdatabase = new Objectdatabase(Content); Backgrounddatabase = new Backgrounddatabase(Content); Enemydatabase = new Enemydatabase(Content); Animationsmanager = new Animationsmanager(); Keymanager = new Keymanager(Contents, DebugFlag.Inputstats); Player = new Player(Mathe, Contents, World, DebugFlag.PlayerStats); Cursor = new Cursor(Camera, Keymanager, Contents, Settings); Windowmanager = new Windowmanager(Settings, Cursor, DebugFlag.WindowStats, Contents, GraphicsDevice); DepressionHandler = new DyingHope.DepressionHandler(); Itemmanager = new Itemmanager(Mathe, DepressionHandler, Content, Player); Backgroundmanager = new Backgroundmanager(Player, Backgrounddatabase, DebugFlag.BackgrundStats, Contents); Levermanager = new Levermanager(Contents.Meiryo8, Player, Cursor, Mathe, Animationsmanager, Contents); Objectmanager = new Objectmanager(Objectdatabase, Animationsmanager, Player, (DebugFlag.ObjectInformation | DebugFlag.CollisonShape | DebugFlag.ObjectmanagerStats)); Enemymanager = new Enemymanager(Objectmanager, Mathe, Content, Enemydatabase, Player); Windowmanager.Windowdatabase = new Windowdatabase(Contents, Player, Inputmanager); Windowmanager.AddWindow(Windowtype.MainMenue); Eventmanager = new Eventmanager(Mathe, Player, Enemymanager, DepressionHandler, Objectmanager, Objectdatabase, Levermanager); Levelmanager = new Levelmanager(Player, Objectmanager, Animationsmanager, Backgroundmanager, Enemymanager, Itemmanager, Levermanager, Eventmanager, Contents); Editor = new Editor(Windowmanager, Enemymanager, Backgroundmanager, Backgrounddatabase, Objectmanager, Objectdatabase, Eventmanager, Contents, Cursor, Player, Keymanager, Levelmanager, Itemmanager, Levermanager); Debugview = new DebugViewXNA(World); Console.WriteLine(((DebugFlag.ObjectInformation | DebugFlag.CollisonShape | DebugFlag.ObjectmanagerStats)& DebugFlag.ObjectmanagerStats)); light = new SoundObjekt(Settings, Contents.Emitter, Contents.Light, new Vector2(3500 - 576, 700), new Vector2(100, 0), 200); rain = new SoundObjekt(Settings, Contents.Emitter, Contents.Rain, new Vector2(6000 - 576, 0), new Vector2(1000, 0), 400); levelTheme = new List<MSong> { new MSong(Contents.StadtAnfang, 0), new MSong(Contents.StadtLoop, -1), new MSong(Contents.StadtEnde, 0), new MSong(Contents.ParkAnfang, 0), new MSong(Contents.ParkLoop, -1), new MSong(Contents.ParkEnde, 0), new MSong(Contents.SchuleAnfang, 0), new MSong(Contents.SchuleLoop, -1), new MSong(Contents.StadtEnde, 0), new MSong(Contents.MonsterAnfang, 0), new MSong(Contents.MonsterLoop, -1), new MSong(Contents.Ende, 0) }; menueTheme = new List<MSong> { new MSong(Contents.Menue_Theme, 99) }; BackgroundMusic = new BackgroundMusic(Settings, menueTheme); Inputmanager = new Inputmanager(Contents, Camera, Player, Keymanager, Cursor, Enemymanager, Windowmanager, Backgroundmanager, Backgrounddatabase, Objectmanager, Objectdatabase, Eventmanager, Levelmanager, Levermanager, Content, Editor, Debug, DepressionHandler, Mathe, Itemmanager, BackgroundMusic); //Testemitter------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- //testEmitter = new Emitter(new Vector2(3000, 850), DebugFlag.Pertikle); //testEmitter.startParticel = 50; //testEmitter.EmitterAngel = new List<Vector2> { new Vector2(180, 180) }; //testEmitter.EmitterRange = new Vector2(1000, 50); //testEmitter.EmitterMaxParticel = 100; //testEmitter.EmitterUpdate = 100f; //testEmitter.EmitterTexture = Contents.Emitter; //testEmitter.ParticelStayOnMax = new Vector2(0, 0); //testEmitter.ParticelLifeDrain = new Vector2(1, 1); //testEmitter.ParticelLifeTime = new Vector2(5000f, 50000f); //testEmitter.ParticelSize = new Vector2(0.1f, 0.5f); //testEmitter.ParticelTexture = new List<Texture2D> { Contents.Nebel, Contents.Nebel2 }; //testEmitter.Origin = new Vector2(Contents.Emitter.Width / 2, Contents.Emitter.Height / 2); //testEmitter.PerticelPower = new Vector2(0.50f, 0.8f); //testEmitter.particelNeverDie = false; //testEmitter.spawnprofile = Spawnprofile.FadeIn; //testEmitter.bewegungsprofil = Bewegungsprofile.Linear; //testEmitter.Start(); //rainEmitter = new Emitter(new Vector2(6000, -10), DebugFlag.Pertikle); //rainEmitter.startParticel = 0; //rainEmitter.particelPerUpdate = new Vector2(1, 100); //rainEmitter.EmitterAngel = new List<Vector2> { new Vector2(270, 270) }; //rainEmitter.EmitterRange = new Vector2(1000, 0); //rainEmitter.EmitterMaxParticel = 60000; //rainEmitter.EmitterUpdate = 10f; //rainEmitter.EmitterTexture = Contents.Emitter; //rainEmitter.ParticelStayOnMax = new Vector2(0, 0); //rainEmitter.ParticelLifeDrain = new Vector2(1, 1); //rainEmitter.ParticelLifeTime = new Vector2(500f, 2000f); //rainEmitter.ParticelSize = new Vector2(0.5f, 1.5f); //rainEmitter.ParticelTexture = new List<Texture2D> { Contents.Rain1 }; //rainEmitter.Origin = new Vector2(Contents.Emitter.Width / 2, Contents.Emitter.Height / 2); //rainEmitter.PerticelPower = new Vector2(10.50f, 20.8f); //rainEmitter.particelNeverDie = false; //rainEmitter.spawnprofile = Spawnprofile.Instant; //rainEmitter.bewegungsprofil = Bewegungsprofile.Linear; //rainEmitter.Start(); menue = new Emitter(new Vector2(GraphicsDevice.Viewport.Width / 2, (GraphicsDevice.Viewport.Height / 2)+20), DebugFlag.Pertikle); menue.startParticel = 0; menue.particelPerUpdate = new Vector2(1, 5); menue.EmitterAngel = new List<Vector2> { new Vector2(0, 360) }; menue.EmitterRange = new Vector2(250, 50); menue.EmitterMaxParticel = 6000; menue.EmitterUpdate = 100f; menue.EmitterTexture = Contents.Emitter; menue.ParticelStayOnMax = new Vector2(0, 100); menue.ParticelLifeDrain = new Vector2(1, 1); menue.ParticelLifeTime = new Vector2(1000f, 3000f); menue.ParticelSize = new Vector2(0.065f, 0.09f); menue.ParticelTexture = new List<Texture2D> { Contents.Partikel1, Contents.Partikel2, Contents.Partikel3 }; menue.Origin = new Vector2(Contents.Emitter.Width / 2, Contents.Emitter.Height / 2); menue.PerticelPower = new Vector2(0.2f, 0.9f); menue.particelNeverDie = false; menue.spawnprofile = Spawnprofile.FadeIn; menue.bewegungsprofil = Bewegungsprofile.LinearRandom; menue.Start(); //Debug------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Debug.Add(Player); Debug.Add(Objectmanager); Debug.Add(Keymanager); Debug.Add(Backgroundmanager); Debug.Add(Windowmanager); Debug.Add(DepressionHandler); //Debug.Add(testEmitter); //Debug.AppendFlag(DebugFlag.PlayerStats, false); //Debug.AppendFlag(DebugFlag.ObjectmanagerStats,false); //Debug.AppendFlag(DebugFlag.ObjectInformation, true); //Debug.AppendFlag(DebugFlag.CollisonShape, true); Debugview.DebugPanelPosition = new Vector2(500, 100); Debugview.AppendFlags(DebugViewFlags.DebugPanel); Debugview.LoadContent(GraphicsDevice, Content); base.Initialize(); }