using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Move : MonoBehaviour
{
    [SerializeField] private float speed;
    [SerializeField] private float jumpPower;

    private Rigidbody2D rb2;
    private SpriteRenderer spRender;
    private bool isGravity;
    
    // Start is called before the first frame update
    void Start()
    {
        //コンポーネント取得
        rb2 = GetComponent<Rigidbody2D>();
        spRender = GetComponent<SpriteRenderer>();

        //変数初期化
        isGravity = false;
    }

    // Update is called once per frame
    void Update()
    {
        //色を変える(赤)
        if (Input.GetKeyDown(KeyCode.Alpha1))
        {
            spRender.color = Color.red;
        }
        
        //色を変える(白)
        if (Input.GetKeyDown(KeyCode.Alpha3))
        {
            spRender.color = Color.white;
        }
        
        //キー入力
        float dx = Input.GetAxisRaw("Horizontal");
        
        //ジャンプ
        if(Input.GetButtonDown("Jump"))
        {
            //重力の向きによって変える
            if (isGravity)
            {
                rb2.AddForce(Vector2.down * jumpPower);
            }
            else
            {
                rb2.AddForce(Vector2.up * jumpPower);
            }
        }

        //背が伸びる
        if (Input.GetKeyDown(KeyCode.Alpha0))
        {
            transform.localScale = new Vector3(1.0f, 2.0f, 1.0f);
        }
        
        //移動
        rb2.velocity = new Vector2(dx * speed, rb2.velocity.y);
        
        //色を変える(青)
        if (Input.GetKeyDown(KeyCode.Alpha2))
        {
            spRender.color = Color.blue;
        }
        
        //背が戻る
        if (Input.GetKeyDown(KeyCode.Alpha9))
        {
            transform.localScale = new Vector3(1.0f, 1.0f, 1.0f);
        }
        
        //重量反転
        if (Input.GetKeyDown(KeyCode.X))
        {
            if (isGravity)
            {
                Physics2D.gravity = new Vector2(0, -9.81f);
                isGravity = false;
            }
            else
            {
                Physics2D.gravity = new Vector2(0, 9.81f);
                isGravity = true;
            }
        }
    }
}
