Dawn/archive/dawnpokergame/ui/PokerPlayerDisplay.hpp
2023-03-14 22:27:46 -07:00

48 lines
1.2 KiB
C++

// Copyright (c) 2022 Dominic Masters
//
// This software is released under the MIT License.
// https://opensource.org/licenses/MIT
#pragma once
#include "ui/UILabel.hpp"
#include "ui/UIEmpty.hpp"
#include "ui/UIBorder.hpp"
#include "poker/PokerPlayer.hpp"
#include "asset/AssetManager.hpp"
#include "asset/assets/TrueTypeAsset.hpp"
#include "display/animation/SimpleAnimation.hpp"
#include "ui/PokerGameBorder.hpp"
namespace Dawn {
class PokerPlayerDisplay : public UIEmpty {
private:
SimpleAnimation<int32_t> animChips;
int32_t animChipsValue;
protected:
PokerPlayer *player = nullptr;
UILabel labelName;
UILabel labelChips;
UIEmpty borderInner;
UIBorder border;
TrueTypeAsset *font;
void onPlayerChipsChanged();
void onSceneUpdate();
public:
static std::vector<Asset*> getAssets(AssetManager *assMan) {
std::vector<Asset*> assets;
assets = PokerGameBorder::getAssets(assMan);
assets.push_back(assMan->get<TrueTypeAsset>("truetype_alice"));
return assets;
}
PokerPlayerDisplay(UICanvas *canvas);
void setPlayer(PokerPlayer *player);
~PokerPlayerDisplay();
};
}