using JetBrains.Annotations;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.CompilerServices;
using Unity.VisualScripting;
using UnityEngine;
using UnityEngine.UIElements;

public class CharacterScript : MonoBehaviour
{
    public Rigidbody2D CharacterRigidBody;
    public float CharacterJumpStrenght = 20;
    public float CharacterMoveSpeed = 10;
    public int MovementState = 0;
    public SpriteRenderer spriteRenderer;
    public int JumpsLeft=0;

    // Start is called before the first frame update
    void Start()
    {
        
    }

    // Update is called once per frame


    void Update()
    {


        //Inputs

     
  
        if(Input.GetKeyDown(KeyCode.Space) && JumpsLeft > 0)
        {
            CharacterRigidBody.velocity = Vector2.up * CharacterJumpStrenght;
            JumpsLeft = JumpsLeft - 1;
        }

        if (Input.GetKeyDown(KeyCode.A))
        {
            MovementState = -1;
            spriteRenderer.flipX = true;
        }

        if (Input.GetKeyDown(KeyCode.D))
        {
            MovementState = 1;
            spriteRenderer.flipX = false;
        }

        //Input Stops
        if ((Input.GetKeyUp(KeyCode.A) && MovementState== -1) || (Input.GetKeyUp(KeyCode.D) && MovementState == 1))
        {
            MovementState = 0;
        }


        //Input Responses
        if (MovementState == -1 || MovementState == 1)
        {
            transform.position = transform.position + (Vector3.right * CharacterMoveSpeed * Time.deltaTime * MovementState);
        }

    }

    //Jump Recharge
    private void OnCollisionEnter2D(Collision2D collision)
    {
        JumpsLeft = 2;
    }


}