Aetheria/Assets/Plugins/UniRx/Scripts/System/IOptimizedObservable.cs
Reinier Vens dbc522a224 Weapos Rejiggered
Modified weapon scripts to eliminate specialized projectile behavior - allows charged weapons to have projectiles and modify weapon stats when charged
Added machine gun weapon & VFX
Moved third party code to Plugins folder to improve compile times
2021-01-31 03:52:32 +00:00

27 lines
No EOL
770 B
C#

using System;
namespace UniRx
{
public interface IOptimizedObservable<T> : IObservable<T>
{
bool IsRequiredSubscribeOnCurrentThread();
}
public static class OptimizedObservableExtensions
{
public static bool IsRequiredSubscribeOnCurrentThread<T>(this IObservable<T> source)
{
var obs = source as IOptimizedObservable<T>;
if (obs == null) return true;
return obs.IsRequiredSubscribeOnCurrentThread();
}
public static bool IsRequiredSubscribeOnCurrentThread<T>(this IObservable<T> source, IScheduler scheduler)
{
if (scheduler == Scheduler.CurrentThread) return true;
return IsRequiredSubscribeOnCurrentThread(source);
}
}
}