Exemple #1
0
 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;
 }
Exemple #2
0
        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;
        }
Exemple #3
0
        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();
            }
        }