Exemple #1
0
        static Chunk()
        {
            levels = Library.GetFilenames("Levels/", "*")
                     .ToList();

            for (int i = 0; i < levels.Count; i++)
            {
                var level = levels[i];
                level     = level.Substring(level.LastIndexOf("/"));
                levels[i] = level;
            }

            levels.Remove("/bawks.oel");
            levels.Remove("/Real_3.oel");
            levels.Remove("/bigYucky.oel");

//			levels = new string[] { "Real_3.oel" };

            loader = new OgmoLoader();
            loader.RegisterGridType("Collision", "Collision", 16, 16);

            loader.RegisterClassAlias <Crumble>("crumble");
            loader.RegisterClassAlias <Razor>("deadlyAnchor");
            loader.RegisterClassAlias <SpawnPoint>("spawnPoint");
            loader.RegisterClassAlias <UpgradeSpawn>("Upgrade");
        }
Exemple #2
0
    public void LoadLevel()
    {
        var ogmo  = new OgmoLoader();
        var level = ogmo.Load(out Overlord.Player, out Overlord.LevelBoundsX, out Overlord.LevelBoundsY);

        Viewport root         = GetTree().GetRoot();
        var      CurrentScene = root.GetChild(root.GetChildCount() - 1);

        if (Overlord.Player != null)
        {
            CurrentScene.CallDeferred("add_child", Overlord.Player);
        }
        CurrentScene.CallDeferred("add_child", level);
    }
Exemple #3
0
    public void Awake( )
    {
        I = this;

        players = new P();

        cameraPos = mainCamera.transform.position;

        animations = new Sprite[][] {
            U.SliceSprite(sprites[7], 9),
            U.SliceSprite(sprites[8], 5),
            U.SliceSprite(sprites[11], 5),
            U.SliceSprite(sprites[12], 5),
            U.SliceSprite(sprites[13], 7),
            // 5 -------------------------------
            U.SliceSprite(sprites[14], 7),
            U.SliceSprite(sprites[18], 4),
            U.SliceSprite(sprites[19], 10),            // Golf Club
            U.SliceSprite(sprites[20], 13),            // LMG
            U.SliceSprite(sprites[21], 33),            // Grenade Launcher
            // 10 ------------------------------
            U.SliceSprite(sprites[24], 16),            // Laser Gun
            U.SliceSprite(sprites[25], 20),            // Shotgun
            U.SliceSprite(sprites[26], 3),             // RPG
            U.SliceSprite(sprites[28], 16),
        };

        InitTimer();
        InitSprites();
        InitEntities();
        InitSounds();

        OgmoLoader.Load();
        level = new Level();
        level.Generate();

        bulletTrails = new BulletTrails();
        particles    = new Particles();
        particles.RegisterSprite(animations[0]);
        particles.RegisterSprite(animations[4]);
        particles.RegisterSprite(animations[5]);
        particles.RegisterSprite(animations[13]);
        casings  = new BulletCasings();
        lighting = new Lighting();

        currentSpawn = 0;

        gameState = new GS_PreGame();
        StartCoroutine(gameState.Start());
    }
    // Declare member variables here. Examples:
    // private int a = 2;
    // private string b = "text";

    // Called when the node enters the scene tree for the first time.
    public override void _Ready()
    {
        var    ogmo = new OgmoLoader();
        Node2D player;
        var    level = ogmo.Load(out player, out Overlord.LevelBoundsX, out Overlord.LevelBoundsY);

        Viewport root = GetTree().GetRoot();

        Overlord.ViewportSize = root.Size;
        var CurrentScene = root.GetChild(root.GetChildCount() - 1);

        if (player != null)
        {
            CurrentScene.CallDeferred("add_child", player);
        }
        CurrentScene.CallDeferred("add_child", level);
        //CurrentScene.AddChild(yeah);
    }
Exemple #5
0
        public Map(string map_filename)
        {
            OgmoLoader ogmo = new OgmoLoader();

            ogmo.RegisterClassAlias <MapRoom>("Room");
            var mapRoomEntities = ogmo.BuildLevelAsArray(
                Library
                .Get <XmlDocument>(map_filename));

            this.mapRooms = new MapRoom[mapRoomEntities.Length];
            Array.Copy(mapRoomEntities, this.mapRooms, this.mapRooms.Length);

            this.Visible    = false;
            this.RenderStep = 100;

            this.Camera = new Camera();
            foreach (var r in mapRooms)
            {
                r.Camera = this.Camera;
            }
            this.Scale *= .7f;
        }
Exemple #6
0
        public GameWorld()
            : base()
        {
            World = this;
            Engine.Console.InvisibleUntilOpen = true;

            // Fade
            Fade fade = new Fade(new Color(0x000000), 0.15f);

            AddResponse(Door.DoorMessages.StartChangeRoom, (a) =>
            {
                player.Active = false;
                fade.FadeIn(() =>
                {
                    Door callingDoor = (Door)a[0];
                    ActuallyChangeRoom(callingDoor);
                    fade.FadeOut(() => player.Active = true);
                });
            });
            this.Add(fade);

            // Ogmo loading
            OgmoLoader ogmoSenpai = new OgmoLoader();

            // TODO: Move enemy init logic somewhere else
            ogmoSenpai.RegisterClassAlias <Enemy>("EnemyWalker");

            ogmoSenpai.DefineGrid("TileCollision", KQ.CollisionTypeSolid, 24, 24);
            ogmoSenpai.DefineGrid("px4TileCollision", KQ.CollisionTypeSolid, 6, 6);

            ogmoSenpai.DefineTilemap("Blocks", 24, 24, Library.Get <Texture>("content/ogmo/rooms/roomProjectTileset.png"));

            Map map = new Map("content/ogmo/layout/layout.oel");

            this.Add(map);

            foreach (MapRoom layoutRoom in map.mapRooms.OfType <MapRoom>())
            {
                XmlDocument roomXml = Library.Get <XmlDocument>("content/ogmo/rooms/" + layoutRoom.Filename + ".oel");
                //Load level properties

                Room realRoom = new Room
                                (
                    ogmoSenpai.BuildLevelAsArray(roomXml).ToList(),
                    ogmoSenpai.GetLevelProperties <RealRoomMeta>(roomXml),
                    layoutRoom,
                    this
                                );
                realRoom.RealRoomMeta.Init();
                rooms.Add(layoutRoom.Filename, realRoom);
            }

            (CurrentRoom = rooms["start"]).PopulateWorld();
            Add(player);

            HUD hud = new HUD(player);

            Add(hud);


            Entity follow = player;
            //for (int i = 0; i < 4; i++)
            //{
            //	Orb orb = new Orb(player.X, player.Y, (OrbType)i, follow);
            //	follow = orb;
            //	orbs.Add(Add(orb));
            //}
        }