コード例 #1
0
    /// <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();
    }
コード例 #2
0
    /// <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...");
        }
    }
コード例 #3
0
    /// <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;
    }