diff --git a/Engine/source/T3D/vehicles/flyingVehicle.cpp b/Engine/source/T3D/vehicles/flyingVehicle.cpp index 8426da2c3..255dbc571 100644 --- a/Engine/source/T3D/vehicles/flyingVehicle.cpp +++ b/Engine/source/T3D/vehicles/flyingVehicle.cpp @@ -348,9 +348,6 @@ bool FlyingVehicle::onAdd() return false; addToScene(); - - if (isServerObject()) - scriptOnAdd(); return true; } @@ -400,7 +397,6 @@ void FlyingVehicle::onRemove() SFX_DELETE( mJetSound ); SFX_DELETE( mEngineSound ); - scriptOnRemove(); removeFromScene(); Parent::onRemove(); } diff --git a/Engine/source/T3D/vehicles/hoverVehicle.cpp b/Engine/source/T3D/vehicles/hoverVehicle.cpp index dbaee9993..cdb080c93 100644 --- a/Engine/source/T3D/vehicles/hoverVehicle.cpp +++ b/Engine/source/T3D/vehicles/hoverVehicle.cpp @@ -512,10 +512,6 @@ bool HoverVehicle::onAdd() } } - - if (isServerObject()) - scriptOnAdd(); - return true; } @@ -526,7 +522,6 @@ void HoverVehicle::onRemove() SFX_DELETE( mEngineSound ); SFX_DELETE( mFloatSound ); - scriptOnRemove(); removeFromScene(); Parent::onRemove(); } diff --git a/Engine/source/T3D/vehicles/wheeledVehicle.cpp b/Engine/source/T3D/vehicles/wheeledVehicle.cpp index 258222847..9dd949bf3 100644 --- a/Engine/source/T3D/vehicles/wheeledVehicle.cpp +++ b/Engine/source/T3D/vehicles/wheeledVehicle.cpp @@ -565,8 +565,6 @@ bool WheeledVehicle::onAdd() return false; addToScene(); - if (isServerObject()) - scriptOnAdd(); return true; } @@ -588,7 +586,6 @@ void WheeledVehicle::onRemove() SFX_DELETE( mSquealSound ); // - scriptOnRemove(); removeFromScene(); Parent::onRemove(); } diff --git a/Engine/source/console/test/ScriptTest.cpp b/Engine/source/console/test/ScriptTest.cpp index 05f0582ff..8bfbbfbab 100644 --- a/Engine/source/console/test/ScriptTest.cpp +++ b/Engine/source/console/test/ScriptTest.cpp @@ -542,7 +542,7 @@ TEST(Script, TorqueScript_Array_Testing) ASSERT_EQ(value2.getInt(), 2); } -TEST(Script, Basic_SimObject) +TEST(Script, SimObject_Tests) { ConsoleValue object = RunScript(R"( return new SimObject(FudgeCollector) @@ -657,6 +657,44 @@ TEST(Script, Basic_SimObject) )"); ASSERT_EQ(fieldOpTest.getInt(), 3); + + ConsoleValue inheritedObjectTest = RunScript(R"( + function SimObject::testClass(%this) + { + return 4; + } + + function SuperFooBar::doSuperTest(%this) + { + return 5; + } + + function FooBar::test(%this) + { + return 2; + } + + new SimObject(GrandFooBar) + { + superClass = "SuperFooBar"; + }; + + new SimObject(Foo : GrandFooBar) + { + class = "FooBar"; + }; + + new SimObject(Bar : Foo); + + function Bar::doTheAddition(%this) + { + return %this.testClass() + %this.test() + %this.doSuperTest(); + } + + return Bar.doTheAddition(); + )"); + + ASSERT_EQ(inheritedObjectTest.getInt(), 11); } TEST(Script, Internal_Name)