public void TestStateUpdate() { var sup = new StateUpdateObject(); var created = new RoomObjectObj { disposable = true, id = 27, isHidden = false, lookDirection = Vector3.forward, owner = "test", position = Vector3.one, prefab = "a test thing" }; var updated = new RoomObjectObj { disposable = false, id = 23, isHidden = true, lookDirection = Vector3.back, owner = "test", position = Vector3.down, prefab = "" }; var deleted = 0; var TestSUP = new StateUpdateObject { create = new List <RoomObjectObj>() { created }, update = new List <RoomObjectObj>() { updated }, delete = new List <int>() { deleted }, }; var fbb = new FlatBufferBuilder(1024); var offset = TestSUP.ToBuffer(fbb); fbb.Finish(offset.Value); var bArray = fbb.SizedByteArray(); var bb = new ByteBuffer(bArray); var desObj = StateUpdate.GetRootAsStateUpdate(bb); var passed = CompareStateUpdates(desObj, TestSUP); print("State Update : " + (passed ? "Passed" : "Failed")); }
private bool CompareObjects(RoomObjectObj d1, RoomObjectObj d2) { if (d1 == null) { return(d2 == null); } if (d2 == null) { return(false); } return(d1.disposable == d2.disposable && d1.isHidden == d2.isHidden && d1.position == d2.position && d1.lookDirection == d2.lookDirection && d1.owner == d2.owner && d1.prefab == d2.prefab); }
private void TestRoomObject() { var TestObj = new RoomObjectObj { disposable = true, id = 27, isHidden = false, lookDirection = Vector3.forward, owner = "test", position = Vector3.one, prefab = "a test thing" }; var fbb = new FlatBufferBuilder(1024); var offset = TestObj.ToBuffer(fbb); fbb.Finish(offset.Value); var bArray = fbb.SizedByteArray(); var bb = new ByteBuffer(bArray); var desObj = RoomObject.GetRootAsRoomObject(bb); print("Room Object Test : " + (CompareRoomObjects(TestObj, desObj) ? "Passed" : "Failed")); }
/// <summary> /// Creates a local copy of a remote object /// </summary> /// <param name="newObj"></param> private void CreateObject(RoomObjectObj newObj, RoomStateGen state) { print("Creating object " + newObj.name); ITrackable tracker; GameObject go; if (prefabNames.Contains(newObj.prefab)) { go = Instantiate <GameObject>(prefabs[prefabNames.IndexOf(newObj.prefab)]); tracker = go.GetComponent <ITrackable>(); } else { go = new GameObject("Prefab " + newObj.prefab + " not found"); tracker = go.AddComponent <NStateTracker>(); } tracker.id = newObj.id; tracker.prefab = newObj.prefab; trackers.Add(tracker.id, tracker); state.objects.Add(newObj); roomCreatedObjects.Add(go); tracker.UpdateFromRoomObject(newObj); }
public void TestStateUpdate() { var sup = new StateUpdateObject(); var created = new RoomObjectObj { disposable = true, id = 27, isHidden = false, lookDirection = Vector3.forward, owner = "test", position = Vector3.one, prefab = "a test thing" }; var updated = new RoomObjectObj { disposable = false, id = 23, isHidden = true, lookDirection = Vector3.back, owner = "test", position = Vector3.down, prefab = "" }; var deleted = 0; var TestAnnotation = new AnnotationObject { isValid = true, lineId = "testLine", positions = new[] { Vector3.one }, userId = "testUser" }; TargetPlacementObject poi = new TargetPlacementObject { id = 0, isValid = true, name = "testPoi", position = Vector3.one }; var sitedrive = "SomeSiteDrive"; var TestSUP = new StateUpdateObject { poiPlacementObject = poi, annotationObjects = new List <AnnotationObject>() { TestAnnotation }, create = new List <RoomObjectObj>() { created }, update = new List <RoomObjectObj>() { updated }, delete = new List <int>() { deleted }, siteDrive = sitedrive }; var fbb = new FlatBufferBuilder(1024); var offset = TestSUP.ToBuffer(fbb); fbb.Finish(offset.Value); var bArray = fbb.SizedByteArray(); var bb = new ByteBuffer(bArray); var desObj = StateUpdate.GetRootAsStateUpdate(bb); var passed = CompareStateUpdates(desObj, TestSUP); print("State Update : " + (passed ? "Passed" : "Failed")); }
private bool TestStateUpdateMessage() { var sup = new StateUpdateObject(); var created = new RoomObjectObj { disposable = true, id = 27, isHidden = false, lookDirection = Vector3.forward, owner = "test", position = Vector3.one, prefab = "a test thing" }; var updated = new RoomObjectObj { disposable = false, id = 23, isHidden = true, lookDirection = Vector3.back, owner = "test", position = Vector3.down, prefab = "" }; var deleted = 0; var TestAnnotation = new AnnotationObject { isValid = true, lineId = "testLine", positions = new[] { Vector3.one }, userId = "testUser" }; TargetPlacementObject poi = new TargetPlacementObject { id = 0, isValid = true, name = "testPoi", position = Vector3.one }; var sitedrive = "SomeSiteDrive"; var TestSUP = new StateUpdateObject { poiPlacementObject = poi, annotationObjects = new List <AnnotationObject>() { TestAnnotation }, create = new List <RoomObjectObj>() { created }, update = new List <RoomObjectObj>() { updated }, delete = new List <int>() { deleted }, siteDrive = sitedrive }; var buf = ServerMessageFactory.BuildMessage(TestSUP); var bb = new ByteBuffer(buf); var desMsg = ServerMessage.GetRootAsServerMessage(bb); var passed = true; passed &= desMsg.DataType == msg.StateUpdate; if (passed) { passed &= CompareStateUpdates(desMsg.Data <StateUpdate>().Value, TestSUP); } return(passed); }
public void UpdateFromRoomObject(RoomObjectObj stateRoomObject) { //should call moveto and lookat }