improve translations for physics types in Script Canvas
Signed-off-by: greerdv <greerdv@amazon.com>
This commit is contained in:
@@ -66,6 +66,17 @@ namespace AzPhysics
|
||||
}
|
||||
}
|
||||
|
||||
// class for exposing free functions to script
|
||||
class SceneQueries
|
||||
{
|
||||
public:
|
||||
AZ_TYPE_INFO(SceneQueries, "{4EFA3DA5-C0E3-4753-8C55-202228CA527E}");
|
||||
AZ_CLASS_ALLOCATOR(SceneQueries, AZ::SystemAllocator, 0);
|
||||
|
||||
SceneQueries() = default;
|
||||
~SceneQueries() = default;
|
||||
};
|
||||
|
||||
/*static*/ void SceneQueryRequest::Reflect(AZ::ReflectContext* context)
|
||||
{
|
||||
if (auto* serializeContext = azdynamic_cast<AZ::SerializeContext*>(context))
|
||||
@@ -95,6 +106,7 @@ namespace AzPhysics
|
||||
->Attribute(AZ::Script::Attributes::Scope, AZ::Script::Attributes::ScopeFlags::Common)
|
||||
->Attribute(AZ::Script::Attributes::Module, "physics")
|
||||
->Attribute(AZ::Script::Attributes::Category, "PhysX")
|
||||
->Attribute(AZ::Script::Attributes::ExcludeFrom, AZ::Script::Attributes::ExcludeFlags::All)
|
||||
->Property("Collision", BehaviorValueProperty(&SceneQueryRequest::m_collisionGroup))
|
||||
// Until enum class support for behavior context is done, expose this as an int
|
||||
->Property("QueryType", [](const SceneQueryRequest& self) { return static_cast<int>(self.m_queryType); },
|
||||
@@ -133,11 +145,28 @@ namespace AzPhysics
|
||||
->Attribute(AZ::Script::Attributes::Scope, AZ::Script::Attributes::ScopeFlags::Common)
|
||||
->Attribute(AZ::Script::Attributes::Module, "physics")
|
||||
->Attribute(AZ::Script::Attributes::Category, "PhysX")
|
||||
->Attribute(AZ::Script::Attributes::ExcludeFrom, AZ::Script::Attributes::ExcludeFlags::All)
|
||||
->Property("Distance", BehaviorValueProperty(&RayCastRequest::m_distance))
|
||||
->Property("Start", BehaviorValueProperty(&RayCastRequest::m_start))
|
||||
->Property("Direction", BehaviorValueProperty(&RayCastRequest::m_direction))
|
||||
->Property("ReportMultipleHits", BehaviorValueProperty(&RayCastRequest::m_reportMultipleHits))
|
||||
;
|
||||
|
||||
behaviorContext->Class<SceneQueries>("SceneQueries")
|
||||
->Attribute(AZ::Script::Attributes::Scope, AZ::Script::Attributes::ScopeFlags::Common)
|
||||
->Attribute(AZ::Script::Attributes::Module, "physics")
|
||||
->Attribute(AZ::Script::Attributes::Category, "PhysX")
|
||||
->Method(
|
||||
"CreateRayCastRequest",
|
||||
[](const AZ::Vector3& start, const AZ::Vector3& direction, float distance, const AZStd::string& collisionGroup)
|
||||
{
|
||||
RayCastRequest request;
|
||||
request.m_start = start;
|
||||
request.m_direction = direction;
|
||||
request.m_distance = distance;
|
||||
request.m_collisionGroup = CollisionGroup(collisionGroup);
|
||||
return request;
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -161,6 +190,7 @@ namespace AzPhysics
|
||||
->Attribute(AZ::Script::Attributes::Scope, AZ::Script::Attributes::ScopeFlags::Common)
|
||||
->Attribute(AZ::Script::Attributes::Module, "physics")
|
||||
->Attribute(AZ::Script::Attributes::Category, "PhysX")
|
||||
->Attribute(AZ::Script::Attributes::ExcludeFrom, AZ::Script::Attributes::ExcludeFlags::All)
|
||||
->Property("Distance", BehaviorValueProperty(&ShapeCastRequest::m_distance))
|
||||
->Property("Start", BehaviorValueProperty(&ShapeCastRequest::m_start))
|
||||
->Property("Direction", BehaviorValueProperty(&ShapeCastRequest::m_direction))
|
||||
@@ -174,7 +204,6 @@ namespace AzPhysics
|
||||
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,
|
||||
@@ -183,7 +212,6 @@ namespace AzPhysics
|
||||
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,
|
||||
@@ -266,6 +294,7 @@ namespace AzPhysics
|
||||
->Attribute(AZ::Script::Attributes::Scope, AZ::Script::Attributes::ScopeFlags::Common)
|
||||
->Attribute(AZ::Script::Attributes::Module, "physics")
|
||||
->Attribute(AZ::Script::Attributes::Category, "PhysX")
|
||||
->Attribute(AZ::Script::Attributes::ExcludeFrom, AZ::Script::Attributes::ExcludeFlags::All)
|
||||
->Property("Pose", BehaviorValueProperty(&OverlapRequest::m_pose))
|
||||
;
|
||||
|
||||
@@ -348,6 +377,7 @@ namespace AzPhysics
|
||||
->Attribute(AZ::Script::Attributes::Scope, AZ::Script::Attributes::ScopeFlags::Common)
|
||||
->Attribute(AZ::Script::Attributes::Module, "physics")
|
||||
->Attribute(AZ::Script::Attributes::Category, "PhysX")
|
||||
->Attribute(AZ::Script::Attributes::ExcludeFrom, AZ::Script::Attributes::ExcludeFlags::All)
|
||||
->Property("Distance", BehaviorValueProperty(&SceneQueryHit::m_distance))
|
||||
->Property("Position", BehaviorValueProperty(&SceneQueryHit::m_position))
|
||||
->Property("Normal", BehaviorValueProperty(&SceneQueryHit::m_normal))
|
||||
|
||||
@@ -50,7 +50,10 @@ namespace AzPhysics
|
||||
->Method("GetOnPostsimulateEvent", getOnPostsimulateEvent)
|
||||
->Attribute(AZ::Script::Attributes::AzEventDescription, postsimulateEventDescription)
|
||||
->Method("GetSceneHandle", &SystemInterface::GetSceneHandle)
|
||||
->Method("GetScene", &SystemInterface::GetScene);
|
||||
->Attribute(AZ::Script::Attributes::ExcludeFrom, AZ::Script::Attributes::ExcludeFlags::All)
|
||||
->Method("GetScene", &SystemInterface::GetScene)
|
||||
->Attribute(AZ::Script::Attributes::ExcludeFrom, AZ::Script::Attributes::ExcludeFlags::All)
|
||||
;
|
||||
|
||||
behaviorContext->Method(
|
||||
"GetPhysicsSystem",
|
||||
|
||||
Reference in New Issue
Block a user