private void HandleNavigateTo(Message message) { var data = message.Deserialize <NavigateToPacket>(); if (data != null) { navComponent.SetDestination(TundraVector3.Create(data.Destination.X, data.Destination.Y, data.Destination.Z)); } }
public void LoadLevel(string levelName) { NavMeshQuery = NavMeshSerializer.CreateMeshQuery(NavMeshSerializer.Deserialize("Levels/" + levelName + ".nav")); //The YOffset requires the world to have a valid NavMesh-Position at (0,0,0) Pathfinder.YOffset = Pathfinder.GetClosestPointOnNavMesh(NavMeshQuery, TundraVector3.Create(0f, 0f, 0f)).Y; AddEntity(new Monster { Name = "Monster", Position = TundraVector3.Zero }); }
private static TundraVector3 ArrayToPosition(float[] pos, int start = 0) { return(TundraVector3.Create(pos[start], pos[start + 1] - YOffset, pos[start + 2])); }