コード例 #1
0
        private async UniTask ReloadTask()
        {
            Logger.Debug("Reloading player's weapon.");
            isReloading = true;
            UpdateUI();

            await TimeHelper.CountUp(
                maxWeaponProjectileCount - currentProjectileCount, weaponReloadTime, tick =>
            {
                //Backup
                if (currentProjectileCount == maxWeaponProjectileCount)
                {
                    return;
                }

                //Increase projectiles
                currentProjectileCount++;
                UpdateUI();
            }, reloadCancellation.Token);

            isReloading = false;
            UpdateUI();
            reloadCancellation.Dispose();
            reloadCancellation = null;
        }