Merge branch 'development' into LYN-4501
Signed-off-by: John Jones-Steele <jjjoness@amazon.com>
This commit is contained in:
@@ -3252,6 +3252,7 @@ LUA_API const Node* lua_getDummyNode()
|
||||
else if (Internal::LuaScriptNumber<short>::FromStack(param, result)) return result;
|
||||
else if (Internal::LuaScriptNumber<AZ::s64>::FromStack(param, result)) return result;
|
||||
else if (Internal::LuaScriptNumber<long>::FromStack(param, result)) return result;
|
||||
else if (Internal::LuaScriptNumber<AZ::s8>::FromStack(param, result)) return result;
|
||||
else if (Internal::LuaScriptNumber<unsigned char>::FromStack(param, result)) return result;
|
||||
else if (Internal::LuaScriptNumber<unsigned short>::FromStack(param, result)) return result;
|
||||
else if (Internal::LuaScriptNumber<unsigned int>::FromStack(param, result)) return result;
|
||||
|
||||
@@ -136,6 +136,7 @@ namespace AzPhysics
|
||||
->Property("Distance", BehaviorValueProperty(&RayCastRequest::m_distance))
|
||||
->Property("Start", BehaviorValueProperty(&RayCastRequest::m_start))
|
||||
->Property("Direction", BehaviorValueProperty(&RayCastRequest::m_direction))
|
||||
->Property("ReportMultipleHits", BehaviorValueProperty(&RayCastRequest::m_reportMultipleHits))
|
||||
;
|
||||
}
|
||||
}
|
||||
@@ -153,6 +154,45 @@ namespace AzPhysics
|
||||
->Field("ReportMultipleHits", &ShapeCastRequest::m_reportMultipleHits)
|
||||
;
|
||||
}
|
||||
|
||||
if (auto* behaviorContext = azdynamic_cast<AZ::BehaviorContext*>(context))
|
||||
{
|
||||
behaviorContext->Class<ShapeCastRequest>("ShapeCastRequest")
|
||||
->Attribute(AZ::Script::Attributes::Scope, AZ::Script::Attributes::ScopeFlags::Common)
|
||||
->Attribute(AZ::Script::Attributes::Module, "physics")
|
||||
->Attribute(AZ::Script::Attributes::Category, "PhysX")
|
||||
->Property("Distance", BehaviorValueProperty(&ShapeCastRequest::m_distance))
|
||||
->Property("Start", BehaviorValueProperty(&ShapeCastRequest::m_start))
|
||||
->Property("Direction", BehaviorValueProperty(&ShapeCastRequest::m_direction))
|
||||
;
|
||||
|
||||
behaviorContext->Method(
|
||||
"CreateSphereCastRequest",
|
||||
[](float radius, const AZ::Transform& startPose, const AZ::Vector3& direction, float distance,
|
||||
SceneQuery::QueryType queryType, CollisionGroup collisionGroup)
|
||||
{
|
||||
return ShapeCastRequestHelpers::CreateSphereCastRequest(
|
||||
radius, startPose, direction, distance, queryType, collisionGroup, nullptr);
|
||||
});
|
||||
|
||||
behaviorContext->Method(
|
||||
"CreateBoxCastRequest",
|
||||
[](const AZ::Vector3& boxDimensions, const AZ::Transform& startPose, const AZ::Vector3& direction, float distance,
|
||||
SceneQuery::QueryType queryType, CollisionGroup collisionGroup)
|
||||
{
|
||||
return ShapeCastRequestHelpers::CreateBoxCastRequest(
|
||||
boxDimensions, startPose, direction, distance, queryType, collisionGroup, nullptr);
|
||||
});
|
||||
|
||||
behaviorContext->Method(
|
||||
"CreateCapsuleCastRequest",
|
||||
[](float capsuleRadius, float capsuleHeight, const AZ::Transform& startPose, const AZ::Vector3& direction, float distance,
|
||||
SceneQuery::QueryType queryType, CollisionGroup collisionGroup)
|
||||
{
|
||||
return ShapeCastRequestHelpers::CreateCapsuleCastRequest(
|
||||
capsuleRadius, capsuleHeight, startPose, direction, distance, queryType, collisionGroup, nullptr);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
namespace ShapeCastRequestHelpers
|
||||
@@ -219,6 +259,40 @@ namespace AzPhysics
|
||||
->Field("ShapeConfiguration", &OverlapRequest::m_shapeConfiguration)
|
||||
;
|
||||
}
|
||||
|
||||
if (auto* behaviorContext = azdynamic_cast<AZ::BehaviorContext*>(context))
|
||||
{
|
||||
behaviorContext->Class<OverlapRequest>("OverlapRequest")
|
||||
->Attribute(AZ::Script::Attributes::Scope, AZ::Script::Attributes::ScopeFlags::Common)
|
||||
->Attribute(AZ::Script::Attributes::Module, "physics")
|
||||
->Attribute(AZ::Script::Attributes::Category, "PhysX")
|
||||
->Property("Pose", BehaviorValueProperty(&OverlapRequest::m_pose))
|
||||
;
|
||||
|
||||
behaviorContext->Method(
|
||||
"CreateSphereOverlapRequest",
|
||||
[](float radius, const AZ::Transform& pose)
|
||||
{
|
||||
return OverlapRequestHelpers::CreateSphereOverlapRequest(
|
||||
radius, pose, nullptr);
|
||||
});
|
||||
|
||||
behaviorContext->Method(
|
||||
"CreateBoxOverlapRequest",
|
||||
[](const AZ::Vector3& boxDimensions, const AZ::Transform& pose)
|
||||
{
|
||||
return OverlapRequestHelpers::CreateBoxOverlapRequest(
|
||||
boxDimensions, pose, nullptr);
|
||||
});
|
||||
|
||||
behaviorContext->Method(
|
||||
"CreateCapsuleOverlapRequest",
|
||||
[](float height, float radius, const AZ::Transform& pose)
|
||||
{
|
||||
return OverlapRequestHelpers::CreateCapsuleOverlapRequest(
|
||||
height, radius, pose, nullptr);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
namespace OverlapRequestHelpers
|
||||
|
||||
@@ -48,6 +48,7 @@ namespace AzPhysics
|
||||
->Attribute(AZ::Script::Attributes::Category, "Physics")
|
||||
->Method("GetOnGravityChangeEvent", getOnGravityChange)
|
||||
->Attribute(AZ::Script::Attributes::AzEventDescription, gravityChangedEventDescription)
|
||||
->Method("QueryScene", &Scene::QueryScene)
|
||||
;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -41,7 +41,7 @@ namespace AzPhysics
|
||||
{"Tick time"} // Parameters
|
||||
};
|
||||
|
||||
behaviorContext->Class<SystemInterface>("System Interface")
|
||||
behaviorContext->Class<SystemInterface>("PhysicsSystemInterface")
|
||||
->Attribute(AZ::Script::Attributes::Scope, AZ::Script::Attributes::ScopeFlags::Common)
|
||||
->Attribute(AZ::Script::Attributes::Module, "physics")
|
||||
->Attribute(AZ::Script::Attributes::Category, "PhysX")
|
||||
@@ -49,7 +49,21 @@ namespace AzPhysics
|
||||
->Attribute(AZ::Script::Attributes::AzEventDescription, presimulateEventDescription)
|
||||
->Method("GetOnPostsimulateEvent", getOnPostsimulateEvent)
|
||||
->Attribute(AZ::Script::Attributes::AzEventDescription, postsimulateEventDescription)
|
||||
;
|
||||
->Method("GetSceneHandle", &SystemInterface::GetSceneHandle)
|
||||
->Method("GetScene", &SystemInterface::GetScene);
|
||||
|
||||
behaviorContext->Method(
|
||||
"GetPhysicsSystem",
|
||||
[]()
|
||||
{
|
||||
return AZ::Interface<AzPhysics::SystemInterface>::Get();
|
||||
});
|
||||
|
||||
behaviorContext
|
||||
->Constant("DefaultPhysicsSceneName", BehaviorConstant(DefaultPhysicsSceneName))
|
||||
->Constant("DefaultPhysicsSceneId", BehaviorConstant(DefaultPhysicsSceneId))
|
||||
->Constant("EditorPhysicsSceneName", BehaviorConstant(EditorPhysicsSceneName))
|
||||
->Constant("EditorPhysicsSceneId", BehaviorConstant(EditorPhysicsSceneId));
|
||||
}
|
||||
}
|
||||
} // namespace AzPhysics
|
||||
|
||||
Reference in New Issue
Block a user