手牌:扇形布局 + 悬浮 + 拖拽 + 落区判定 + 渲染。 更多...
#include <CardTypes.h>
类 | |
| struct | Drag |
| 拖拽内部状态(勿直接修改)。 更多... | |
| struct | Membership |
| 有序手牌列表。 更多... | |
| struct | Meta |
| 所有者与布局/交互开关。 更多... | |
Public 成员函数 | |
| void | release () override |
| void | addCard (CardData *c) |
| 手牌增删与查询。 | |
| bool | removeCard (CardData *c) |
| void | clear () |
| int | count () |
| CardData * | get (int index) |
| CardData * | find (const std::string &id) |
| CardData * | pick (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 Hand * | createHand () |
| 创建并触摸全部组件。 | |
详细描述
手牌:扇形布局 + 悬浮 + 拖拽 + 落区判定 + 渲染。
在文件 CardTypes.h 第 223 行定义.
成员函数说明
◆ addCard()
| void eve::card::Hand::addCard | ( | CardData * | c | ) |
◆ clear()
| void eve::card::Hand::clear | ( | ) |
在文件 CardTypes.cpp 第 347 行定义.
引用了 d.
◆ count()
|
inline |
在文件 CardTypes.h 第 261 行定义.
◆ createHand()
|
static |
◆ find()
| CardData * eve::card::Hand::find | ( | const std::string & | id | ) |
在文件 CardTypes.cpp 第 360 行定义.
◆ get()
| CardData * eve::card::Hand::get | ( | int | index | ) |
在文件 CardTypes.cpp 第 354 行定义.
◆ pick()
| CardData * eve::card::Hand::pick | ( | float | px, |
| float | py | ||
| ) |
◆ release()
|
inlineoverride |
在文件 CardTypes.h 第 227 行定义.
被这些函数引用 update().
◆ removeCard()
| bool eve::card::Hand::removeCard | ( | CardData * | c | ) |
在文件 CardTypes.cpp 第 336 行定义.
引用了 c.
◆ render()
| void eve::card::Hand::render | ( | graphics::Graphics * | gfx | ) |
◆ slotTransform()
| void eve::card::Hand::slotTransform | ( | int | i, |
| int | n, | ||
| float & | ox, | ||
| float & | oy, | ||
| float & | angle | ||
| ) |
第 i 张(共 n 张)的扇形目标位置(牌中心)。
在文件 CardTypes.cpp 第 374 行定义.
引用了 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 | ||
| ) |
每帧推进:布局 + 悬浮 + 拖拽状态机,产出事件到 out。
在文件 CardTypes.cpp 第 385 行定义.
引用了 d, eve::card::Disabled, eve::card::LayoutConfig::disabledAlpha, eve::card::Dragging, eve::card::LayoutConfig::dragThreshold, eve::card::Hand, eve::card::Hovered, eve::card::LayoutConfig::hoverLift, eve::card::LayoutConfig::hoverRotation, eve::card::LayoutConfig::hoverScale, eve::card::LayoutConfig::hoverSpeed, eve::card::LayoutConfig::motionSpeed, n, pick(), release(), eve::card::Returning, slotTransform() , 以及 z.
该类的文档由以下文件生成:
- src/modules/card/CardTypes.h
- src/modules/card/CardTypes.cpp