/[enigma]/enigma/objects.cc
ViewVC logotype

Diff of /enigma/objects.cc

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.52 by dheck, Mon Dec 16 20:41:41 2002 UTC revision 1.53 by dheck, Mon Dec 23 11:13:35 2002 UTC
# Line 2726  namespace Line 2726  namespace
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              }              }
# Line 2764  namespace Line 2772  namespace
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              }              }

Legend:
Removed from v.1.52  
changed lines
  Added in v.1.53

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26