Browse Source

- Rather than the Scene raising "onCollision" (which has a short-form for its arguments) for both SceneObject or its behaviors, I've decided to name this "onSelfCollision()" to indicate the different arguments passed i.e. the object itself (self) isn't referred to. Personally I don't like this short-form callback but I can see how it's handy.

MelvMay-GG 12 years ago
parent
commit
cf2ae84

+ 8 - 8
engine/source/2d/scene/Scene.cc

@@ -642,33 +642,33 @@ void Scene::dispatchBeginContactCallbacks( void )
             callOnBehaviors( 4, args );
         }
 
-        // Does the scene object A handle the collision callback?
-        if ( pSceneObjectA->isMethod("onCollision") )            
+        // Does the scene object A handle the self-collision callback?
+        if ( pSceneObjectA->isMethod("onSelfCollision") )            
         {
             // Yes, so perform the script callback on it.
-            Con::executef( pSceneObjectA, 4, "onCollision",
+            Con::executef( pSceneObjectA, 3, "onSelfCollision",
                 pSceneObjectBBuffer,
                 pMiscInfoBuffer );
         }
         else
         {
             // No, so call it on its behaviors.
-            const char* args[3] = { "onCollision", pSceneObjectBBuffer, pMiscInfoBuffer };
+            const char* args[3] = { "onSelfCollision", pSceneObjectBBuffer, pMiscInfoBuffer };
             pSceneObjectA->callOnBehaviors( 3, args );
         }
 
-        // Does the scene object B handle the collision callback?
-        if ( pSceneObjectB->isMethod("onCollision") )            
+        // Does the scene object B handle the self-collision callback?
+        if ( pSceneObjectB->isMethod("onSelfCollision") )            
         {
             // Yes, so perform the script callback on it.
-            Con::executef( pSceneObjectB, 4, "onCollision",
+            Con::executef( pSceneObjectB, 3, "onSelfCollision",
                 pSceneObjectABuffer,
                 pMiscInfoBuffer );
         }
         else
         {
             // No, so call it on its behaviors.
-            const char* args[3] = { "onCollision", pSceneObjectABuffer, pMiscInfoBuffer };
+            const char* args[3] = { "onSelfCollision", pSceneObjectABuffer, pMiscInfoBuffer };
             pSceneObjectB->callOnBehaviors( 3, args );
         }
     }

+ 1 - 1
modules/AquariumToy/1/scripts/aquarium.cs

@@ -141,7 +141,7 @@ function buildAquarium()
 
 //-----------------------------------------------------------------------------
 
-function AquariumBoundary::onCollision(%this, %object, %collisionDetails)
+function AquariumBoundary::onSelfCollision(%this, %object, %collisionDetails)
 {
     if (%object.class $= "FishClass")
         %object.recycle(%this.side);

+ 1 - 1
modules/DeathBallToy/1/scripts/dealsDamageBehavior.cs

@@ -61,7 +61,7 @@ function DealsDamageBehavior::explode(%this, %position)
 
 //-----------------------------------------------------------------------------
 
-function DealsDamageBehavior::onCollision(%this, %object, %collisionDetails)
+function DealsDamageBehavior::onSelfCollision(%this, %object, %collisionDetails)
 {
     %this.dealDamage(%this.strength, %object);
    

+ 1 - 1
modules/TruckToy/1/main.cs

@@ -663,7 +663,7 @@ function TruckToy::createProjectile(%this)
 
 // -----------------------------------------------------------------------------
 
-function TruckProjectile::onCollision(%this, %object, %collisionDetails)
+function TruckProjectile::onSelfCollision(%this, %object, %collisionDetails)
 {   
     // Create an impact explosion at the projectiles position.
     %particlePlayer = new ParticlePlayer();