コード例 #1
0
 public void AddDialogDisplay(DialogDisplay dd)
 {
     this.dialog_displayer = dd;
 }
コード例 #2
0
        public static Level CreateTempLevel()
        {
            if (USE_XML_LEVEL)
            {
                return(LevelCreator.ParseLevelFromFile("Content\\Levels\\something.xml"));
            }

            else
            {
                groundTexture = Reflexio.GameEngine.Instance.Content.Load <Texture2D>("Images\\block");
                playerTexture = Reflexio.GameEngine.Instance.Content.Load <Texture2D>("Images\\koala");
                Level level = new Level(WIDTH, HEIGHT, new Vector2(0, 9.8f));


                foreach (int[] platform_discrete in platforms_disc)
                {
                    level.AddMultipleWalls(platform_discrete[0], platform_discrete[1], platform_discrete[2], platform_discrete[3], platform_discrete[2] - platform_discrete[0] != 19 && platform_discrete[3] - platform_discrete[1] != 19);
                }
                level.AddMultipleWalls(7, 2, 7, 2, true);
                level.AddMultipleWalls(8, 3, 8, 3, true);

                level.AddMultipleWalls(1, 15, 2, 15, false);
                level.AddMultipleWalls(2, 14, 2, 14, false);
                level.AddMultipleWalls(1, 13, 1, 13, false);
                level.AddMultipleWalls(1, 5, 2, 5, false);

                //level.AddQueuedObject(new Wall(level, groundTexture, 1, 1, 1.0f, 1.0f, 0.0f, true));

                Door d = new Door(level, GameEngine.Instance.GetTexture("openDoorTexture"), GameEngine.Instance.GetTexture("closeDoorTexture"), 18, 14, 0, 0.0f, 0.0f, true);
                level.AddDoor(d);
                level.AddKey(new Key(level, GameEngine.Instance.GetTexture("keyTexture"), 8, 2, 0, 0.0f, 0.0f, false));


                Texture2D[] spikesTextures = new Texture2D[4]
                {
                    GameEngine.Instance.GetTexture("spikesUpTexture"),
                    GameEngine.Instance.GetTexture("spikesRightTexture"),
                    GameEngine.Instance.GetTexture("spikesDownTexture"),
                    GameEngine.Instance.GetTexture("spikesLeftTexture")
                };

                for (int i = 1; i <= 18; i++)
                {
                    Spike s = new Spike(level, spikesTextures, 12, i, 0, 0.0f, 0.0f, true, Spike.Direction.Left);
                    level.AddQueuedObject(s);
                }
                for (int i = 13; i <= 18; i++)
                {
                    Spike s = new Spike(level, spikesTextures, i, 5, 0, 0.0f, 0.0f, true, Spike.Direction.Up);
                    level.AddQueuedObject(s);
                }

                Block b = new Block(level, GameEngine.Instance.GetTexture("buddyBlock"), 2, 16, 1.5f, 1.0f, 0.0f, true);
                level.AddQueuedObject(b);
                //level.AddMultipleWalls(3, 17, 3, 17, true);
                //Spike sx = new Spike(level, spikesTextures, 17, 18, 0, 0.0f, 0.0f, true, Spike.Direction.Up);
                //level.AddQueuedObject(sx);



                DialogDisplay dd = new DialogDisplay();
                dd.AddDialog("Welcome to Reflexio", 100);
                dd.AddDialog("Use WASDX to change the lines of reflection", 100);
                dd.AddDialog("Use SPACE to reflect", 100);
                dd.AddDialog("Get the key to open the door", 100);
                dd.AddDialog("All the best!", 100);
                dd.Initialize();
                level.AddDialogDisplay(dd);

                level.AddPlayerTemp(1, 18);

                level.SetReflectionOrientation("H");
                level.AddHRLine(10);
                level.AddVRLine(10);
                level.AddDLine(1);
                level.AddDLine(-1);
                level.SetCanReflectVertical(true);
                level.SetCanReflectDiagonal(true);
                level.SetReflectionLinePosition(10);

                return(level);
            }
        }