コード例 #1
0
    public void placeIngredient(Ingredient ingredient, Position position)
    {
        if (!canUseIngredient(ingredient, position))
        {
            return;
        }
        clearIngredientPreview();
        started          = true;
        placedIngredient = ingredient;

        ingredient.initIngredient(removeGems, changeGems);
        realDisplacements(ingredient.getDisplacements(position));

        foreach (KeyValuePair <Position, IBoardEntity> entry in ingredient.boardEntities)
        {
            addBoardEntity(entry.Value, entry.Key + position);
        }

        List <IBoardEntity> removedGems = checkBoardEntitiesOutofBounds();

        ingredient.boardEntitiesPushed(removedGems);

        ingredient.ingredientPlaced(board, position);
        addToCurrentMatches(getPlacedIngredientMatches(position));
        ingredientSelector.ingredientUsed(ingredient);
        checkMatchesAfterHelper(.5f, true, !getPlacedIngredientBonusPlacement());
    }