载入中...
搜索中...
未找到

手牌:扇形布局 + 悬浮 + 拖拽 + 落区判定 + 渲染。 更多...

#include <CardTypes.h>

类 eve::card::Hand 继承关系图:

struct  Drag
 拖拽内部状态(勿直接修改)。 更多...
 
struct  Membership
 有序手牌列表。 更多...
 
struct  Meta
 所有者与布局/交互开关。 更多...
 

Public 成员函数

void release () override
 
void addCard (CardData *c)
 手牌增删与查询。
 
bool removeCard (CardData *c)
 
void clear ()
 
int count ()
 
CardDataget (int index)
 
CardDatafind (const std::string &id)
 
CardDatapick (float px, float py)
 命中检测:返回 (px,py) 处最上层卡牌。
 
void slotTransform (int i, int n, float &ox, float &oy, float &angle)
 第 i 张(共 n 张)的扇形目标位置(牌中心)。
 
void update (float dt, float mx, float my, bool down, const std::vector< Zone * > &zones, std::vector< CardEvent > &out)
 每帧推进:布局 + 悬浮 + 拖拽状态机,产出事件到 out。
 
void render (graphics::Graphics *gfx)
 绘制整手牌。
 

静态 Public 成员函数

static HandcreateHand ()
 创建并触摸全部组件。
 

详细描述

手牌:扇形布局 + 悬浮 + 拖拽 + 落区判定 + 渲染。

在文件 CardTypes.h223 行定义.

成员函数说明

◆ addCard()

void eve::card::Hand::addCard ( CardData c)

手牌增删与查询。

在文件 CardTypes.cpp324 行定义.

引用了 c, eve::card::Disabled , 以及 eve::card::Hand.

◆ clear()

void eve::card::Hand::clear ( )

在文件 CardTypes.cpp347 行定义.

引用了 d.

◆ count()

int eve::card::Hand::count ( )
inline

在文件 CardTypes.h261 行定义.

◆ createHand()

Hand * eve::card::Hand::createHand ( )
static

创建并触摸全部组件。

在文件 CardTypes.cpp316 行定义.

引用了 h.

被这些函数引用 eve::card::Card::newHand().

◆ find()

CardData * eve::card::Hand::find ( const std::string &  id)

在文件 CardTypes.cpp360 行定义.

引用了 c , 以及 id.

◆ get()

CardData * eve::card::Hand::get ( int  index)

在文件 CardTypes.cpp354 行定义.

◆ pick()

CardData * eve::card::Hand::pick ( float  px,
float  py 
)

命中检测:返回 (px,py) 处最上层卡牌。

在文件 CardTypes.cpp366 行定义.

引用了 px.

被这些函数引用 update().

◆ release()

void eve::card::Hand::release ( )
inlineoverride

在文件 CardTypes.h227 行定义.

被这些函数引用 update().

◆ removeCard()

bool eve::card::Hand::removeCard ( CardData c)

在文件 CardTypes.cpp336 行定义.

引用了 c.

◆ render()

void eve::card::Hand::render ( graphics::Graphics gfx)

绘制整手牌。

在文件 CardTypes.cpp486 行定义.

引用了 c , 以及 eve::card::renderCard().

◆ slotTransform()

void eve::card::Hand::slotTransform ( int  i,
int  n,
float &  ox,
float &  oy,
float &  angle 
)

第 i 张(共 n 张)的扇形目标位置(牌中心)。

在文件 CardTypes.cpp374 行定义.

引用了 eve::card::LayoutConfig::arcHeight, eve::card::LayoutConfig::cardW, d, eve::card::LayoutConfig::handX, eve::card::LayoutConfig::handY, n, eve::card::LayoutConfig::rotationAngle , 以及 eve::card::LayoutConfig::spacing.

被这些函数引用 update().

◆ update()

void eve::card::Hand::update ( float  dt,
float  mx,
float  my,
bool  down,
const std::vector< Zone * > &  zones,
std::vector< CardEvent > &  out 
)

该类的文档由以下文件生成: