void OnTriggerEnter2D(Collider2D col)
    {
        // Only trigger once object has waypoints initialized
        if (waypoints == null)
        {
            return;
        }

        // If enemy collides with waypoint
        if (col.gameObject.tag == "Waypoint")
        {
            if (col.gameObject.name == waypoints[curDestination].name)
            {
                NewDirection();
            }
        }

        // If enemy collides with a player or an egg
        if (col.gameObject.tag == "Egg" || col.gameObject.tag == "Player")
        {
            if (!isDestroyed)
            {
                isDestroyed = true;

                // Record enemy defeat
                globalBehavior.UpdateEnemyDefeatedState();

                // Record when player object collides with enemy seperately
                if (col.gameObject.tag == "Player")
                {
                    globalBehavior.UpdateEnemyTouchedState();
                }

                // Create a single new enemy
                globalBehavior.CreateEnemy();

                // Remove this object from the game
                Destroy(gameObject);
            }
        }
    }