mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-06-27 17:13:54 -07:00
Took 17 minutes Took 3 seconds Took 2 minutes Took 10 minutes Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de>
111 lines
No EOL
2.1 KiB
C++
111 lines
No EOL
2.1 KiB
C++
#include "card_state.h"
|
|
|
|
void CardState::resetState(bool keepAnnotations)
|
|
{
|
|
attacking = false;
|
|
counters.clear();
|
|
pt.clear();
|
|
if (!keepAnnotations) {
|
|
annotation.clear();
|
|
}
|
|
attachedTo = nullptr;
|
|
}
|
|
|
|
void CardState::setZone(CardZoneLogic *_zone)
|
|
{
|
|
if (zone == _zone) {
|
|
return;
|
|
}
|
|
|
|
zone = _zone;
|
|
emit zoneChanged(this, zone);
|
|
emit stateChanged();
|
|
}
|
|
|
|
void CardState::setAttacking(bool _attacking)
|
|
{
|
|
if (attacking == _attacking) {
|
|
return;
|
|
}
|
|
attacking = _attacking;
|
|
emit attackingChanged(_attacking);
|
|
emit stateChanged();
|
|
}
|
|
|
|
void CardState::insertCounter(int id, int value)
|
|
{
|
|
counters.insert(id, value);
|
|
|
|
emit countersChanged(counters);
|
|
emit stateChanged();
|
|
}
|
|
|
|
void CardState::setCounter(int id, int value)
|
|
{
|
|
if (value) {
|
|
counters[id] = value;
|
|
} else {
|
|
counters.remove(id);
|
|
}
|
|
|
|
emit countersChanged(counters);
|
|
emit stateChanged();
|
|
}
|
|
|
|
void CardState::clearCounters()
|
|
{
|
|
counters.clear();
|
|
emit countersChanged(counters);
|
|
emit stateChanged();
|
|
}
|
|
|
|
void CardState::setAnnotation(const QString &_annotation)
|
|
{
|
|
if (annotation == _annotation) {
|
|
return;
|
|
}
|
|
annotation = _annotation;
|
|
emit annotationChanged(annotation);
|
|
emit stateChanged();
|
|
}
|
|
|
|
void CardState::setPT(const QString &_pt)
|
|
{
|
|
if (pt == _pt) {
|
|
return;
|
|
}
|
|
pt = _pt;
|
|
emit ptChanged(pt);
|
|
emit stateChanged();
|
|
}
|
|
|
|
void CardState::setDoesntUntap(bool _doesntUntap)
|
|
{
|
|
if (doesntUntap == _doesntUntap) {
|
|
return;
|
|
}
|
|
doesntUntap = _doesntUntap;
|
|
emit doesntUntapChanged(_doesntUntap);
|
|
emit stateChanged();
|
|
}
|
|
|
|
void CardState::setDestroyOnZoneChange(bool _destroyOnZoneChange)
|
|
{
|
|
if (destroyOnZoneChange == _destroyOnZoneChange) {
|
|
return;
|
|
}
|
|
|
|
destroyOnZoneChange = _destroyOnZoneChange;
|
|
emit destroyOnZoneChangeChanged(_destroyOnZoneChange);
|
|
emit stateChanged();
|
|
}
|
|
|
|
void CardState::setAttachedTo(CardItem *_attachedTo)
|
|
{
|
|
if (attachedTo == _attachedTo) {
|
|
return;
|
|
}
|
|
attachedTo = _attachedTo;
|
|
emit attachedToChanged(_attachedTo);
|
|
emit stateChanged();
|
|
} |