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(); } } }