ValueTask <IncrementResult> ICounter.IncrementAsync(IncrementRequest request) { lock (counterLock) { counter += request.Inc; var result = new IncrementResult { Result = counter }; return(new ValueTask <IncrementResult>(result)); } }
/// <summary> /// Обработка нажатия на кнопку добавления слота /// </summary> /// <param name="senderTransform">Transform, на который нажали</param> protected void AddSlotButton_PressHandler(RectTransform senderTransform) { //Повысить уровень улучшения IncrementResult result = DataManager.Instance.PlayerAccount.Upgrades.IncrementUpgradeProgress(GetUpgradeType()); switch (result) { //Если в результате повышения поднялся уровень - добавить слот и выключить кнопку case IncrementResult.IncrementLevel: GetSelectedItemsManager().AddSlot(); senderTransform.gameObject.SetActive(false); break; //Если в результате повышения повысился прогрес - обновить UI case IncrementResult.IncrementProgress: senderTransform.GetComponent <UIElement_AddItemSlot>().UpdateProgress(GetUpgradeType()); break; //Если ничего не произошло - ничего не делать default: break; } }