123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- #include "pch.h"
- //////////////////////////////////////////////////////////////////////////////
- //
- // Splash Screen
- //
- //////////////////////////////////////////////////////////////////////////////
- class SplashScreen :
- public Screen,
- public EventTargetContainer<SplashScreen>,
- public IKeyboardInput
- {
- private:
- TRef<Pane> m_ppane;
- TRef<ButtonPane> m_pbuttonQuit;
- TRef<IKeyboardInput> m_keyboardDelegate;
- public:
- SplashScreen(Modeler* pmodeler)
- {
- TRef<INameSpace> pns = pmodeler->GetNameSpace("splashscreen");
- CastTo(m_ppane, pns->FindMember("screen"));
- pmodeler->UnloadNameSpace("splashscreen");
- if (g_bQuickstart || true) // REVIEW
- AddEventTarget(OnTimeout, GetWindow(), 0.01f);
- else
- AddEventTarget(OnTimeout, GetWindow(), 6.85f);
- m_keyboardDelegate = IKeyboardInput::CreateDelegate(this);
- GetWindow()->AddKeyboardInputFilter(m_keyboardDelegate);
- }
- ~SplashScreen()
- {
- GetWindow()->RemoveKeyboardInputFilter(m_keyboardDelegate);
- }
- bool OnTimeout()
- {
- GetWindow()->screen(ScreenIDIntroScreen);
- return false;
- }
- //////////////////////////////////////////////////////////////////////////////
- //
- // Screen Methods
- //
- //////////////////////////////////////////////////////////////////////////////
- Pane* GetPane()
- {
- return m_ppane;
- }
- //////////////////////////////////////////////////////////////////////////////
- //
- // IMouseInput
- //
- //////////////////////////////////////////////////////////////////////////////
- MouseResult Button(IInputProvider* pprovider, const Point& point, int button, bool bCaptured, bool bInside, bool bDown)
- {
- GetWindow()->screen(ScreenIDIntroScreen);
- return MouseResult();
- }
- //////////////////////////////////////////////////////////////////////////////
- //
- // IKeyboardInput
- //
- //////////////////////////////////////////////////////////////////////////////
- bool OnKey(IInputProvider* pprovider, const KeyState& ks, bool& fForceTranslate)
- {
- if (ks.bDown)
- GetWindow()->screen(ScreenIDIntroScreen);
- return false;
- }
- };
- //////////////////////////////////////////////////////////////////////////////
- //
- // Constructor
- //
- //////////////////////////////////////////////////////////////////////////////
- TRef<Screen> CreateSplashScreen(Modeler* pmodeler)
- {
- return new SplashScreen(pmodeler);
- }
|