@@ -157,25 +157,38 @@ void APyActor::PyOnActorClicked(AActor *touched_actor, FKey button_pressed)
157157 Py_DECREF (ret);
158158}
159159
160- void APyActor::CallPythonActorMethod (FString method_name)
160+ void APyActor::CallPythonActorMethod (FString method_name, FString args )
161161{
162162 if (!py_actor_instance)
163163 return ;
164164
165- PyObject *ret = PyObject_CallMethod (py_actor_instance, TCHAR_TO_UTF8 (*method_name), NULL );
165+ PyObject *ret = nullptr ;
166+ if (args.IsEmpty ()) {
167+ ret = PyObject_CallMethod (py_actor_instance, TCHAR_TO_UTF8 (*method_name), NULL );
168+ }
169+ else {
170+ ret = PyObject_CallMethod (py_actor_instance, TCHAR_TO_UTF8 (*method_name), " s" , TCHAR_TO_UTF8 (*args));
171+ }
172+
166173 if (!ret) {
167174 unreal_engine_py_log_error ();
168175 return ;
169176 }
170177 Py_DECREF (ret);
171178}
172179
173- bool APyActor::CallPythonActorMethodBool (FString method_name)
180+ bool APyActor::CallPythonActorMethodBool (FString method_name, FString args )
174181{
175182 if (!py_actor_instance)
176183 return false ;
177184
178- PyObject *ret = PyObject_CallMethod (py_actor_instance, TCHAR_TO_UTF8 (*method_name), NULL );
185+ PyObject *ret = nullptr ;
186+ if (args.IsEmpty ()) {
187+ ret = PyObject_CallMethod (py_actor_instance, TCHAR_TO_UTF8 (*method_name), NULL );
188+ }
189+ else {
190+ ret = PyObject_CallMethod (py_actor_instance, TCHAR_TO_UTF8 (*method_name), " s" , TCHAR_TO_UTF8 (*args));
191+ }
179192 if (!ret) {
180193 unreal_engine_py_log_error ();
181194 return false ;
@@ -190,12 +203,18 @@ bool APyActor::CallPythonActorMethodBool(FString method_name)
190203 return false ;
191204}
192205
193- FString APyActor::CallPythonActorMethodString (FString method_name)
206+ FString APyActor::CallPythonActorMethodString (FString method_name, FString args )
194207{
195208 if (!py_actor_instance)
196209 return FString ();
197210
198- PyObject *ret = PyObject_CallMethod (py_actor_instance, TCHAR_TO_UTF8 (*method_name), NULL );
211+ PyObject *ret = nullptr ;
212+ if (args.IsEmpty ()) {
213+ ret = PyObject_CallMethod (py_actor_instance, TCHAR_TO_UTF8 (*method_name), NULL );
214+ }
215+ else {
216+ ret = PyObject_CallMethod (py_actor_instance, TCHAR_TO_UTF8 (*method_name), " s" , TCHAR_TO_UTF8 (*args));
217+ }
199218 if (!ret) {
200219 unreal_engine_py_log_error ();
201220 return FString ();
0 commit comments