Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- public class LevelSystem
- {
- GameObject player;
- PlayerTamer playerTamer;
- const int MAX_LEVEL = 100;
- public LevelSystem(GameObject thePlayer)
- {
- player = thePlayer;
- playerTamer = player.GetComponentInChildren<PlayerTamer>();
- }
- public void SetStartingExperience()
- {
- playerTamer.lvl = 1;
- playerTamer.expn = GetExperienceNeeded(playerTamer.lvl);
- return;
- }
- public void AddExperience(int amount)
- {
- playerTamer.exp += amount;
- playerTamer.totalExp += amount;
- ExperienceCheck();
- }
- private void ExperienceCheck()
- {
- if(playerTamer.exp >= playerTamer.expn)
- {
- LevelUp();
- }
- else
- {
- return;
- }
- }
- private void LevelUp()
- {
- if (playerTamer.lvl == MAX_LEVEL)
- {
- return;
- }
- if (playerTamer.lvl != MAX_LEVEL && playerTamer.exp >= playerTamer.expn)
- {
- int ap = 3;
- playerTamer.lvl += 1;
- playerTamer.exp -= playerTamer.expn;
- playerTamer.expn = GetExperienceNeeded(playerTamer.lvl);
- playerTamer.attributePoints += ap;
- Debug.Log("Player gained a level! Player is now Level " + playerTamer.lvl);
- ExperienceCheck();
- }
- }
- private int GetExperienceNeeded(int level)
- {
- double baseXP = 500.0;
- double exponent = 2.0;
- level++;
- int newExp = (int)Math.Ceiling(baseXP * (Math.Pow((double)level, exponent)) - (baseXP * (double)level));
- return newExp;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement