FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

added on_actor_hit event · Jiloc/UnrealEnginePython@01136fd · GitHub

Repository navigation

Commit 01136fd

Browse files
Roberto De Ioris
committed
added on_actor_hit event
1 parent 9609267 commit 01136fd

2 files changed

Lines changed: 34 additions & 0 deletions

File tree

‎Source/UnrealEnginePython/Public/PyActor.cpp‎

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ APyActor::APyActor()
88
PrimaryActorTick.bCanEverTick = true;
99

1010
this->OnActorBeginOverlap.AddDynamic(this, &APyActor::PyOnActorBeginOverlap);
11+
this->OnActorEndOverlap.AddDynamic(this, &APyActor::PyOnActorEndOverlap);
12+
this->OnActorHit.AddDynamic(this, &APyActor::PyOnActorHit);
1113
this->OnClicked.AddDynamic(this, &APyActor::PyOnActorClicked);
1214

1315
// pre-generate PyUObject (for performance)
@@ -116,6 +118,32 @@ void APyActor::PyOnActorBeginOverlap(AActor *overlapped, AActor *other)
116118
Py_DECREF(ret);
117119
}
118120

121+
void APyActor::PyOnActorEndOverlap(AActor *overlapped, AActor *other)
122+
{
123+
if (!py_actor_instance)
124+
return;
125+
126+
PyObject *ret = PyObject_CallMethod(py_actor_instance, "on_actor_end_overlap", "O", (PyObject *)ue_get_python_wrapper(other));
127+
if (!ret) {
128+
unreal_engine_py_log_error();
129+
return;
130+
}
131+
Py_DECREF(ret);
132+
}
133+
134+
void APyActor::PyOnActorHit(AActor *self_actor, AActor *other, FVector impulse_normal, const FHitResult &hit)
135+
{
136+
if (!py_actor_instance)
137+
return;
138+
139+
PyObject *ret = PyObject_CallMethod(py_actor_instance, "on_actor_hit", "O(fff)(fff)(fff)", (PyObject *)ue_get_python_wrapper(other), impulse_normal.X, impulse_normal.Y, impulse_normal.Z, hit.ImpactPoint.X, hit.ImpactPoint.Y, hit.ImpactPoint.Z, hit.ImpactNormal.X, hit.ImpactNormal.Y, hit.ImpactNormal.Z);
140+
if (!ret) {
141+
unreal_engine_py_log_error();
142+
return;
143+
}
144+
Py_DECREF(ret);
145+
}
146+
119147
void APyActor::PyOnActorClicked(AActor *touched_actor, FKey button_pressed)
120148
{
121149
if (!py_actor_instance)

‎Source/UnrealEnginePython/Public/PyActor.h‎

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,12 @@ class APyActor : public AActor
4747
UFUNCTION()
4848
void PyOnActorBeginOverlap(AActor *overlapped, AActor *other);
4949

50+
UFUNCTION()
51+
void PyOnActorEndOverlap(AActor *overlapped, AActor *other);
52+
53+
UFUNCTION()
54+
void PyOnActorHit(AActor *self_actor, AActor *other, FVector normal_impulse, const FHitResult &hit);
55+
5056
UFUNCTION()
5157
void PyOnActorClicked(AActor *touched_actor, FKey button_pressed);
5258
};

0 commit comments

Comments
 (0)

Back | FazBrowse Home | New Git URL