added follow route

This commit is contained in:
shinichi
2020-09-18 16:31:19 +02:00
parent 7842baafb4
commit 6d0439fab3
2 changed files with 49 additions and 13 deletions

View File

@@ -159,12 +159,12 @@ namespace RH_Engine
return JsonConvert.SerializeObject(Payload(payload));
}
public string MoveTo(string uuid, float[] positionVector, float rotateValue, float speedValue, float timeValue)
public string MoveTo(string uuid, float[] positionVector, string rotateValue, float speedValue, float timeValue)
{
return MoveTo(uuid, "idk", positionVector, rotateValue, "linear", false, speedValue, timeValue);
}
private string MoveTo(string uuid, string stopValue, float[] positionVector, float rotateValue, string interpolateValue, bool followHeightValue, float speedValue, float timeValue)
private string MoveTo(string uuid, string stopValue, float[] positionVector, string rotateValue, string interpolateValue, bool followHeightValue, float speedValue, float timeValue)
{
dynamic payload = new
{
@@ -184,7 +184,6 @@ namespace RH_Engine
return JsonConvert.SerializeObject(Payload(payload));
}
public string RouteCommand()
{
ImprovedPerlin improvedPerlin = new ImprovedPerlin(4325, LibNoise.NoiseQuality.Best);
@@ -232,6 +231,37 @@ namespace RH_Engine
return JsonConvert.SerializeObject(Payload(payload));
}
public string RouteFollow(string routeID, string nodeID, float speedValue)
{
return RouteFollow(routeID, nodeID, speedValue, new float[] { 0, 0, 0 });
}
public string RouteFollow(string routeID, string nodeID, float speedValue, float[] positionOffsetVector)
{
return RouteFollow(routeID, nodeID, speedValue, 0, "XYZ", 1, true, new float[] { 0, 0, 0 }, positionOffsetVector);
}
private string RouteFollow(string routeID, string nodeID, float speedValue, float offsetValue, string rotateValue, float smoothingValue, bool followHeightValue, float[] rotateOffsetVector, float[] positionOffsetVector)
{
dynamic payload = new
{
id = "route/follow",
data = new
{
route = routeID,
node = nodeID,
speed = speedValue,
offset = offsetValue,
rotate = rotateValue,
smoothing = smoothingValue,
followHeight = followHeightValue,
rotateOffset = rotateOffsetVector,
positionOffset = positionOffsetVector
}
};
return JsonConvert.SerializeObject(Payload(payload));
}
private float[] GetPos(float n, ImprovedPerlin improvedPerlin)
{
float[] res = new float[] { improvedPerlin.GetValue(n) * 50, 0, improvedPerlin.GetValue(n) * 50 };
@@ -241,7 +271,7 @@ namespace RH_Engine
private int[] GetDir()
{
Random rng = new Random();
int[] dir = {rng.Next(50), 0, rng.Next(50)};
int[] dir = { rng.Next(50), 0, rng.Next(50) };
return dir;
}

View File

@@ -15,11 +15,11 @@ namespace RH_Engine
{
private static PC[] PCs = {
//new PC("DESKTOP-M2CIH87", "Fabian"),
//new PC("T470S", "Shinichi"),
new PC("DESKTOP-DHS478C", "semme")
new PC("T470S", "Shinichi"),
//new PC("DESKTOP-DHS478C", "semme")
//new PC("DESKTOP-TV73FKO", "Wouter"),
//new PC("DESKTOP-SINMKT1", "Ralf"),
//new PC("NA", "Bart")
//new PC("NA", "Bart")
};
private static void Main(string[] args)
{
@@ -103,12 +103,18 @@ namespace RH_Engine
CreateGraphics createGraphics = new CreateGraphics(tunnelID);
WriteTextMessage(stream, createGraphics.RouteCommand());
Console.WriteLine("data: " + ReadPrefMessage(stream));
//WriteTextMessage(stream, createGraphics.GetSceneInfoCommand());
//add monkey head
//WriteTextMessage(stream, createGraphics.AddModel("Face", "data\\vrlib\\rendermodels\\face\\face.obj", new float[] { 0, 3, 0 }, 10, new float[] { 0, 0, 0 }));
//string headUuid = getUUIDFormResponse(ReadPrefMessage(stream));
for (int i = 0; i < 10; i++)
{
string routeUUID = CreateRoute(stream, createGraphics);
//WriteTextMessage(stream, createGraphics.GetSceneInfoCommand());
//add monkey head
WriteTextMessage(stream, createGraphics.AddModel("Face", "data\\vrlib\\rendermodels\\face\\face.obj", new float[] { 0, 3, 0 }, 10, new float[] { 0, 0, 0 }));
string headUuid = getUUIDFromResponse(ReadPrefMessage(stream));
WriteTextMessage(stream, createGraphics.RouteFollow(routeUUID, headUuid, 5, new float[] { 0, 3, 0 }));
ReadPrefMessage(stream);
}