PlayerStats v2

Animate PlayerStats: Visible, Hidden

To create an animated UI Prefab: PlayerStats, where pressing the tab key causes the panel to slide-off screen is straight-forward. The script below shows modifications needed for the PlayerStats.cs script to listen for keypress of tab-key. Note that this version also uses GameData: onPlayerDataUpdate event

Note: The ModifyPlayerData.cs script can also be added to PlayerStats to create an easy way to modify GameData by configuring Buttons in the Inspector.

See the video for Configuring Animation of the InventorySystem to see how to animate a simple UI-Panel's visibilty

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI; //Directive add for working with UI elements

public class PlayerStats : MonoBehaviour
{

    [SerializeField]
    Text healthText, scoreText;

    bool isVisible = false; //start hidden
    Animator animator;  // animator component required

    // Start is called before the first frame update
    private void Start()
    {
        UpdateDisplay();
        animator = GetComponent<Animator>();
     }

    // Update is called once per frame to listen for kep-press
    private void Update()
    {
         UpdateDisplay();
        //check for tab-key must be checked in Update
        if(Input.GetKeyDown(KeyCode.Tab))
        {
            isVisible = !isVisible;
            animator.SetBool("isVisible", isVisible);
            Debug.Log("Tab Pressed");
        }
    }

    public void UpdateDisplay()
    {
        scoreText.text = "Score: " + GameData.instanceRef.Score;
        healthText.text = "Health: " + GameData.instanceRef.Health;
    
    }

    
} //end class PlayerStats

Last updated