diff options
Diffstat (limited to 'OpenSim/Region/Physics/Manager')
-rw-r--r-- | OpenSim/Region/Physics/Manager/PhysicsScene.cs | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/OpenSim/Region/Physics/Manager/PhysicsScene.cs b/OpenSim/Region/Physics/Manager/PhysicsScene.cs index 651992c..635b208 100644 --- a/OpenSim/Region/Physics/Manager/PhysicsScene.cs +++ b/OpenSim/Region/Physics/Manager/PhysicsScene.cs | |||
@@ -32,12 +32,29 @@ using OpenSim.Region.Physics.Manager; | |||
32 | 32 | ||
33 | namespace OpenSim.Region.Physics.Manager | 33 | namespace OpenSim.Region.Physics.Manager |
34 | { | 34 | { |
35 | public delegate void physicsCrash(); | ||
36 | |||
35 | public abstract class PhysicsScene | 37 | public abstract class PhysicsScene |
36 | { | 38 | { |
39 | // The only thing that should register for this event is the InnerScene | ||
40 | // Anything else could cause problems. | ||
41 | |||
42 | public event physicsCrash OnPhysicsCrash; | ||
43 | |||
37 | public static PhysicsScene Null | 44 | public static PhysicsScene Null |
38 | { | 45 | { |
39 | get { return new NullPhysicsScene(); } | 46 | get { return new NullPhysicsScene(); } |
40 | } | 47 | } |
48 | public virtual void TriggerPhysicsBasedRestart() | ||
49 | { | ||
50 | physicsCrash handler = OnPhysicsCrash; | ||
51 | if (handler != null) | ||
52 | { | ||
53 | OnPhysicsCrash(); | ||
54 | } | ||
55 | |||
56 | } | ||
57 | |||
41 | 58 | ||
42 | public abstract void Initialise(IMesher meshmerizer); | 59 | public abstract void Initialise(IMesher meshmerizer); |
43 | 60 | ||