public void Drop(int gachaId, GachaCountType count) { var(gachaItem, prices, countDrop) = _resources.GetGacha(gachaId, count, _condition); for (var i = 0; i < countDrop; i++) { _impactLogic.ExecuteImpact(gachaItem.Impact); } var gachaPrice = prices.Prices ?? new Dictionary <int, IPrice>(); foreach (var price in gachaPrice.Values) { _scorers.Spend(price, _formuls); } _impactLogic.ExecuteImpact(prices.Impact); LogicLog.Gacha(gachaId, countDrop); UpdateDropItems(); }