mirror of
https://github.com/Fluorohydride/ygopro.git
synced 2026-10-29 05:26:49 +08:00
95 lines
2.1 KiB
C++
95 lines
2.1 KiB
C++
#ifndef DECK_CON_H
|
|
#define DECK_CON_H
|
|
|
|
#include <string>
|
|
#include <unordered_map>
|
|
#include <vector>
|
|
#include <random>
|
|
#include <irrlicht.h>
|
|
|
|
namespace ygo {
|
|
|
|
struct CardDataC;
|
|
struct LFList;
|
|
|
|
class DeckBuilder: public irr::IEventReceiver {
|
|
public:
|
|
DeckBuilder();
|
|
bool OnEvent(const irr::SEvent& event) override;
|
|
void Initialize();
|
|
void Terminate();
|
|
void GetHoveredCard();
|
|
void FilterCards();
|
|
void StartFilter();
|
|
void ClearFilter();
|
|
void InstantSearch();
|
|
void ClearSearch();
|
|
void SortList();
|
|
|
|
void RefreshDeckList();
|
|
void RefreshReadonly(int catesel);
|
|
void RefreshPackListScroll();
|
|
void ChangeCategory(int catesel);
|
|
void ShowDeckManage();
|
|
void ShowBigCard(int code, float zoom);
|
|
void ZoomBigCard(irr::s32 centerx = -1, irr::s32 centery = -1);
|
|
void CloseBigCard();
|
|
|
|
bool push_main(const CardDataC* pointer, int seq = -1);
|
|
bool push_extra(const CardDataC* pointer, int seq = -1);
|
|
bool push_side(const CardDataC* pointer, int seq = -1);
|
|
void pop_main(int seq);
|
|
void pop_extra(int seq);
|
|
void pop_side(int seq);
|
|
bool check_limit(const CardDataC* pointer);
|
|
|
|
unsigned long long filter_effect{};
|
|
unsigned int filter_type{};
|
|
unsigned int filter_type2{};
|
|
unsigned int filter_attrib{};
|
|
unsigned int filter_race{};
|
|
unsigned int filter_atktype{};
|
|
int filter_atk{};
|
|
unsigned int filter_deftype{};
|
|
int filter_def{};
|
|
unsigned int filter_lvtype{};
|
|
unsigned int filter_lv{};
|
|
unsigned int filter_scltype{};
|
|
unsigned int filter_scl{};
|
|
unsigned int filter_marks{};
|
|
int filter_lm{};
|
|
irr::core::vector2di mouse_pos;
|
|
int hovered_code{};
|
|
int hovered_pos{};
|
|
int hovered_seq{ -1 };
|
|
int is_lastcard{};
|
|
int click_pos{};
|
|
bool is_draging{};
|
|
bool is_starting_dragging{};
|
|
int dragx{};
|
|
int dragy{};
|
|
int bigcard_code{};
|
|
float bigcard_zoom{};
|
|
size_t pre_mainc{};
|
|
size_t pre_extrac{};
|
|
size_t pre_sidec{};
|
|
const CardDataC* draging_pointer{};
|
|
int prev_category{};
|
|
int prev_deck{};
|
|
irr::s32 prev_operation{};
|
|
int prev_sel{ -1 };
|
|
bool is_modified{};
|
|
bool readonly{};
|
|
bool showing_pack{};
|
|
std::mt19937 rnd;
|
|
|
|
const LFList* filterList{};
|
|
std::vector<const CardDataC*> results;
|
|
wchar_t result_string[8]{};
|
|
std::vector<std::wstring> expansionPacks;
|
|
};
|
|
|
|
}
|
|
|
|
#endif //DECK_CON
|