public TimedAnimation(float length, float delay = 0.0f, float ease = 1.0f) { m_Start = GwenPlatform.GetTimeInSeconds() + delay; m_End = m_Start + length; m_Ease = ease; m_Started = false; m_Finished = false; }
public void Load() { GwenPlatform.Init(new NetCorePlatform(SetCursor)); AttachToWindowEvents(); renderer = ResolveRenderer(Settings.Renderer); skin = new TexturedBase(renderer, "DefaultSkin2.png") { DefaultFont = new Font(renderer, "Calibri", 11) }; canvas = new Canvas(skin); input = new OpenTkInputTranslator(canvas); canvas.SetSize(Parent.Size.X, Parent.Size.Y); canvas.ShouldDrawBackground = true; canvas.BackgroundColor = skin.Colors.ModalBackground; }
protected override void Think() { //base.Think(); if (m_Finished) { return; } float current = GwenPlatform.GetTimeInSeconds(); float secondsIn = current - m_Start; if (secondsIn < 0.0) { return; } if (!m_Started) { m_Started = true; OnStart(); } float delta = secondsIn / (m_End - m_Start); if (delta < 0.0f) { delta = 0.0f; } if (delta > 1.0f) { delta = 1.0f; } Run((float)Math.Pow(delta, m_Ease)); if (delta == 1.0f) { m_Finished = true; OnFinish(); } }