/[enigma]/enigma/src/world.cc
ViewVC logotype

Diff of /enigma/src/world.cc

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

revision 1.51 by reallysoft, Fri Jun 20 08:42:47 2003 UTC revision 1.52 by dheck, Sat Jun 21 00:38:40 2003 UTC
# Line 68  namespace Line 68  namespace
68      class Signal {      class Signal {
69      public:      public:
70          virtual ~Signal() {};          virtual ~Signal() {};
71          virtual void emit_from (Object *source) = 0;          virtual void emit_from (Object *source, int value) = 0;
72      };      };
73    
74      class SimpleSignal : public Signal {      class SimpleSignal : public Signal {
# Line 77  namespace Line 77  namespace
77          : source (src), destloc(dstloc), message(msg)          : source (src), destloc(dstloc), message(msg)
78          {}          {}
79    
80          void emit_from (Object *src) {          void emit_from (Object *src, int value) {
81              if (source == src) {              if (source == src) {
82                  Object *dst = GetObject (destloc);                  Object *dst = GetObject (destloc);
83                  SendMessage (dst, message);                  SendMessage (dst, message, value);
84              }              }
85          }          }
86      private:      private:
# Line 102  namespace Line 102  namespace
102    
103          void add (Signal *sig) { m_signals.push_back(sig); }          void add (Signal *sig) { m_signals.push_back(sig); }
104    
105          void emit_from (Object *source) {          void emit_from (Object *source, int value) {
106              for (unsigned i=0; i<m_signals.size(); ++i) {              for (unsigned i=0; i<m_signals.size(); ++i) {
107                  m_signals[i]->emit_from (source);                  m_signals[i]->emit_from (source, value);
108              }              }
109          }          }
110      };      };
# Line 996  void world::AddSignal (GridLoc srcloc, G Line 996  void world::AddSignal (GridLoc srcloc, G
996  }  }
997    
998    
999  void world::EmitSignals (Object *src)  void world::EmitSignals (Object *src, int value)
1000  {  {
1001      level->signals.emit_from (src);      level->signals.emit_from (src, value);
1002  }  }
1003    
1004  namespace  namespace

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

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