public override void OnRender(RenderControllers controllers, SSBBE.RenderSettings renderSettings) { var camera = controllers.GetCamera(); foreach (var layerKv in m_layers) { foreach (var depthKv in layerKv.Value.Objects) { foreach (var obj in depthKv.Value) { obj.OnRender(renderSettings, camera); } } } }
public override void OnUpdate(RenderControllers controllers, double dt) { var camera = controllers.GetCamera(); foreach (var layerKv in m_layers) { foreach (var depthKv in layerKv.Value.Objects) { foreach (var obj in depthKv.Value) { obj.OnUpdate(controllers, dt); } } } }
public override void OnUpdate(RenderControllers controllers, double dt) { base.OnUpdate(controllers, dt); if (!string.IsNullOrEmpty(m_currentPlayingAnimation) && m_animations.TryGetValue(m_currentPlayingAnimation, out var animation)) { i_setCurrentFrame(animation.AnimationId); switch (m_animationPlayType) { case AnimationPlayType.APT_Looping: m_currentFrame = m_currentFrame + dt * m_animationSpeed; if (m_currentFrame > m_maxFrames) { m_currentFrame -= m_maxFrames; } break; case AnimationPlayType.APT_Playing: m_currentFrame = Math.Min(animation.Frames, m_currentFrame += dt * m_animationSpeed); break; } } }
public abstract void OnRender(RenderControllers controllers, SSBBE.RenderSettings renderSettings);
public abstract void OnUpdate(RenderControllers controllers, double dt);
public virtual void OnUpdate(RenderControllers controllers, double dt) { }