/// <summary> /// Responsible for creating a new player. /// </summary> public void NewPlayer() { if (playerWindow == null) { playerWindow = PlayerWindow.instance; } // LEVEL SYSTEM levelSystem = new LevelSystem(1, 0); levelSystemAnimation = new LevelSystemAnimation(levelSystem); playerWindow.SetLevelSystemAnimation(levelSystemAnimation); SetLevelSystemAnimation(levelSystemAnimation); // HEALTH SYSTEM healthSystem = new HealthSystem(levelSystem.GetLevelNumber(), 0); healthSystemAnimation = new HealthSystemAnimation(healthSystem); playerWindow.SetHealthSystemAnimation(healthSystemAnimation); SetHealthSystemAnimation(healthSystemAnimation); // UPDATE UI UpdateUI(); }
/// <summary> /// Loads the player data from the save file. /// </summary> /// <param name="data"></param> public void LoadPlayer(PlayerData data) { if (data != null) { // INFO characterName = data.name; // LEVEL int level = data.level; int experience = data.experience; levelSystem = new LevelSystem(level, experience); levelSystemAnimation = new LevelSystemAnimation(levelSystem); SetLevelSystemAnimation(levelSystemAnimation); playerWindow.SetLevelSystemAnimation(levelSystemAnimation); // HEALTH int currentHealth = data.currentHealth; healthSystem = new HealthSystem(level, currentHealth); healthSystemAnimation = new HealthSystemAnimation(healthSystem); SetHealthSystemAnimation(healthSystemAnimation); playerWindow.SetHealthSystemAnimation(healthSystemAnimation); // ABILITIES strength = data.strength; stamina = data.stamina; intelligence = data.intelligence; dexterity = data.dexterity; charisma = data.charisma; luck = data.luck; attack = data.attack; defence = data.defence; // POSITION float x = data.position[0]; float y = data.position[1]; playerTransform.position = new Vector2(x, y); CameraReset.instance.ResetCamera(); } else { Debug.LogError("Save file not found..."); } }
/// <summary> /// Responsible for setting a reference to a level system animator. /// </summary> /// <param name="levelSystemAnimation">the level system animator to animate the experience bar</param> public void SetLevelSystemAnimation(LevelSystemAnimation levelSystemAnimation) { // set the level system animation object this.levelSystemAnimation = levelSystemAnimation; // update the starting values UpdateExperience(); // subscribe to the changed events levelSystemAnimation.OnExperienceChanged += LevelSystemAnimation_OnExperienceChanged; levelSystemAnimation.OnLevelChanged += LevelSystemAnimation_OnLevelChanged; }