我想使用Unity内部的
System.Timers.Timer
,但是Unity有很多(很多)功能只在主线程上运行。但是,它使用 ISynchronizeInvoke
属性来确定计时器在哪个线程上调用其操作,并且几乎没有关于如何强制它在主线程上调用的信息。
我尝试将其设置为
SynchronizationContext.Current
,但这显然不起作用。我也只是尝试过 SynchronizationContext.Current.Post
但 Unity 中没有调用它,或者也许我真的不明白如何使用它。
虽然我没有研究过 ISynchroniszeInvoke,但经过简短的讨论,Casey 和我已经确定了原因以及合理理解问题所需的所有好处
我缺乏知识,毫不奇怪地让我去谷歌,在那里我发现了github上的东西,它至少在正确的范围内。虽然这在技术上不是完整的答案,但它显然提供了一些缺失的信息,并可能导致其他同样缺乏信息的人找到相同的信息。