private void OnTriggerStay2D(Collider2D coll)
    {
        if (coll.CompareTag("Enemy"))
        {
            skeletonEnemy = coll.gameObject.GetComponent <SkeletonController>();
        }

        if (coll.CompareTag("SpearEnemy"))
        {
            spearSkeletonEnemy = coll.gameObject.GetComponent <SpearSkeletonController>();
        }

        if (!gameSession.isPlayerAlive)
        {
            return;
        }

        /// Skeleton enemies
        if (coll.CompareTag("Enemy") && gameSession.health >= 0 && skeletonEnemy.isEnemyAlive &&
            skeletonEnemy.enemyAnim.GetCurrentAnimatorStateInfo(0).IsName("Attacking"))
        {
            Invoke("GetDamage", firstBloodValue);
        }

        /// Spear Skeleton enemies
        if (coll.CompareTag("SpearEnemy") && gameSession.health >= 0 && spearSkeletonEnemy.isEnemyAlive &&
            spearSkeletonEnemy.enemyAnim.GetCurrentAnimatorStateInfo(0).IsName("Attacking"))
        {
            Invoke("GetDamage", firstBloodValue);
        }
    }
    private void OnTriggerEnter2D(Collider2D coll)
    {
        if (coll.CompareTag("Enemy"))
        {
            skeletonEnemy = coll.gameObject.GetComponent <SkeletonController>();
        }

        if (coll.CompareTag("SpearEnemy"))
        {
            spearSkeletonEnemy = coll.gameObject.GetComponent <SpearSkeletonController>();
        }

        isAllowAttack = false;

        /// Enemy weapon attack
        if (coll.CompareTag("Spear") && gameSession.isPlayerAlive && !myAnim.GetCurrentAnimatorStateInfo(0).IsName("Dash"))
        {
            GetSpearDamage();
            Destroy(coll.gameObject);
        }

        /// Checkpoint
        if (coll.CompareTag("Checkpoint"))
        {
            if (gameSession != null)
            {
                gameSession.playerSpawnPos = coll.transform.position;
            }
            else
            {
                FindObjectOfType <GameSession>().playerSpawnPos = coll.transform.position;
            }
        }

        /// Rotary
        if (coll.CompareTag("RotaryObstacle") && rotaryObtacleAllowDamage && gameSession.isPlayerAlive)
        {
            rotaryObtacleAllowDamage = false;
            GetSoftDamage();
        }

        if (coll.CompareTag("RotaryKiller") && gameSession.isPlayerAlive)
        {
            KillPlayer();
        }

        /// Body coll
        if (coll.CompareTag("BodyColl") && softDamageAllow && !myAnim.GetCurrentAnimatorStateInfo(0).IsName("Dash"))
        {
            softDamageAllow = false;
            GetSoftDamage();
        }

        /// Sea killer
        if (coll.CompareTag("SeaKiller"))
        {
            PlayerSeaKiller();
        }

        /// Mud
        if (coll.CompareTag("Mud") && softDamageAllow)
        {
            softDamageAllow = false;
            GetDamageForMud(new Color(0.18f, 0.113f, 0.058f));
        }

        /// Rock
        if (coll.CompareTag("Rock") && softDamageAllow)
        {
            softDamageAllow = false;
            GetDamageForMud(new Color(0.38f, 0.388f, 0.388f));
        }
    }