void ContinueToMerge(bool shouldContinue)
    {
        if (shouldContinue)
        {
            int level = m_SelectedObjects[0].GetLevel();
            //BaseObject.ObjectType type = m_SelectedObjects[0].GetObjectType();
            FoodController.FoodType   foodType = m_SelectedObjects[0].FDController.CurrentFoodType;
            PetIconController.PetType petType  = m_SelectedObjects[0].PIController.CurrentPetType;

            if (level >= DelegateManager.GetMaxLevel())
            {
                //ClearBaseObjectsFromList();
                return;
            }

            if (level + 1 <= Constant.LEVEL_MAX)
            {
                //New level object
                BaseObject newobj = DelegateManager.GetRequiredBaseObject(level + 1, petType, foodType);

                //raise the event for the finished object coordinate with the quest
                //DelegateManager.UpdateCompleteQuest (newobj.GetLevel(), newobj.GetObjectType());

                int       row    = m_SelectedObjects[0].GetRow();
                int       column = m_SelectedObjects[0].GetColumn();
                Transform trans  = m_SelectedObjects[0].GetTransformation();
                float     x      = trans.position.x;
                float     y      = trans.position.y;
                Vector3   pos    = new Vector3(x, y, 0);
                newobj.UpdatePositionInMatrix(row, column);
                newobj.UpdatePositionInWorld(pos);
                newobj.UpdateObjectState(BaseObject.ObjectState.Frozen);
                m_Array[row, column] = newobj;

                ClearBaseObjectsFromList();

                HandleNewObject(newobj);
            }
            else
            {
                ClearBaseObjectsFromList();
            }
        }
    }