Exemplo n.º 1
0
    private void GetNodes()
    {
        // If in editor, skip.
        if (!GetTree().GetRoot().HasNode("Game"))
        {
            return;
        }

        GameNode        = GetTree().GetRoot().GetNode("Game") as Node2D;
        FirstSpellSlot  = GameNode.GetNode("UI/Screen/SelectedSpell") as Control;
        SecondSpellSlot = GameNode.GetNode("UI/Screen/SecondSpell") as Control;

        // TODO: Add path support.
        LoadLevel("res://editorLevel.tscn"); // Load level.

        CurrentLevel = GameNode.GetNode("CurrentLevel") as Level;
        Entities     = CurrentLevel.GetNode("Layers/Entities") as YSort;

        InGameMode = true;

        // Spawn Player.
        CurrentLevel.SpawnPlayer();
        Hand = Entities.GetNode("Player/Hand") as Hand;

        if (CurrentLevel is null)
        {
            GD.PrintErr("[GAME] Current Level not found");
        }
    }
Exemplo n.º 2
0
    public void DeferredGotoScene()
    {
        // It is now safe to remove the current scene
        CurrentScene.Free();

        // Instance the new scene.
        CurrentScene = whatToLoad.Instance();

        // Add it to the active scene, as child of root.
        GetTree().Root.AddChild(CurrentScene);

        // Optionally, to make it compatible with the SceneTree.change_scene() API.
        GetTree().CurrentScene = CurrentScene;

        foreach (object allChildren in GetTree().CurrentScene.GetChildren())
        {
            if (allChildren.GetType().ToString() == "Godot.YSort")
            {
                YSort ySort = allChildren as YSort;
                GameData.mapYSort = ySort;
            }
            if (allChildren.GetType().ToString() == "Godot.Position2D")                         //setting camrea limits upon entering scene
            {
                Position2D positions = allChildren as Position2D;
                if (positions.Name.Contains("CameraLimit"))                             //only for maps that need it, if
                {
                    Position2D cameraLimits = positions;
                    switch (cameraLimits.Name)
                    {
                    case "CameraLimitTop":
                        Player.playerCam.LimitTop = (int)cameraLimits.GlobalPosition.y;
                        break;

                    case "CameraLimitLeft":
                        Player.playerCam.LimitLeft = (int)cameraLimits.GlobalPosition.x;
                        break;

                    case "CameraLimitBottom":
                        Player.playerCam.LimitBottom = (int)cameraLimits.GlobalPosition.y;
                        break;

                    case "CameraLimitRight":
                        Player.playerCam.LimitRight = (int)cameraLimits.GlobalPosition.x;
                        break;
                    }
                }
            }
        }

        GameData.transitioning          = false;
        Player.player.Visible           = true;     //For cases where the player is invisible (The rest is resetting variables)
        Player.moveDuringTransition     = false;
        Player.transitionVelocityVector = Vector2.Zero;
        GameData.gameData.EmitSignal(nameof(GameData.SwitchedMaps), spawnPointNumber, spawnDirection);

        transitionPlayer.Play("InTransition");
    }
Exemplo n.º 3
0
Arquivo: Game.cs Projeto: itlbv/evo
    private void CreateTrees()
    {
        YSort ySort = GetNode <YSort>("YSort");

        for (int i = 0; i < 10; i++)
        {
            SpruceTree spruceTree = (SpruceTree)SpruceTreeScene.Instance();
            spruceTree.Name     = "SpruceTree" + i.ToString();
            spruceTree.Position = GetRandomPosition();
            ySort.AddChild(spruceTree);
        }
    }
Exemplo n.º 4
0
 public override void _Ready()
 {
     _chestGUI                    = GetNode <ChestGUI>("ChestGUI");
     _objectsYSort                = GetNode <YSort>("Objects");
     _player                      = _objectsYSort.GetNode <Player>("Player");
     _pauseMenu                   = GetNode <PauseMenu>("PauseMenu");
     _guildInterface              = GetNode <GuildInterface>("GuildInterface");
     _extendedTileMap             = GetNode <TileMap>("Extended");
     _firstChestPosition          = GetNode <Position2D>("FirstChestPosition").Position;
     _rightBorder                 = GetNode <CollisionShape2D>("Borders/Right");
     _player.birdsSystem.Visible  = false;
     _player.cloudsSystem.Visible = false;
     UpdateGuildFromLevel();
 }
Exemplo n.º 5
0
Arquivo: Game.cs Projeto: itlbv/evo
    public void CreateMobs()
    {
        YSort ySort = GetNode <YSort>("YSort");

        for (int i = 0; i < 20; i++)
        {
            Mob mob = (Mob)MobScene.Instance();
            mob.Name     = "Mob" + i.ToString();
            mob.Position = GetRandomPosition();
            ySort.AddChild(mob);
            GetNode("YSort/Mob" + i.ToString() + "/UI/SelectionArea").Connect("LeftClick", this, nameof(LeftClickOnMob));
            GetNode("YSort/Mob" + i.ToString() + "/UI/SelectionArea").Connect("RightClick", this, nameof(RightCLickOnMob));
            Mobs.Add(mob);
        }
    }
Exemplo n.º 6
0
        public override void _Ready()
        {
            _map             = GetNode <YSort>("Map");
            _enemySpawns     = GetNode <Node2D>("EnemySpawns");
            _combat          = GetNode <Combat>("Combat");
            _combatMenu      = _combat.GetNode <CombatMenu>("CombatMenu");
            _pauseMenu       = GetNode <PauseMenu>("PauseMenu");
            _player          = _map.GetNode <Player>("Player");
            _droppedItemsGUI = GetNode <DroppedItems>("DroppedItems");

            _player.birdsSystem.Visible  = true;
            _player.cloudsSystem.Visible = true;

            _player.Position = SaveManager.SaveData.WorldPosition;

            if (!AudioSystem.IsMusicPlaying)
            {
                AudioSystem.PlayMusic(AudioSystem.MusicCollection.Overworld);
            }

            SpawnEnemies();
        }
Exemplo n.º 7
0
    public void GetNodes()
    {
        if (!GetTree().GetRoot().HasNode("Editor"))
        {
            EditorMode = false;
            return;
        }

        // Making sure that this code doesn't get executed more than once.
        EditorMode = true;

        // Getting the viewport first because thats where we are going to palce the loaded level.
        // Also where the camera is located.
        Viewport = GetTree().GetRoot().GetNode("Editor/ViewportContainer/Viewport") as Viewport;
        Camera   = GetTree().GetRoot().GetNode("Editor/ViewportContainer/Viewport/Camera") as EditorCamera;

        LoadLevel("res://editorLevel.tscn"); // Loading the level scene.

        // Getting other refs.
        Entities     = GetTree().GetRoot().GetNode("Editor/ViewportContainer/Viewport/CurrentLevel/Layers/Entities") as YSort;
        CurrentLevel = GetTree().GetRoot().GetNode("Editor/ViewportContainer/Viewport/CurrentLevel") as Level;
    }
Exemplo n.º 8
0
 public override void _Ready()
 {
     _enemies = GetNode <YSort>("Enemies");
     AddDoors();
     AddEnemies();
 }
Exemplo n.º 9
0
 public override void _Ready()
 {
     Navigation2D         = GetNode <Navigation2D>("Navigation2D");
     _ySort               = GetNode <YSort>("YSort");
     _playerSpawnPosition = GetNode <Node2D>("PlayerSpawn").GlobalPosition;
 }