Implement initial engio experiments
This commit is contained in:
@@ -134,9 +134,19 @@ void AIntegrationGameModeBase::UpdateTangibles() {
|
||||
|
||||
void AIntegrationGameModeBase::ExecuteDebuggingCommand(const FString &fs) {
|
||||
if (fs == "\\invokeplayer") {
|
||||
// FlxLockedWrapper w(LockableWrapper);
|
||||
// int64 player = w.GetActor();
|
||||
// w->play_invoke_player(w.Get(), player, datapk);
|
||||
DPrint(TEXT("Trying to invoke 'myfunction' in lua"));
|
||||
FlxLockedWrapper w(LockableWrapper);
|
||||
FlxStreamBuffer sb;
|
||||
sb.write_string("myfunction");
|
||||
sb.write_simple_dynamic_tag(SimpleDynamicTag::NUMBER);
|
||||
sb.write_double(3.0);
|
||||
sb.write_simple_dynamic_tag(SimpleDynamicTag::STRING);
|
||||
sb.write_string("Howdy");
|
||||
sb.write_simple_dynamic_tag(SimpleDynamicTag::BOOLEAN);
|
||||
sb.write_bool(true);
|
||||
std::string_view datapk = sb.view();
|
||||
int64 player = w.GetActor();
|
||||
w->play_invoke_engio(w.Get(), player, datapk.size(), datapk.data());
|
||||
} else {
|
||||
ConsoleOutput.AppendLine(TEXT("Unknown Command"));
|
||||
}
|
||||
|
||||
@@ -4,6 +4,8 @@
|
||||
#include "lpx-basebuffer.hpp"
|
||||
|
||||
|
||||
using FlxSimpleDynamic = SimpleDynamic<std::string>;
|
||||
|
||||
class FlxStreamBufferCore {
|
||||
private:
|
||||
bool err_eof_on_read_;
|
||||
@@ -28,13 +30,13 @@ class FlxStreamBuffer : public BaseBuffer<FlxStreamBufferCore, std::string> {
|
||||
public:
|
||||
using BaseBuffer::BaseBuffer;
|
||||
|
||||
void write_dxyz(const FVector &xyz) {
|
||||
void write_dvector(const FVector &xyz) {
|
||||
write_double(xyz.X);
|
||||
write_double(xyz.Y);
|
||||
write_double(xyz.Z);
|
||||
}
|
||||
|
||||
FVector read_dxyz() {
|
||||
FVector read_dvector() {
|
||||
double x = read_double();
|
||||
double y = read_double();
|
||||
double z = read_double();
|
||||
|
||||
Reference in New Issue
Block a user