Beispiel #1
0
 private void UpdateUI()
 {
     try {
         uiText.text = levelHandler.GetLevel(skill).ToString();
     } catch (NullReferenceException) {
     }
 }
    /*Creator: Yan Zhang, Myles Hagen
     * increase base value of stats by base value of next level
     */
    public void LevelUp()
    {
        //if level reach to maximun return
        if (level == 11)
        {
            return;
        }
        // call the level up effect when level up
        GameObject effect = Instantiate(levelUpEffect, Player.instance.transform);

        Destroy(effect, 4.0f);
        //Debug.Log ("player level up to" + (level +1));
        levelUp = true;
        Level nextLevel = LevelHandler.GetLevel(level + 1);

        //Debug.Log ("next level damage" + nextLevel.damage.baseValue);
        //nextLevel.damage.modifiers = damage.modifiers;
        damage.baseValue += nextLevel.damage.baseValue;
        //nextLevel.armor.modifiers = armor.modifiers;
        armor.baseValue += nextLevel.armor.baseValue;

        //nextLevel.Rage.modifiers = Rage.modifiers;
        //Rage = nextLevel.Rage;
        maxRage    += nextLevel.Rage.baseValue;
        currentRage = maxRage;
        //nextLevel.AttackSpeed.modifiers = AttackSpeed.modifiers;
        AttackSpeed.baseValue += nextLevel.AttackSpeed.baseValue;

        //nextLevel.Cooldown.modifiers = Cooldown.modifiers;
        Cooldown.baseValue += nextLevel.Cooldown.baseValue;


        nextLevel.MagicResist.modifiers = MagicResist.modifiers;
        MagicResist = nextLevel.MagicResist;

        //nextLevel.Health.modifiers = Health.modifiers;
        //Health = nextLevel.Health;
        //maxHealth = nextLevel.health;
        maxHealth        += nextLevel.Health.baseValue;
        currentHealth     = maxHealth;
        targetExperience  = nextLevel.targetExp;
        currentExperience = 0;
        level++;
    }
    private void UpdateStatsDisplay()
    {
        int playerSkillPoints      = m_levelHandler.GetSkillPoints();
        int playerCorruptedEssence = m_levelHandler.GetCorruptedEssence();

        m_levelDisplay.text = "Level: " + m_levelHandler.GetLevel().ToString();
        m_expBar.fillAmount = m_levelHandler.expRatio;

        if (playerSkillPoints == 0)
        {
            m_expPointsDisplay.text = null;
        }
        else
        {
            m_expPointsDisplay.text = playerSkillPoints.ToString() + " Skill Point" +
                                      (playerSkillPoints != 1 ? "s Available!" : " Available");
        }

        m_corruptedEssenceCountDisplay.text = playerCorruptedEssence.ToString() + " Corrupted Essence";

        m_expRequiredDisplay.text = m_player.m_levelHandler.m_currentExperience.ToString() + "/" + m_player.m_levelHandler.m_experienceForNextLevel.ToString();
    }
Beispiel #4
0
        protected override void Update(GameTime gameTime)
        {
            if (Keyboard.GetState().IsKeyDown(Keys.J))
            {
                levelHandler.Load("test1"); gameEntities[0].Pos = new Point(16 * TILE_WIDTH, 32 * TILE_WIDTH); camera = new Camera(-20f, -25f, 1f);
            }
            if (Keyboard.GetState().IsKeyDown(Keys.K))
            {
                levelHandler.Load("test2"); gameEntities[0].Pos = new Point(24 * TILE_WIDTH, 31 * TILE_WIDTH); camera = new Camera(-29f, -24f, 1f);
            }
            if (Keyboard.GetState().IsKeyDown(Keys.L))
            {
                levelHandler.Load("test3"); gameEntities[0].Pos = levelHandler.PlayerSpawn; camera = new Camera(levelHandler.CameraOrigin.X, levelHandler.CameraOrigin.Y, 1f);
            }


            Level         level    = levelHandler.GetLevel();
            List <Entity> entities = new List <Entity>();

            entities.AddRange(gameEntities);
            if (level.LevelEntities.Count > 0)
            {
                entities.AddRange(level.LevelEntities);
            }

            if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed || Keyboard.GetState().IsKeyDown(Keys.Escape))
            {
                Exit();
            }

            camera.Update();

            // Update logic here
            //i have created a monstrosity

            foreach (Entity entity in entities)
            {
                if (entity.Collide)
                {
                    entity.Collision.OldPos = entity.Pos;
                }
                entity.Update();
                entity.Move();
                if (entity.Collide)
                {
                    entity.Collision.Pos   = entity.Pos;
                    entity.Collision.Speed = entity.Speed;
                    entity.Collision.PrepareUpdate();
                }
            }
            foreach (Entity entity in entities)
            {
                if (entity.Collide)
                {
                    entity.Collision.CollisionUpdate(level.CollisionMap, entities);
                    entity.Pos   = entity.Collision.Pos;
                    entity.Speed = entity.Collision.Speed;
                    foreach (Entity collidedEntity in entity.Collision.CollidedEntities)
                    {
                        entity.CollideWith(collidedEntity);
                    }
                }
            }
            for (int i = 0; i < gameEntities.Count; i++)
            {
                if (gameEntities[i].Delete)
                {
                    gameEntities.RemoveAt(i);
                }
            }
            for (int i = 0; i < levelHandler.GetLevel().LevelEntities.Count; i++)
            {
                if (levelHandler.GetLevel().LevelEntities[i].Delete)
                {
                    levelHandler.GetLevel().LevelEntities.RemoveAt(i);
                }
            }

            Console.WriteLine($"Player Pos: {entities[0].Pos.X}, {entities[0].Pos.Y}");
            Console.WriteLine($"Camera Pos: {camera.Pos.X/TILE_WIDTH}, {camera.Pos.Y/TILE_WIDTH}, Scale: {camera.Scalar}");

            base.Update(gameTime);
        }