1 #ifndef SAKIIRS_CHANCE_H 2 #define SAKIIRS_CHANCE_H 33 virtual const Choices &choices()
const = 0;
50 return handle(static_cast<G &>(girl), table, mount, action);
65 mChoices.setIrsCheck(mode);
68 const Choices &choices()
const override 75 setMode(action.mask());
76 girl.onIrsChecked(table, mount);
77 return {
true,
nullptr };
82 return mChoices.irsCheck().list.at(index);
85 void setAbleAt(
int index,
bool v)
88 mode.list[
static_cast<size_t>(index)].setAble(v);
89 mChoices.setIrsCheck(mode);
92 void setOnAt(
int index,
bool v)
95 mode.list[
static_cast<size_t>(index)].setOn(v);
96 mChoices.setIrsCheck(mode);
100 void setMode(
unsigned mask)
103 for (
size_t i = 0; i < mode.list.size(); i++) {
104 bool on = mask & (1 << (mode.list.size() - 1 - i));
105 mode.list[i].setOn(on);
108 mChoices.setIrsCheck(mode);
130 const Choices &choices()
const override 132 return mCheck ? checkChoices() : mChoicesClick;
135 const Choices &checkChoices()
const 142 switch (action.act()) {
143 case ActCode::IRS_CLICK:
145 return {
true, mPtrToMem };
146 case ActCode::IRS_CHECK:
150 return {
false,
nullptr };
154 void setClickHost(
Choices normal)
156 mChoicesClick.setIrsClick(normal);
171 #endif // SAKIIRS_CHANCE_H Definition: irs_ctrl.h:43
Definition: irs_ctrl.h:121
Choice set of one player.
Definition: choices.h:122
Definition: irs_ctrl.h:29
Definition: irs_ctrl.h:60
Definition: choices.h:130
Wrapper of a "T Girl::*" value where T implements IrsCtrl.
Definition: girl.h:77
Definition: irs_ctrl.h:18
Base class for skill implementation.
Definition: girl.h:35