c#Action内部嵌套回调上的内存



所以,我有一段代码:

public void MovementTick()
{
if(MovementBehaviour != null)
{
MovementBehaviour.PerformMovement(this);
GameScheduler.Schedule(new SchedulerTask(MovementDelay)
{
Task = () =>
{
MovementTick();
}
});
}
}

这是为了让调度程序运行怪物任务。然而,由于这是对MovementTick((的嵌套调用,这会以某种方式导致内存问题吗?这个代码使用安全吗?这是否应该调用外部函数而不是嵌套MovementTick方法?

会得到任何帮助

尝试使用计时器滴答事件。

Timer timer { get; set; }
void Start () 
{
timer = new Timer();
timer.Interval = Timespan.FromMilliseconds(100);
timer.Elapsed +=TimerTick;
timer.Start();
}
void TimerTick(object o, EventArgs e)
{
MovementBehaviour?.PerformMovement(this); 
}

最新更新