< Summary

Class:DCL.Helpers.InvokeOnMainThreadExtensions
Assembly:UniTaskUtils
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Helpers/Utils/TaskUtils/InvokeOnMainThread.cs
Covered lines:0
Uncovered lines:4
Coverable lines:4
Total lines:31
Line coverage:0% (0 of 4)
Covered branches:0
Total branches:0

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
InvokeOnMainThread[T](...)0%2100%
InvokeOnMainThread[T1, T2](...)0%2100%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Helpers/Utils/TaskUtils/InvokeOnMainThread.cs

#LineLine coverage
 1using Cysharp.Threading.Tasks;
 2using JetBrains.Annotations;
 3using System;
 4
 5namespace DCL.Helpers
 6{
 7    public static class InvokeOnMainThreadExtensions
 8    {
 9        public static void InvokeOnMainThread<T>([NotNull] this Action<T> action, T param)
 10        {
 11            async UniTaskVoid SwitchToMainThreadAndInvoke()
 12            {
 13                await UniTask.SwitchToMainThread();
 14                action(param);
 15            }
 16
 017            SwitchToMainThreadAndInvoke().Forget();
 018        }
 19
 20        public static void InvokeOnMainThread<T1, T2>([NotNull] this Action<T1, T2> action, T1 param1, T2 param2)
 21        {
 22            async UniTaskVoid SwitchToMainThreadAndInvoke()
 23            {
 24                await UniTask.SwitchToMainThread();
 25                action(param1, param2);
 26            }
 27
 028            SwitchToMainThreadAndInvoke().Forget();
 029        }
 30    }
 31}