forked from townforge/townforge
game: add seasonal calendar widget
This commit is contained in:
parent
d36c71da7b
commit
703ebab3e6
@ -124,3 +124,11 @@ TBTabContainer
|
||||
item: id: "compass-small", text: "Small"
|
||||
item: id: "compass-medium", text: "Medium"
|
||||
item: id: "compass-large", text: "Large"
|
||||
TBLayout: axis: x
|
||||
TBTextField: text: "Calendar"
|
||||
TBSelectDropdown: id: "calendar"
|
||||
items
|
||||
item: id: "calendar-off", text: "Off"
|
||||
item: id: "calendar-small", text: "Small"
|
||||
item: id: "calendar-medium", text: "Medium"
|
||||
item: id: "calendar-large", text: "Large"
|
||||
|
BIN
GameData/UI/calendar-frame.png
Normal file
BIN
GameData/UI/calendar-frame.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 102 KiB |
BIN
GameData/UI/calendar-needle.png
Normal file
BIN
GameData/UI/calendar-needle.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.1 KiB |
@ -110,6 +110,8 @@ const float TOUCH_SENSITIVITY = 2.0f;
|
||||
#define DEFAULT_INCLUDE_UNMATCHED_TRADES_IN_QUEUED_COMMANDS false
|
||||
#define CONFIG_COMPASS "compass"
|
||||
#define DEFAULT_COMPASS TBIDC("compass-medium")
|
||||
#define CONFIG_CALENDAR "calendar"
|
||||
#define DEFAULT_CALENDAR TBIDC("calendar-medium")
|
||||
#define CONFIG_PANEL "panel"
|
||||
#define DEFAULT_PANEL String("")
|
||||
|
||||
@ -264,6 +266,7 @@ public:
|
||||
void HandleMusicSkipTrack(StringHash eventType, VariantMap& eventData);
|
||||
void HandleIncludeUnmatchedTradesInQueuedComands(StringHash eventType, VariantMap& eventData);
|
||||
void HandleCompass(StringHash eventType, VariantMap& eventData);
|
||||
void HandleCalendar(StringHash eventType, VariantMap& eventData);
|
||||
void HandleMint(StringHash eventType, VariantMap& eventData);
|
||||
void HandleSmelt(StringHash eventType, VariantMap& eventData);
|
||||
void HandleCancelNonce(StringHash eventType, VariantMap& eventData);
|
||||
@ -363,6 +366,7 @@ private:
|
||||
void SetSFXVolume(float volume);
|
||||
void SetPlaySFXOnNewBlock(bool play);
|
||||
void SetCompass(TBID compass);
|
||||
void SetCalendar(TBID calendar);
|
||||
void UpdateSky();
|
||||
void LoadControls();
|
||||
bool GetKeyDown(Urho3D::Key key);
|
||||
@ -982,6 +986,7 @@ void CryptoCityUrho3D::SetupUI()
|
||||
SubscribeToEvent(ui, E_CRYPTOCITY_MUSIC_SKIP_TRACK, URHO3D_HANDLER(CryptoCityUrho3D, HandleMusicSkipTrack));
|
||||
SubscribeToEvent(ui, E_CRYPTOCITY_INCLUDE_UNMATCHED_TRADES_IN_QUEUED_COMMANDS, URHO3D_HANDLER(CryptoCityUrho3D, HandleIncludeUnmatchedTradesInQueuedComands));
|
||||
SubscribeToEvent(ui, E_CRYPTOCITY_COMPASS, URHO3D_HANDLER(CryptoCityUrho3D, HandleCompass));
|
||||
SubscribeToEvent(ui, E_CRYPTOCITY_CALENDAR, URHO3D_HANDLER(CryptoCityUrho3D, HandleCalendar));
|
||||
SubscribeToEvent(ui, E_CRYPTOCITY_SFX_VOLUME, URHO3D_HANDLER(CryptoCityUrho3D, HandleSFXVolume));
|
||||
SubscribeToEvent(ui, E_CRYPTOCITY_PLAY_SFX_ON_NEW_BLOCK, URHO3D_HANDLER(CryptoCityUrho3D, HandlePlaySFXOnNewBlock));
|
||||
SubscribeToEvent(ui, E_CRYPTOCITY_RESTORE_MODEL_BACKUP, URHO3D_HANDLER(CryptoCityUrho3D, HandleRestoreModelBackup));
|
||||
@ -1363,6 +1368,11 @@ void CryptoCityUrho3D::SetCompass(TBID compass)
|
||||
ui->SetCompassType(compass);
|
||||
}
|
||||
|
||||
void CryptoCityUrho3D::SetCalendar(TBID calendar)
|
||||
{
|
||||
ui->SetCalendarType(calendar);
|
||||
}
|
||||
|
||||
void CryptoCityUrho3D::CreateScene()
|
||||
{
|
||||
if (!scene_)
|
||||
@ -1447,6 +1457,7 @@ void CryptoCityUrho3D::CreateScene()
|
||||
SetMusicTrack(GetConfigValue(CONFIG_AUDIO_SECTION, CONFIG_MUSIC_TRACK, DEFAULT_MUSIC_TRACK));
|
||||
SetMusicVolume(GetConfigValue(CONFIG_AUDIO_SECTION, CONFIG_MUSIC_VOLUME, DEFAULT_MUSIC_VOLUME));
|
||||
SetCompass(GetConfigValue(CONFIG_UI_SECTION, CONFIG_COMPASS, DEFAULT_COMPASS));
|
||||
SetCalendar(GetConfigValue(CONFIG_UI_SECTION, CONFIG_CALENDAR, DEFAULT_CALENDAR));
|
||||
SetSFXVolume(GetConfigValue(CONFIG_AUDIO_SECTION, CONFIG_SFX_VOLUME, DEFAULT_SFX_VOLUME));
|
||||
SetPlaySFXOnNewBlock(GetConfigValue(CONFIG_AUDIO_SECTION, CONFIG_PLAY_SFX_ON_NEW_BLOCK, DEFAULT_PLAY_SFX_ON_NEW_BLOCK));
|
||||
}
|
||||
@ -4216,6 +4227,14 @@ void CryptoCityUrho3D::HandleCompass(StringHash eventType, VariantMap& eventData
|
||||
eventData[Compass::P_COMPASS] = (unsigned long long)TBID(GetConfigValue(CONFIG_UI_SECTION, CONFIG_COMPASS, DEFAULT_COMPASS));
|
||||
}
|
||||
|
||||
void CryptoCityUrho3D::HandleCalendar(StringHash eventType, VariantMap& eventData)
|
||||
{
|
||||
if (eventData.Contains(Calendar::P_CALENDAR))
|
||||
SetCalendar(SetConfigValue(CONFIG_UI_SECTION, CONFIG_CALENDAR, TBID(eventData[Calendar::P_CALENDAR].GetUInt64())));
|
||||
else
|
||||
eventData[Calendar::P_CALENDAR] = (unsigned long long)TBID(GetConfigValue(CONFIG_UI_SECTION, CONFIG_CALENDAR, DEFAULT_CALENDAR));
|
||||
}
|
||||
|
||||
void CryptoCityUrho3D::HandleResearch(StringHash eventType, VariantMap& eventData)
|
||||
{
|
||||
cryptonote::cc_command_research_t cmd;
|
||||
|
@ -176,6 +176,7 @@ UIOptionsDialog::UIOptionsDialog(Context *ctx):
|
||||
musicTrackWidget = GetWidgetByIDAndType<TBSelectDropdown>(TBIDC("music-track"));
|
||||
musicVolumeWidget = GetWidgetByIDAndType<TBSlider>(TBIDC("music-volume"));
|
||||
compassWidget = GetWidgetByIDAndType<TBSelectDropdown>(TBIDC("compass"));
|
||||
calendarWidget = GetWidgetByIDAndType<TBSelectDropdown>(TBIDC("calendar"));
|
||||
SFXVolumeWidget = GetWidgetByIDAndType<TBSlider>(TBIDC("sfx-volume"));
|
||||
playSFXOnNewBlockWidget = GetWidgetByIDAndType<TBCheckBox>(TBIDC("play-sfx-on-new-block"));
|
||||
|
||||
@ -353,13 +354,13 @@ void UIOptionsDialog::Configure()
|
||||
musicVolumeWidget->SetValue(newEventData[OptionsMusicVolume::P_VOLUME].GetFloat() * musicVolumeWidget->GetMaxValue());
|
||||
|
||||
newEventData = {};
|
||||
SendEvent(E_OPTIONS_COMPASS, newEventData);
|
||||
compassWidget->SetValue(-1);
|
||||
for (int i = 0; i < compassWidget->GetDefaultSource()->GetNumItems(); ++i)
|
||||
SendEvent(E_OPTIONS_CALENDAR, newEventData);
|
||||
calendarWidget->SetValue(-1);
|
||||
for (int i = 0; i < calendarWidget->GetDefaultSource()->GetNumItems(); ++i)
|
||||
{
|
||||
if (compassWidget->GetDefaultSource()->GetItemID(i) == newEventData[OptionsCompass::P_COMPASS].GetUInt64())
|
||||
if (calendarWidget->GetDefaultSource()->GetItemID(i) == newEventData[OptionsCalendar::P_CALENDAR].GetUInt64())
|
||||
{
|
||||
compassWidget->SetValue(i);
|
||||
calendarWidget->SetValue(i);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -640,6 +641,20 @@ void UIOptionsDialog::HandleCompass(StringHash eventType, VariantMap& eventData)
|
||||
SendEvent(E_OPTIONS_COMPASS, newEventData);
|
||||
}
|
||||
|
||||
void UIOptionsDialog::HandleCalendar(StringHash eventType, VariantMap& eventData)
|
||||
{
|
||||
if (configuring)
|
||||
return;
|
||||
TBWidgetEvent *ev = (TBWidgetEvent*)eventData[TBWidgetEventNamespace::P_WIDGET_EVENT].GetVoidPtr();
|
||||
TBSelectDropdown *w = TBSafeCast<TBSelectDropdown>(ev->target);
|
||||
if (w->GetValue() < 0)
|
||||
return;
|
||||
const TBID id = w->GetDefaultSource()->GetItem(w->GetValue())->id;
|
||||
VariantMap newEventData;
|
||||
newEventData[OptionsCalendar::P_CALENDAR] = (unsigned long long)id;
|
||||
SendEvent(E_OPTIONS_CALENDAR, newEventData);
|
||||
}
|
||||
|
||||
void UIOptionsDialog::HandleClose(StringHash eventType, VariantMap& eventData)
|
||||
{
|
||||
VariantMap& newEventData = GetEventDataMap();
|
||||
@ -684,6 +699,7 @@ void UIOptionsDialog::HandleTBMessage(StringHash eventType, VariantMap& eventDat
|
||||
CONNECT("play-sfx-on-new-block", HandlePlaySFXOnNewBlock);
|
||||
|
||||
CONNECT("compass", HandleCompass);
|
||||
CONNECT("calendar", HandleCalendar);
|
||||
}
|
||||
|
||||
#undef CONNECT
|
||||
|
@ -34,7 +34,6 @@ URHO3D_EVENT(E_OPTIONS_ENABLE_HORIZON, OptionsEnableHorizon) { URHO3D_PARAM(P_EN
|
||||
URHO3D_EVENT(E_OPTIONS_ENABLE_DYNAMIC_SKY, OptionsEnableDynamicSky) { URHO3D_PARAM(P_ENABLE, Enable); }
|
||||
URHO3D_EVENT(E_OPTIONS_TIME_OF_DAY, OptionsTimeOfDay) { URHO3D_PARAM(P_TIME_OF_DAY, TimeOfDay); }
|
||||
URHO3D_EVENT(E_OPTIONS_SHOW_FLAGS, OptionsShowFlags) { URHO3D_PARAM(P_SHOW, Show); }
|
||||
URHO3D_EVENT(E_OPTIONS_ENABLE_COMPASS, OptionsEnableCompass) { URHO3D_PARAM(P_ENABLE, Enable); }
|
||||
URHO3D_EVENT(E_OPTIONS_CONTROLS_CHANGED, OptionsControlsChanged) {}
|
||||
URHO3D_EVENT(E_OPTIONS_MUSIC_TRACK, OptionsMusicTrack) { URHO3D_PARAM(P_TRACK, Track); }
|
||||
URHO3D_EVENT(E_OPTIONS_MUSIC_VOLUME, OptionsMusicVolume) { URHO3D_PARAM(P_VOLUME, Volume); }
|
||||
@ -42,6 +41,7 @@ URHO3D_EVENT(E_OPTIONS_SFX_VOLUME, OptionsSFXVolume) { URHO3D_PARAM(P_VOLUME, Vo
|
||||
URHO3D_EVENT(E_OPTIONS_PLAY_SFX_ON_NEW_BLOCK, OptionsPlaySFXOnNewBlock) { URHO3D_PARAM(P_PLAY, Play); }
|
||||
URHO3D_EVENT(E_OPTIONS_MUSIC_SKIP_TRACK, OptionsMusicSkipTrack) { }
|
||||
URHO3D_EVENT(E_OPTIONS_COMPASS, OptionsCompass) { URHO3D_PARAM(P_COMPASS, Compass); }
|
||||
URHO3D_EVENT(E_OPTIONS_CALENDAR, OptionsCalendar) { URHO3D_PARAM(P_CALENDAR, Calendar); }
|
||||
|
||||
class UIOptionsDialog: public UITBWindow
|
||||
{
|
||||
@ -76,6 +76,7 @@ private:
|
||||
void HandleMusicVolume(Urho3D::StringHash eventType, Urho3D::VariantMap& eventData);
|
||||
void HandleMusicSkipTrack(Urho3D::StringHash eventType, Urho3D::VariantMap& eventData);
|
||||
void HandleCompass(Urho3D::StringHash eventType, Urho3D::VariantMap& eventData);
|
||||
void HandleCalendar(Urho3D::StringHash eventType, Urho3D::VariantMap& eventData);
|
||||
void HandleSFXVolume(Urho3D::StringHash eventType, Urho3D::VariantMap& eventData);
|
||||
void HandlePlaySFXOnNewBlock(Urho3D::StringHash eventType, Urho3D::VariantMap& eventData);
|
||||
void HandleTBMessage(Urho3D::StringHash eventType, Urho3D::VariantMap& eventData);
|
||||
@ -102,6 +103,7 @@ private:
|
||||
tb::TBSelectDropdown *musicTrackWidget;
|
||||
tb::TBSlider *musicVolumeWidget;
|
||||
tb::TBSelectDropdown *compassWidget;
|
||||
tb::TBSelectDropdown *calendarWidget;
|
||||
tb::TBSlider *SFXVolumeWidget;
|
||||
tb::TBCheckBox *playSFXOnNewBlockWidget;
|
||||
|
||||
|
@ -68,6 +68,8 @@
|
||||
#define WALLET_BALANCE_TEXT_SCALE .8f
|
||||
#define COMPASS_SIZE(size) ((int)(140 * (size)))
|
||||
#define COMPASS_CENTER_OFFSET(size) ((COMPASS_SIZE(size)) * 2 / 3.0f)
|
||||
#define CALENDAR_SIZE(size) ((int)(140 * (size)))
|
||||
#define CALENDAR_CENTER_OFFSET(size) ((CALENDAR_SIZE(size)) * 2 / 3.0f)
|
||||
|
||||
using namespace Urho3D;
|
||||
using namespace tb;
|
||||
@ -231,6 +233,7 @@ UIUrho3D::UIUrho3D(Context *ctx, const GameState *gameState):
|
||||
CreateLoadingWalletNotificationWidget();
|
||||
CreateQueuedCommandsNotificationWidget();
|
||||
CreateCompass();
|
||||
CreateCalendar();
|
||||
CreateNewBlockNotification();
|
||||
|
||||
shadingFix = new UITBWindow(context_, "cc/shading-fix.tb.txt", WINDOW_SETTINGS_NONE);
|
||||
@ -318,7 +321,7 @@ void UIUrho3D::CreateBuildOverviewWidget()
|
||||
buildOverviewWidget = new UITBWindow(context_, "cc/build-overview.tb.txt", WINDOW_SETTINGS_NONE);
|
||||
buildOverviewWidget->SetSkinBg(TBIDC("0"));
|
||||
TBRect rect = buildOverviewWidget->GetRect();
|
||||
rect.x = 0;
|
||||
rect.x = graphics->GetWidth() / 2 - rect.w / 2;
|
||||
rect.y = 0;
|
||||
buildOverviewWidget->SetRect(rect);
|
||||
SubscribeToEvent(buildOverviewWidget, E_TB_WIDGET_EVENT, URHO3D_HANDLER(UIUrho3D, HandleTBMessage));
|
||||
@ -358,12 +361,29 @@ void UIUrho3D::CreateCompass()
|
||||
|
||||
compass_frame = root->CreateChild<Sprite>();
|
||||
compass_frame->SetTexture(cache->GetResource<Texture2D>("UI/compass-frame.png"));
|
||||
compass_frame->SetBlendMode(Urho3D::BLEND_ALPHA);
|
||||
compass_needle = root->CreateChild<Sprite>();
|
||||
compass_needle->SetTexture(cache->GetResource<Texture2D>("UI/compass-needle.png"));
|
||||
compass_needle->SetBlendMode(Urho3D::BLEND_ALPHA);
|
||||
|
||||
compass_changed = true;
|
||||
}
|
||||
|
||||
void UIUrho3D::CreateCalendar()
|
||||
{
|
||||
auto root = context_->GetSubsystem<UI>()->GetRoot();
|
||||
auto* cache = GetSubsystem<ResourceCache>();
|
||||
|
||||
calendar_frame = root->CreateChild<Sprite>();
|
||||
calendar_frame->SetTexture(cache->GetResource<Texture2D>("UI/calendar-frame.png"));
|
||||
calendar_frame->SetBlendMode(Urho3D::BLEND_ALPHA);
|
||||
calendar_needle = root->CreateChild<Sprite>();
|
||||
calendar_needle->SetTexture(cache->GetResource<Texture2D>("UI/calendar-needle.png"));
|
||||
calendar_needle->SetBlendMode(Urho3D::BLEND_ALPHA);
|
||||
|
||||
calendar_changed = true;
|
||||
}
|
||||
|
||||
void UIUrho3D::CreateNewBlockNotification()
|
||||
{
|
||||
auto root = context_->GetSubsystem<UI>()->GetRoot();
|
||||
@ -431,6 +451,33 @@ void UIUrho3D::UpdateCompass(float timeStep, const Vector3 &view_direction)
|
||||
compass_needle->SetRotation(new_angle);
|
||||
}
|
||||
|
||||
void UIUrho3D::UpdateCalendar()
|
||||
{
|
||||
if (calendar_changed)
|
||||
{
|
||||
calendar_needle->SetPriority(-100);
|
||||
calendar_frame->SetPriority(-101);
|
||||
|
||||
// re-position/size calendar
|
||||
float size = 1.0f;
|
||||
if (calendar_type == TBIDC("calendar-large")) size = 1.25f; else if (calendar_type == TBIDC("calendar-small")) size = 0.75f;
|
||||
auto* graphics = GetSubsystem<Graphics>();
|
||||
const int width = graphics->GetWidth() * size;
|
||||
const int height = graphics->GetHeight() * size;
|
||||
calendar_frame->SetPosition({CALENDAR_CENTER_OFFSET(size), CALENDAR_CENTER_OFFSET(size)});
|
||||
calendar_frame->SetSize({CALENDAR_SIZE(size), CALENDAR_SIZE(size)});
|
||||
calendar_frame->SetHotSpot({CALENDAR_SIZE(size) / 2, CALENDAR_SIZE(size) / 2});
|
||||
calendar_frame->SetVisible(calendar_type != TBIDC("calendar-off"));
|
||||
calendar_needle->SetPosition({CALENDAR_CENTER_OFFSET(size), CALENDAR_CENTER_OFFSET(size)});
|
||||
calendar_needle->SetSize({CALENDAR_SIZE(size), CALENDAR_SIZE(size)});
|
||||
calendar_needle->SetHotSpot({CALENDAR_SIZE(size) / 2, CALENDAR_SIZE(size) / 2});
|
||||
calendar_needle->SetVisible(calendar_type != TBIDC("calendar-off"));
|
||||
}
|
||||
|
||||
const float angle = (gameState->top_height + CHAIN_START_DATE_OFFSET) % BLOCKS_PER_GAME_YEAR / (float)BLOCKS_PER_GAME_YEAR;
|
||||
calendar_frame->SetRotation(-angle * 360);
|
||||
}
|
||||
|
||||
void UIUrho3D::AddNotification(const String &s, float relative_size)
|
||||
{
|
||||
notifier.Add(s, relative_size);
|
||||
@ -532,6 +579,7 @@ void UIUrho3D::Update(float timeStep, uint32_t mouse_x, uint32_t mouse_y, uint32
|
||||
UpdateLoadingWalletNotification(w);
|
||||
UpdateQueuedCommandsNotification(w);
|
||||
UpdateCompass(timeStep, view_direction);
|
||||
UpdateCalendar();
|
||||
UpdateNewBlockNotification(timeStep);
|
||||
|
||||
m_mining_checker.do_call([this, &w](){
|
||||
@ -1550,6 +1598,9 @@ void UIUrho3D::ShowOptions()
|
||||
SubscribeToEvent(optionsDialog, E_OPTIONS_COMPASS, [this](StringHash eventType, VariantMap& eventData) {
|
||||
SendEvent(E_CRYPTOCITY_COMPASS, eventData);
|
||||
});
|
||||
SubscribeToEvent(optionsDialog, E_OPTIONS_CALENDAR, [this](StringHash eventType, VariantMap& eventData) {
|
||||
SendEvent(E_CRYPTOCITY_CALENDAR, eventData);
|
||||
});
|
||||
SubscribeToEvent(optionsDialog, E_OPTIONS_SFX_VOLUME, [this](StringHash eventType, VariantMap& eventData) {
|
||||
SendEvent(E_CRYPTOCITY_SFX_VOLUME, eventData);
|
||||
});
|
||||
@ -2276,6 +2327,9 @@ void UIUrho3D::HandleResized(StringHash eventType, VariantMap& eventData)
|
||||
// re-center compass
|
||||
compass_changed = true;
|
||||
|
||||
// re-center calendar
|
||||
calendar_changed = true;
|
||||
|
||||
// re-center new block notification
|
||||
rect = loadingWalletNotificationWidget->GetRect();
|
||||
rect.x = (width / 2 - rect.w / 2);
|
||||
@ -2363,6 +2417,12 @@ void UIUrho3D::SetCompassType(TBID type)
|
||||
compass_changed = true;
|
||||
}
|
||||
|
||||
void UIUrho3D::SetCalendarType(TBID type)
|
||||
{
|
||||
calendar_type = type;
|
||||
calendar_changed = true;
|
||||
}
|
||||
|
||||
void UIUrho3D::HandleFlagInfo(StringHash eventType, VariantMap& eventData)
|
||||
{
|
||||
if (lastUpdateEventsDialog)
|
||||
|
@ -162,6 +162,7 @@ URHO3D_EVENT(E_CRYPTOCITY_PLAY_SFX_ON_NEW_BLOCK, PlaySFXOnNewBlock) { URHO3D_PAR
|
||||
URHO3D_EVENT(E_CRYPTOCITY_ADD_CITY_SPECIALIZATION, AddCitySpecialization) { URHO3D_PARAM(P_SPECIALIZATION, Specialization); }
|
||||
URHO3D_EVENT(E_CRYPTOCITY_INCLUDE_UNMATCHED_TRADES_IN_QUEUED_COMMANDS, IncludeUnmatchedTradesInQueuedCommands) { URHO3D_PARAM(P_INCLUDE, Include); }
|
||||
URHO3D_EVENT(E_CRYPTOCITY_COMPASS, Compass) { URHO3D_PARAM(P_COMPASS, Compass); }
|
||||
URHO3D_EVENT(E_CRYPTOCITY_CALENDAR, Calendar) { URHO3D_PARAM(P_CALENDAR, Calendar); }
|
||||
URHO3D_EVENT(E_CRYPTOCITY_SOW, Sow) { URHO3D_PARAM(P_FLAG, Flag); URHO3D_PARAM(P_CROP, Crop); }
|
||||
URHO3D_EVENT(E_CRYPTOCITY_HARVEST, Harvest) { URHO3D_PARAM(P_FLAG, Flag); }
|
||||
URHO3D_EVENT(E_CRYPTOCITY_RESTORE_MODEL_BACKUP, RestoreModelBackup) { URHO3D_PARAM(P_RESTORE, Restore); }
|
||||
@ -195,6 +196,7 @@ public:
|
||||
bool IsSelectMaterialOpen() const;
|
||||
void SetCameraType(tb::TBID type);
|
||||
void SetCompassType(tb::TBID type);
|
||||
void SetCalendarType(tb::TBID type);
|
||||
bool IsClickPassthroughWidget(tb::TBWidget *w) const;
|
||||
|
||||
private:
|
||||
@ -205,6 +207,7 @@ private:
|
||||
void CreateLoadingWalletNotificationWidget();
|
||||
void CreateQueuedCommandsNotificationWidget();
|
||||
void CreateCompass();
|
||||
void CreateCalendar();
|
||||
void CreateBuildOverviewWidget();
|
||||
void CreateNewBlockNotification();
|
||||
|
||||
@ -217,6 +220,7 @@ private:
|
||||
void UpdateLoadingWalletNotification(const std::shared_ptr<GameWallet> &w);
|
||||
void UpdateQueuedCommandsNotification(const std::shared_ptr<GameWallet> &w);
|
||||
void UpdateCompass(float timeStep, const Urho3D::Vector3 &view_direction);
|
||||
void UpdateCalendar();
|
||||
void UpdateBuildOverview(const boost::optional<std::tuple<uint32_t, std::vector<uint16_t>, std::vector<std::vector<uint8_t>>>> &flagUnderConstruction);
|
||||
void UpdateNewBlockNotification(float timeStep);
|
||||
|
||||
@ -451,6 +455,12 @@ private:
|
||||
tb::TBID compass_type;
|
||||
bool compass_changed;
|
||||
|
||||
Urho3D::SharedPtr<Urho3D::Sprite> calendar_frame;
|
||||
Urho3D::SharedPtr<Urho3D::Sprite> calendar_needle;
|
||||
|
||||
tb::TBID calendar_type;
|
||||
bool calendar_changed;
|
||||
|
||||
UITBWindow *new_block_notification;
|
||||
Urho3D::Timer new_block_timer;
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user