OpenBarnyard
 
Loading...
Searching...
No Matches
AOptionsState Class Reference

#include <AOptionsState.h>

Inheritance diagram for AOptionsState:
ABYardMenuState AGameState

Public Types

enum  OPTIONSBUTTON { OPTIONSBUTTON_AUDIO , OPTIONSBUTTON_CONTROLS , OPTIONSBUTTON_NUMOF }
 
using ThisClass = AOptionsState
 
using BaseClass = ABYardMenuState
 
- Public Types inherited from ABYardMenuState
enum  MENUSTATE {
  MENUSTATE_DIALOG_APPEAR , MENUSTATE_DIALOG_DISAPPEAR , MENUSTATE_MENU_APPEAR , MENUSTATE_MENU_DISAPPEAR ,
  MENUSTATE_NOTHING , MENUSTATE_MENU_VISIBLE
}
 
using ThisClass = ABYardMenuState
 
using BaseClass = AGameState
 
- Public Types inherited from AGameState
enum  OVERLAY_ : OVERLAY { OVERLAY_1 , OVERLAY_2 , OVERLAY_3 , OVERLAY_NUMOF }
 
using OVERLAY = TUINT
 
using ThisClass = AGameState
 
using BaseClass = Toshi::TObject
 
template<class Result, class... Args>
using t_ExecuteForChildCb = Result ( AGameState::* )( Args... args )
 

Public Member Functions

virtual Toshi::TClass * GetClass () override
 
 AOptionsState ()
 
 ~AOptionsState ()
 
virtual TBOOL ProcessCommand (AInputCommand a_eInputCommand, const Toshi::TInputInterface::InputEvent *a_pInputEvent, TBOOL &a_rStopEvents) override
 
virtual TBOOL OnUpdate (TFLOAT a_fDeltaTime) override
 
virtual void OnInsertion () override
 
virtual void OnRemoval () override
 
virtual void OnActivate () override
 
virtual void OnMenuItemActivated (AGUI2MenuItem &a_rMenuItem) override
 
virtual void OnMenuClose () override
 
- Public Member Functions inherited from ABYardMenuState
 ABYardMenuState ()
 
 ~ABYardMenuState ()
 
virtual TBOOL ProcessInput (const Toshi::TInputInterface::InputEvent *a_pInputEvent) override
 
virtual void OnDeactivate () override
 
virtual void OnMenuOpen ()
 
virtual void OnMenuItemFocused (AGUI2MenuItem &a_rOldFocus, AGUI2MenuItem &a_rNewFocus)
 
- Public Member Functions inherited from AGameState
 AGameState ()
 
 ~AGameState ()
 
virtual TBOOL Unknown1 (void *a_pUnk1, void *a_pUnk2)
 
virtual void Unknown2 (void *a_pUnk1)
 
virtual void Unknown3 (void *a_pUnk1)
 
virtual void Unknown4 (void *a_pUnk1)
 
virtual void Unknown5 ()
 
virtual TBOOL Unknown6 ()
 
virtual ASoundId GetSound ()
 
virtual TBOOL Unknown7 ()
 
virtual void Unknown8 ()
 
virtual void OnStarted ()
 
virtual void Unknown10 ()
 
virtual void Unknown11 (void *a_pUnk1, void *a_pUnk2)
 
virtual void Unknown12 (void *a_pUnk1, void *a_pUnk2)
 
virtual TFLOAT GetFOV ()
 
virtual void OnSuspend ()
 
virtual void OnResume (AGameState *a_pPreviousState)
 
TBOOL SendInputCommands (const Toshi::TInputInterface::InputEvent *a_pEvent)
 
void SetInputMap (const Toshi::TPString8 &a_MapName)
 
void Activate ()
 
void Deactivate ()
 
void Suspend ()
 
void Remove ()
 
void Destroy ()
 
void Destroy (TBOOL a_bDeactivate)
 
void SetOverlay (OVERLAY a_eOverlay)
 
OVERLAY GetOverlay () const
 
template<class RetT, class... Args>
void ExecuteForAllChildStates (t_ExecuteForChildCb< RetT, Args... > a_fnCallback, TUINT32 a_uiOffset, Args... args)
 
template<class... Args>
TBOOL ExecuteForOneChildState (t_ExecuteForChildCb< TBOOL, Args... > a_fnCallback, TUINT32 a_uiOffset, Args... args)
 

Static Public Member Functions

static Toshi::TObject * CreateTObject ()
 
static Toshi::TObject * CreateTObjectInPlace (void *a_pPtr)
 
static void InitialiseClass ()
 
static void DeinitialiseClass ()
 
static __forceinline Toshi::TClass * GetClassStatic ()
 
- Static Public Member Functions inherited from ABYardMenuState
static Toshi::TObject * CreateTObject ()
 
static Toshi::TObject * CreateTObjectInPlace (void *a_pPtr)
 
static void InitialiseClass ()
 
static void DeinitialiseClass ()
 
static __forceinline Toshi::TClass * GetClassStatic ()
 
- Static Public Member Functions inherited from AGameState
static Toshi::TObject * CreateTObject ()
 
static Toshi::TObject * CreateTObjectInPlace (void *a_pPtr)
 
static void InitialiseClass ()
 
static void DeinitialiseClass ()
 
static __forceinline Toshi::TClass * GetClassStatic ()
 

Static Public Attributes

static constexpr Toshi::TClass * PARENTCLASS = & ABYardMenuState::ms_oClass
 
static Toshi::TClass ms_oClass = Toshi::TClass( "AOptionsState", AOptionsState::PARENTCLASS, AOptionsState::CreateTObject, AOptionsState::CreateTObjectInPlace, AOptionsState::InitialiseClass, AOptionsState::DeinitialiseClass, 0, 1, sizeof( AOptionsState ), alignof( AOptionsState ) )
 
static constexpr TINT OPTIONSBUTTON_TEXTS [OPTIONSBUTTON_NUMOF]
 
- Static Public Attributes inherited from ABYardMenuState
static constexpr Toshi::TClass * PARENTCLASS = & AGameState::ms_oClass
 
static Toshi::TClass ms_oClass = Toshi::TClass( "ABYardMenuState", ABYardMenuState::PARENTCLASS, ABYardMenuState::CreateTObject, ABYardMenuState::CreateTObjectInPlace, ABYardMenuState::InitialiseClass, ABYardMenuState::DeinitialiseClass, 0, 1, sizeof( ABYardMenuState ), alignof( ABYardMenuState ) )
 
- Static Public Attributes inherited from AGameState
static constexpr Toshi::TClass * PARENTCLASS = & Toshi::TObject::ms_oClass
 
static Toshi::TClass ms_oClass = Toshi::TClass( "AGameState", AGameState::PARENTCLASS, AGameState::CreateTObject, AGameState::CreateTObjectInPlace, AGameState::InitialiseClass, AGameState::DeinitialiseClass, 0, 1, sizeof( AGameState ), alignof( AGameState ) )
 

Additional Inherited Members

- Protected Member Functions inherited from ABYardMenuState
void OnButtonActivated (AGUI2Button *a_pButton)
 
- Protected Attributes inherited from ABYardMenuState
AGUI2Element m_oRootElement
 
AGUI2Dialog m_oDialog
 
AGUI2Menu m_oMenu
 
AGUI2Rectangle m_oDialogTitleBackground
 
AGUI2TextBox m_oDialogTitle
 
MENUSTATE m_eMenuState
 
TFLOAT m_fOscillatorOffset
 
TFLOAT m_fMenuOpacity
 
TFLOAT m_fTotalTime
 
TBOOL m_bFocusedElementBloated
 
TBOOL m_bIgnoreInputs
 
TFLOATm_pButtonRotations
 
TBOOL m_bHasRectangle2
 
AGUI2Rectangle m_oRectangle2
 
- Protected Attributes inherited from AGameState
HUDParams m_HUDParams
 
OVERLAY m_eOverlayColorIndex
 
Toshi::T2DList< AGameStatem_ChildStates
 
AInputMapm_pInputMap
 
AGameStatem_pOwnerState
 
TBOOL m_bWasInserted
 
TBOOL m_bIsActivated
 
AGUI2Element m_GUIElement
 
TFLOAT m_fFOV
 
- Static Protected Attributes inherited from ABYardMenuState
static Toshi::TVector2 ms_vecActivatedButtonTranslation
 
static TFLOAT ms_fAnimationTime
 
static Toshi::TVector2 ms_vecActivatedButtonShadow
 

Detailed Description

Definition at line 5 of file AOptionsState.h.

Member Typedef Documentation

◆ BaseClass

Definition at line 8 of file AOptionsState.h.

◆ ThisClass

Definition at line 8 of file AOptionsState.h.

Member Enumeration Documentation

◆ OPTIONSBUTTON

Enumerator
OPTIONSBUTTON_AUDIO 
OPTIONSBUTTON_CONTROLS 
OPTIONSBUTTON_NUMOF 

Definition at line 10 of file AOptionsState.h.

Constructor & Destructor Documentation

◆ AOptionsState()

AOptionsState::AOptionsState ( )

Definition at line 20 of file AOptionsState.cpp.

21{
22}

◆ ~AOptionsState()

AOptionsState::~AOptionsState ( )

Definition at line 24 of file AOptionsState.cpp.

25{
26}

Member Function Documentation

◆ CreateTObject()

Toshi::TObject * AOptionsState::CreateTObject ( )
static

Definition at line 18 of file AOptionsState.cpp.

◆ CreateTObjectInPlace()

Toshi::TObject * AOptionsState::CreateTObjectInPlace ( void * a_pPtr)
static

Definition at line 18 of file AOptionsState.cpp.

◆ DeinitialiseClass()

void AOptionsState::DeinitialiseClass ( )
static

Definition at line 18 of file AOptionsState.cpp.

◆ GetClass()

Toshi::TClass * AOptionsState::GetClass ( )
overridevirtual

Reimplemented from ABYardMenuState.

Definition at line 18 of file AOptionsState.cpp.

◆ GetClassStatic()

static __forceinline Toshi::TClass * AOptionsState::GetClassStatic ( )
inlinestatic

Definition at line 8 of file AOptionsState.h.

◆ InitialiseClass()

void AOptionsState::InitialiseClass ( )
static

Definition at line 18 of file AOptionsState.cpp.

◆ OnActivate()

void AOptionsState::OnActivate ( )
overridevirtual

Reimplemented from ABYardMenuState.

Definition at line 80 of file AOptionsState.cpp.

81{
82 m_iActivatedButtonID = -1;
84}
virtual void OnActivate() override

◆ OnInsertion()

void AOptionsState::OnInsertion ( )
overridevirtual

Reimplemented from ABYardMenuState.

Definition at line 43 of file AOptionsState.cpp.

44{
45 SetInputMap( TPS8( DialogInputMap ) );
47
48 for ( TINT i = 0; i < OPTIONSBUTTON_NUMOF; i++ )
49 {
50 const TWCHAR* wszText = ALocaleManager::GetSingleton()->GetString( OPTIONSBUTTON_TEXTS[ i ] );
51
52 m_aButtons[ i ].Create( pFont, pFont->GetTextWidth( wszText ), wszText, 10.0f );
53 m_aButtons[ i ].SetFocusedColour( AGUI2STYLE_COLOR_FOCUSED );
54 m_aButtons[ i ].SetEnabledColour( AGUI2STYLE_COLOR_SECONDARY );
55 m_aButtons[ i ].SetDisabledColour( AGUI2STYLE_COLOR_DISABLED );
56 m_aButtons[ i ].SetFocusedScale( 1.0f );
57 m_aButtons[ i ].OnFocusLost();
58 m_aButtons[ i ].SetId( i );
59 m_aButtons[ i ].SetTextShadow( TTRUE, 0xa0000000, 0.6f );
60 m_aButtons[ i ].SetTextShadowOffset( 5.0f );
61 m_oMenu.AddMenuItem( m_aButtons[ i ] );
62 }
63
64 m_oMenu.SetFocusAt( m_aButtons[ 0 ] );
65 m_oDialogTitle.SetText( ALocaleManager::GetSingleton()->GetString( 284 ) );
66
68}
#define TPS8(STR)
Definition TPString8.h:16
wchar_t TWCHAR
Definition Typedefs.h:21
int TINT
Definition Typedefs.h:7
#define TTRUE
Definition Typedefs.h:25
#define AGUI2STYLE_COLOR_FOCUSED
Definition AGUI2Style.h:10
#define AGUI2STYLE_COLOR_SECONDARY
Definition AGUI2Style.h:9
#define AGUI2STYLE_FONT_PRIMARY
Definition AGUI2Style.h:4
#define AGUI2STYLE_COLOR_DISABLED
Definition AGUI2Style.h:11
AGUI2TextBox m_oDialogTitle
virtual void OnInsertion() override
void SetInputMap(const Toshi::TPString8 &a_MapName)
static constexpr TINT OPTIONSBUTTON_TEXTS[OPTIONSBUTTON_NUMOF]
TFLOAT GetTextWidth(const TWCHAR *a_wszText, TFLOAT a_fScale=1.0f)
static AGUI2Font * FindFont(const TCHAR *a_szFontName)

◆ OnMenuClose()

void AOptionsState::OnMenuClose ( )
overridevirtual

Reimplemented from ABYardMenuState.

Definition at line 94 of file AOptionsState.cpp.

95{
96 TIMPLEMENT();
97
98 //if ( m_iActivatedButtonID == -1 )
99 // AGameState::Remove();
100
101 if ( m_iActivatedButtonID == OPTIONSBUTTON_AUDIO )
102 {
103 AGameStateController::GetSingleton()->PushState( new AAudioOptionsState() );
104 }
105 else
106 {
108 }
109}
#define TIMPLEMENT()
Definition Defines.h:136
void Remove()

◆ OnMenuItemActivated()

void AOptionsState::OnMenuItemActivated ( AGUI2MenuItem & a_rMenuItem)
overridevirtual

Implements ABYardMenuState.

Definition at line 86 of file AOptionsState.cpp.

87{
88 AGUI2Button* pButton = TSTATICCAST( AGUI2Button, &a_rMenuItem );
89 m_iActivatedButtonID = pButton->GetId();
90
92}
#define TSTATICCAST(POINTERTYPE, VALUE)
Definition Defines.h:69
void OnButtonActivated(AGUI2Button *a_pButton)
TINT GetId() const
Definition AGUI2Button.h:18

◆ OnRemoval()

void AOptionsState::OnRemoval ( )
overridevirtual

Reimplemented from ABYardMenuState.

Definition at line 70 of file AOptionsState.cpp.

71{
72 for ( TINT i = 0; i < OPTIONSBUTTON_NUMOF; i++ )
73 {
74 m_aButtons[ i ].RemoveSelf();
75 }
76
78}
virtual void OnRemoval() override

◆ OnUpdate()

TBOOL AOptionsState::OnUpdate ( TFLOAT a_fDeltaTime)
overridevirtual

Reimplemented from ABYardMenuState.

Definition at line 36 of file AOptionsState.cpp.

37{
38 return BaseClass::OnUpdate( a_fDeltaTime );
39}
virtual TBOOL OnUpdate(TFLOAT a_fDeltaTime) override

◆ ProcessCommand()

TBOOL AOptionsState::ProcessCommand ( AInputCommand a_eInputCommand,
const Toshi::TInputInterface::InputEvent * a_pInputEvent,
TBOOL & a_rStopEvents )
overridevirtual

Reimplemented from ABYardMenuState.

Definition at line 28 of file AOptionsState.cpp.

29{
30 if ( m_eMenuState == MENUSTATE_MENU_VISIBLE && a_eInputCommand == AInputCommand_Cancel )
31 ASoundManager::GetSingleton()->PlayCue( soundbank::UI_MENUBACK );
32
33 return BaseClass::ProcessCommand( a_eInputCommand, a_pInputEvent, a_rStopEvents );
34}
@ AInputCommand_Cancel
Definition AInputMap.h:16
@ UI_MENUBACK
Definition ui.h:31
virtual TBOOL ProcessCommand(AInputCommand a_eInputCommand, const Toshi::TInputInterface::InputEvent *a_pInputEvent, TBOOL &a_rStopEvents) override
MENUSTATE m_eMenuState

Member Data Documentation

◆ ms_oClass

Toshi::TClass AOptionsState::ms_oClass = Toshi::TClass( "AOptionsState", AOptionsState::PARENTCLASS, AOptionsState::CreateTObject, AOptionsState::CreateTObjectInPlace, AOptionsState::InitialiseClass, AOptionsState::DeinitialiseClass, 0, 1, sizeof( AOptionsState ), alignof( AOptionsState ) )
static

Definition at line 8 of file AOptionsState.h.

◆ OPTIONSBUTTON_TEXTS

TINT AOptionsState::OPTIONSBUTTON_TEXTS[OPTIONSBUTTON_NUMOF]
inlinestaticconstexpr
Initial value:
= {
282,
281
}

Definition at line 17 of file AOptionsState.h.

17 {
18 282,
19 281
20 };

◆ PARENTCLASS

Toshi::TClass* AOptionsState::PARENTCLASS = & ABYardMenuState::ms_oClass
staticconstexpr

Definition at line 8 of file AOptionsState.h.


The documentation for this class was generated from the following files: