52 lines
1.2 KiB
C++
52 lines
1.2 KiB
C++
/////////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// FILE : uiPageLink.h
|
|
// PURPOSE : Info of how a page is linked when transitioning
|
|
//
|
|
// AUTHOR : james.strain
|
|
// STARTED : December 2020
|
|
//
|
|
/////////////////////////////////////////////////////////////////////////////////
|
|
#ifndef UI_PAGE_LINK_H
|
|
#define UI_PAGE_LINK_H
|
|
|
|
#include "frontend/page_deck/uiPageConfig.h"
|
|
#if UI_PAGE_DECK_ENABLED
|
|
|
|
// framework
|
|
#include "atl/array.h"
|
|
|
|
// rage
|
|
#include "parser/macros.h"
|
|
|
|
// game
|
|
#include "frontend/page_deck/uiPageInfo.h"
|
|
|
|
class CPageBase;
|
|
|
|
class uiPageLink final
|
|
{
|
|
public:
|
|
uiPageLink() { }
|
|
explicit uiPageLink( uiPageId const pageId );
|
|
~uiPageLink() { }
|
|
|
|
bool IsValid() const { return !m_transitionSteps.empty(); }
|
|
uiPageInfo const& GetTarget() const;
|
|
uiPageConfig::PageInfoCollection const& GetTransitionSteps() const { return m_transitionSteps; }
|
|
|
|
bool operator ==( const class uiPageLink& op ) const;
|
|
|
|
private:
|
|
// TODO_UI: Consider merging fwuiHashPath support from RDR to traverse a tree of page hashes
|
|
uiPageConfig::PageInfoCollection m_transitionSteps;
|
|
|
|
PAR_SIMPLE_PARSABLE;
|
|
|
|
private:
|
|
};
|
|
|
|
#endif // UI_PAGE_DECK_ENABLED
|
|
|
|
#endif // UI_PAGE_LINK_H
|