Пример #1
0
    public void CompleteEncounter()
    {
        if (Session.session.player != null)
        {
            playerData = Session.session.player.GetData();
            if (playerData != null && playerData.stats != null)
            {
                int health = playerData.stats.GetBaseStat(StatsManager.Stats.Health);
                stats.SetBaseStat(StatsManager.Stats.Health, health);
                playerData.stats = stats;
            }
        }

        Session.ClearGame();
        int        id        = stats.GetStat(StatsManager.Stats.CurrentNode);
        CareerNode node      = CareerNode.GetNode(id, careerNodes);
        int        nodeLevel = CareerNode.GetLevel(node, careerNodes);
        int        nextLevel = nodeLevel - 1;

        stats.SetBaseStat(StatsManager.Stats.CurrentLevel, nextLevel);
        stats.SetBaseStat(StatsManager.Stats.LastNode, id);
        stats.SetBaseStat(StatsManager.Stats.CurrentNode, 0);
        stats.SetBaseStat(StatsManager.Stats.NodeInProgress, 0);

        CareerDb.SaveCareer(this);


        Session.session.player = null;
        if (nextLevel == -1)
        {
            CompleteGame();
        }
        else
        {
            Session.ChangeMenu(Menu.Menus.Career);
        }
    }
Пример #2
0
    void ExecuteNode(int id)
    {
        GD.Print("Executing node " + id + ".");
        Session.session.career.ExecuteNode(id);
        return;

        Career     career    = Session.session.career;
        CareerNode node      = CareerNode.GetNode(id, career.careerNodes);
        int        nodeLevel = CareerNode.GetLevel(node, career.careerNodes);
        int        nextLevel = nodeLevel - 1;



        if (nodeLevel == 0)
        {
            GD.Print("Final boss time!");
            return;
        }
        else
        {
            GD.Print("Changing current level to " + nextLevel);
        }
        ScaleControls();
    }