Revision: 4640
          http://cel.svn.sourceforge.net/cel/?rev=4640&view=rev
Author:   jorrit
Date:     2012-01-12 10:46:01 +0000 (Thu, 12 Jan 2012)
Log Message:
-----------
It is now possible to clear the player in the ELCM so that you can make
it stop working again.

Modified Paths:
--------------
    cel/trunk/include/celtool/ticktimer.h
    cel/trunk/plugins/tools/elcm/elcm.cpp

Modified: cel/trunk/include/celtool/ticktimer.h
===================================================================
--- cel/trunk/include/celtool/ticktimer.h       2012-01-11 14:27:23 UTC (rev 
4639)
+++ cel/trunk/include/celtool/ticktimer.h       2012-01-12 10:46:01 UTC (rev 
4640)
@@ -45,8 +45,11 @@
   void SetRepeat (bool repeat) { celPeriodicTimer::repeat = repeat; }
   void SetPL (iCelPlLayer* pl)
   {
+    if (wref_physical_layer)
+      wref_physical_layer->RemoveCallbackOnce (scfiCelTimerListener, 
CEL_EVENT_PRE);
     wref_physical_layer = pl;
-    pl->CallbackOnce (scfiCelTimerListener, tick, CEL_EVENT_PRE);
+    if (wref_physical_layer)
+      wref_physical_layer->CallbackOnce (scfiCelTimerListener, tick, 
CEL_EVENT_PRE);
   }
 
 private:

Modified: cel/trunk/plugins/tools/elcm/elcm.cpp
===================================================================
--- cel/trunk/plugins/tools/elcm/elcm.cpp       2012-01-11 14:27:23 UTC (rev 
4639)
+++ cel/trunk/plugins/tools/elcm/elcm.cpp       2012-01-12 10:46:01 UTC (rev 
4640)
@@ -415,8 +415,18 @@
 void celELCM::SetPlayer (iCelEntity* entity)
 {
   player = entity;
-  playerCamera = celQueryPropertyClassEntity<iPcCamera> (player);
-  playerMesh = celQueryPropertyClassEntity<iPcMesh> (player);
+  if (player)
+  {
+    playerCamera = celQueryPropertyClassEntity<iPcCamera> (player);
+    playerMesh = celQueryPropertyClassEntity<iPcMesh> (player);
+    SetPL (pl);        // Set the periodic timer.
+  }
+  else
+  {
+    playerCamera = 0;
+    playerMesh = 0;
+    SetPL (0); // Clear the periodic timer.
+  }
   UpdateActiveEntities ();
 }
 

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.


------------------------------------------------------------------------------
RSA(R) Conference 2012
Mar 27 - Feb 2
Save $400 by Jan. 27
Register now!
http://p.sf.net/sfu/rsa-sfdev2dev2
_______________________________________________
Cel-cvs-update mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/cel-cvs-update

Reply via email to