예제 #1
0
 ValueTask <IncrementResult> ICounter.IncrementAsync(IncrementRequest request)
 {
     lock (counterLock)
     {
         counter += request.Inc;
         var result = new IncrementResult {
             Result = counter
         };
         return(new ValueTask <IncrementResult>(result));
     }
 }
예제 #2
0
        /// <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;
            }
        }