Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using UnityEngine;
- using UnityEditor;
- using ExperienceLevelAPI;
- using System.Collections.Generic;
- //
- //
- //***********************************EXAMPLE CLASS ************************* */
- //
- public class CharacterLevelControllerTest : MonoBehaviour {
- Character character;
- private long xp;
- private long level;
- [Header("Add your constant value formula (0.4 recommended for the current formula)")]
- [Tooltip("Current value to operate between your function(0.4 recommended for the current formula)")]
- public float constantBase = 0.4f;
- [Header("XP value to Sum (Press: RightArrow)")]
- public int lvlSumValue = 1;
- [Header("XP value to Sub (Press: LeftArrow)")]
- public int lvlSubValue = 1;
- [Header("XP value to Sum (Press: UpArrow)")]
- public long xpAddValue = 10;
- [Header("XP value to Subtract (Press: DownArrow)")]
- public long xpSubValue = 10;
- [Header("Arbitrary level value to get your delta difference")]
- public long levelDesiredToDeltaCal ;
- [Header("Arbitrary level value for operations")]
- public long lvlValue;
- [Header("Arbitrary XP desired for operations")]
- public long xpValue;
- void Awake(){
- character = new Character();
- xp = character.Experience_Current;
- level = character.Level_Current;
- }
- void Start () {
- character.OnLevelUpdate += () => {
- //INSERT YOUR LVL UPDATE FORMULA HERE USE HOW MANY CONSTANTS YOU WANT AND USE THE character.Experience_Current METHOD TO WORK IN THE API CLASS
- character.Level_Current = Mathf.FloorToInt(constantBase * Mathf.Sqrt(character.Experience_Current));
- UpdateUnityDebuger();
- };
- character.OnExperienceUpate += () => {
- //INSERT YOUR XP UPDATE FORMULA HERE USE HOW MANY CONSTANTS YOU WANT AND USE THE character.Level_Current METHOD TO WORK IN THE API CLASS
- character.Experience_Current = Mathf.FloorToInt((character.Level_Current*character.Level_Current) / (constantBase*constantBase));
- UpdateUnityDebuger();
- };
- character.OnCalculateArbitraryLevel += () => {
- //REPEAT THE SAME FORMULA TO LVL UPDATE AND USE THE character.Experience_Arbitrary TO WORK ON ARBITRARY OPERATIONS LVL CALC
- character.Level_Arbitrary = Mathf.FloorToInt(constantBase * Mathf.Sqrt(character.Experience_Arbitrary));
- };
- character.OnCalculateArbitraryExperience += () => {
- //REPEAT THE SAME FORMULA TO XP UPDATE AND USE THE character.Level_Arbitrary* TO WORK ON ARBITRARY OPERATIONS LVL CALC
- character.Experience_Arbitrary = Mathf.FloorToInt((character.Level_Arbitrary*character.Level_Arbitrary) / (constantBase*constantBase));
- };
- }
- void Update () {
- if(Input.GetKeyDown(KeyCode.UpArrow)){
- character.Experience_Add(xpAddValue);
- print("Gained experience, Current level is: " + level + "and my xp is: " + xp);
- }
- if(Input.GetKeyDown(KeyCode.DownArrow)){
- character.Experience_Reduce(lvlSubValue);
- print("Gained experience, Current level is: " + level + "and my xp is: " + xp);
- }
- if(Input.GetKeyDown(KeyCode.RightArrow)){
- character.Level_Add(lvlSumValue);
- print("Gained experience, Current level is: " + level + "and my xp is: " + xp);
- }
- if(Input.GetKeyDown(KeyCode.LeftArrow)){
- character.Level_Sub(lvlSubValue);
- print("Gained experience, Current level is: " + level + "and my xp is: " + xp);
- }
- if(Input.GetKeyDown(KeyCode.R)){
- character.ResetXPToLastLvlUp();
- print("Gained experience, Current level is: " + level + "and my xp is: " + xp);
- }
- if(Input.GetKeyDown(KeyCode.Delete)){
- character.Reset();
- Debug.LogWarning("FULL LEVEL RESET!");
- print("RESETED, Current level is:" + level + "and my xp is: " + xp);
- }
- if(Input.GetKeyDown(KeyCode.E)){
- print("From your level, to reach level " + lvlValue + "You need" + character.ExperienceNeededToAnArbitraryLevelValueFromYourLvl(lvlValue));
- }
- if(Input.GetKeyDown(KeyCode.L)){
- print("Experience needed Reamining to level "+ lvlValue +" is: " + character.LevelNeededToAnArbitraryExperienceValue(xpValue));
- }
- if(Input.GetKeyDown(KeyCode.N)){
- print("Next lvl: "+ character.NextLevelCalculateEvent());
- }
- if(Input.GetKeyDown(KeyCode.P)){
- print("Percentage remaining for the next level is: " + character.PercentualProgress() + "%");
- }
- if(Input.GetKeyDown(KeyCode.D)){
- // PercentualExperienceProgress();
- print("The difference delta between your current XP to level's: " + levelDesiredToDeltaCal + " required XP is from: " + character.ReturnDelta_BetweenXPAndArbitraryLevel(levelDesiredToDeltaCal));
- }
- }
- void UpdateUnityDebuger(){
- xp = character.Experience_Current;
- level = character.Level_Current;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement