// Update is called once per frame
        protected override void Update()
        {
            //Debug.Log("hp : " + hp + " enabled : " + actionEnabled);
            base.Update();

            if (!actionEnabled)
            {
                return;
            }

            laserTimer.TimeUpdate(Time.deltaTime);

            if (!laserTimer.IsTimeout())
            {
                return;
            }

            if (ActionInput.GetButton(ButtonCode.Jump))
            {
                if (!chargeEffect.activeSelf)
                {
                    chargeEffect.SetActive(true);
                }
                charge = Mathf.Min(charge + chargeSpeed * Time.deltaTime, chargeMax);
                if (charge >= chargeLaserBorder && !chargeMaxEffect.activeSelf)
                {
                    chargeMaxEffect.SetActive(true);
                }
            }
            else if (ActionInput.GetButtonUp(ButtonCode.Jump))
            {
                if (charge >= chargeLaserBorder)
                {
                    CreateChargeLaser();
                    chargeMaxEffect.SetActive(false);
                }
                else
                {
                    CreateNormalLaser();
                }
                charge = 0f;
                chargeEffect.SetActive(false);
                laserTimer.TimeReset();
            }

            if (isDead)
            {
                GameOver();
            }
        }