Пример #1
0
 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;
 }
Пример #2
0
        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;
        }
Пример #3
0
 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);
     }
 }
Пример #4
0
 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;
 }
Пример #5
0
 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");
 }
Пример #6
0
        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();
        }