protected override void OnSignalUpdate(LightElement origin, float dt) { progress += dt; if (progress >= 1f) { progress = 1f; } base.OnSignalUpdate(origin, dt); }
public void ClearUpdateFlag(LightElement origin) { if (cleared) { return; } cleared = true; OnClearUpdateFlag(origin); updated = false; }
public void UpdateSignal(LightElement origin, float dt) { if (updated) { return; } updated = true; OnSignalUpdate(origin, dt); cleared = false; wasUpdated = true; }
protected override void OnSignalUpdate(LightElement origin, float dt) { foreach (LightLink link in connected) { if (!link.activated || link == origin) { continue; } link.UpdateSignal(this, dt); } }
protected override void OnClearUpdateFlag(LightElement origin) { foreach (LightLink link in connected) { if (!link.activated || link == origin) { continue; } link.ClearUpdateFlag(this); } }
protected override void OnSignalUpdate(LightElement origin, float dt) { if (origin != point1) { reverse = true; } progress += actualProgressSpeed * dt; if (progress >= 1f) { progress = 1f; base.OnSignalUpdate(origin, dt); } }
protected abstract void OnClearUpdateFlag(LightElement origin);
protected abstract void OnSignalUpdate(LightElement origin, float dt);
protected override void OnClearUpdateFlag(LightElement origin) { GetOther(origin as LightPoint)?.ClearUpdateFlag(this); }
protected override void OnSignalUpdate(LightElement origin, float dt) { GetOther(origin as LightPoint)?.UpdateSignal(this, dt); }