2726 |
private: |
private: |
2727 |
enum State { NOCOLOR, WHITE, BLACK } state; |
enum State { NOCOLOR, WHITE, BLACK } state; |
2728 |
|
|
2729 |
|
void init_model() { |
2730 |
|
switch (state) { |
2731 |
|
case NOCOLOR: set_model("st-yinyang1"); break; |
2732 |
|
case WHITE: set_model("st-white1"); break; |
2733 |
|
case BLACK: set_model("st-black1"); break; |
2734 |
|
} |
2735 |
|
} |
2736 |
|
|
2737 |
void actor_hit(const StoneContact &sc) |
void actor_hit(const StoneContact &sc) |
2738 |
{ |
{ |
2739 |
if (state==NOCOLOR) { |
if (state==NOCOLOR) { |
2740 |
if (sc.actor->get_attrib("blackball")) { |
if (sc.actor->get_attrib("blackball")) { |
2741 |
state = WHITE; |
state = WHITE; |
2742 |
set_model("st-white1"); |
init_model(); |
2743 |
sound::PlaySound("st-magic"); |
sound::PlaySound("st-magic"); |
2744 |
} |
} |
2745 |
else if (sc.actor->get_attrib("whiteball")) { |
else if (sc.actor->get_attrib("whiteball")) { |
2746 |
state = BLACK; |
state = BLACK; |
2747 |
set_model("st-black1"); |
init_model(); |
2748 |
sound::PlaySound("st-magic"); |
sound::PlaySound("st-magic"); |
2749 |
} |
} |
2750 |
} |
} |
2772 |
private: |
private: |
2773 |
enum State { NOCOLOR, WHITE, BLACK } state; |
enum State { NOCOLOR, WHITE, BLACK } state; |
2774 |
|
|
2775 |
|
void init_model() { |
2776 |
|
switch (state) { |
2777 |
|
case NOCOLOR: set_model("st-yinyang2"); break; |
2778 |
|
case WHITE: set_model("st-white1"); break; |
2779 |
|
case BLACK: set_model("st-black1"); break; |
2780 |
|
} |
2781 |
|
} |
2782 |
|
|
2783 |
void actor_hit(const StoneContact &sc) |
void actor_hit(const StoneContact &sc) |
2784 |
{ |
{ |
2785 |
if (state==NOCOLOR) { |
if (state==NOCOLOR) { |
2786 |
if (sc.actor->get_attrib("blackball")) { |
if (sc.actor->get_attrib("blackball")) { |
2787 |
state = BLACK; |
state = BLACK; |
2788 |
set_model("st-black1"); |
init_model(); |
2789 |
sound::PlaySound("st-magic"); |
sound::PlaySound("st-magic"); |
2790 |
} |
} |
2791 |
else if (sc.actor->get_attrib("whiteball")) { |
else if (sc.actor->get_attrib("whiteball")) { |
2792 |
state = WHITE; |
state = WHITE; |
2793 |
set_model("st-white1"); |
init_model(); |
2794 |
sound::PlaySound("st-magic"); |
sound::PlaySound("st-magic"); |
2795 |
} |
} |
2796 |
} |
} |