the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
1#pragma once
2
3#include "UIEnums.h"
4
5// 4J Stu - An interface class that defines all the public functions that we use within the game code. This allows us to build the Xbox 360 version without
6// using the base UIController class used by the other platforms
7class IUIController
8{
9public:
10 virtual void tick() = 0;
11 virtual void render() = 0;
12 virtual void StartReloadSkinThread() = 0;
13 virtual bool IsReloadingSkin() = 0;
14 virtual void CleanUpSkinReload() = 0;
15 virtual bool NavigateToScene(int iPad, EUIScene scene, void *initData = NULL, EUILayer layer = eUILayer_Scene, EUIGroup group = eUIGroup_PAD) = 0;
16 virtual bool NavigateBack(int iPad, bool forceUsePad = false, EUIScene eScene = eUIScene_COUNT, EUILayer eLayer = eUILayer_COUNT) = 0;
17 virtual void CloseUIScenes(int iPad, bool forceIPad = false) = 0;
18 virtual void CloseAllPlayersScenes() = 0;
19
20 virtual bool IsPauseMenuDisplayed(int iPad) = 0;
21 virtual bool IsContainerMenuDisplayed(int iPad) = 0;
22 virtual bool IsIgnorePlayerJoinMenuDisplayed(int iPad) = 0;
23 virtual bool IsIgnoreAutosaveMenuDisplayed(int iPad) = 0;
24 virtual void SetIgnoreAutosaveMenuDisplayed(int iPad, bool displayed) = 0;
25 virtual bool IsSceneInStack(int iPad, EUIScene eScene) = 0;
26 virtual bool GetMenuDisplayed(int iPad) = 0;
27 virtual void CheckMenuDisplayed() = 0;
28
29 virtual void SetTooltipText( unsigned int iPad, unsigned int tooltip, int iTextID ) = 0;
30 virtual void SetEnableTooltips( unsigned int iPad, BOOL bVal ) = 0;
31 virtual void ShowTooltip( unsigned int iPad, unsigned int tooltip, bool show ) = 0;
32 virtual void SetTooltips( unsigned int iPad, int iA, int iB=-1, int iX=-1, int iY=-1 , int iLT=-1, int iRT=-1, int iLB=-1, int iRB=-1, int iLS=-1, int iRS=-1, int iBack=-1, bool forceUpdate = false) = 0;
33 virtual void EnableTooltip( unsigned int iPad, unsigned int tooltip, bool enable ) = 0;
34 virtual void RefreshTooltips(unsigned int iPad) = 0;
35
36 virtual void PlayUISFX(ESoundEffect eSound) = 0;
37
38 virtual void ShowUIDebugConsole(bool show) {}
39 virtual void ShowUIDebugMarketingGuide(bool show) {}
40
41 virtual void DisplayGamertag(unsigned int iPad, bool show) = 0;
42 virtual void SetSelectedItem(unsigned int iPad, const wstring &name) = 0;
43 virtual void UpdateSelectedItemPos(unsigned int iPad) = 0;
44
45 virtual void HandleDLCMountingComplete() = 0;
46 virtual void HandleDLCInstalled(int iPad) = 0;
47#ifdef _XBOX_ONE
48 virtual void HandleDLCLicenseChange() = 0;
49#endif
50 virtual void HandleTMSDLCFileRetrieved(int iPad) = 0;
51 virtual void HandleTMSBanFileRetrieved(int iPad) = 0;
52 virtual void HandleInventoryUpdated(int iPad) = 0;
53 virtual void HandleGameTick() = 0;
54
55 virtual void SetTutorialDescription(int iPad, TutorialPopupInfo *info) = 0;
56 virtual void SetTutorialVisible(int iPad, bool visible) = 0;
57 virtual bool IsTutorialVisible(int iPad) = 0;
58
59 virtual void UpdatePlayerBasePositions() = 0;
60 virtual void SetEmptyQuadrantLogo(int iSection) = 0;
61 virtual void HideAllGameUIElements() = 0;
62 virtual void ShowOtherPlayersBaseScene(unsigned int iPad, bool show) = 0;
63
64 virtual void ShowTrialTimer(bool show) = 0;
65 virtual void SetTrialTimerLimitSecs(unsigned int uiSeconds) = 0;
66 virtual void UpdateTrialTimer(unsigned int iPad) = 0;
67 virtual void ReduceTrialTimerValue() = 0;
68
69 virtual void ShowAutosaveCountdownTimer(bool show) = 0;
70 virtual void UpdateAutosaveCountdownTimer(unsigned int uiSeconds) = 0;
71 virtual void ShowSavingMessage(unsigned int iPad, C4JStorage::ESavingMessage eVal) = 0;
72
73 virtual bool PressStartPlaying(unsigned int iPad) = 0;
74 virtual void ShowPressStart(unsigned int iPad) = 0;
75
76 virtual void SetWinUserIndex(unsigned int iPad) = 0;
77};