void Update() { StringBuilder stringBuilder = new StringBuilder(); var current = gyro.attitude; controllerStatus.quaternion = QuaternionSerializable.FromQuaternion(current); CheckTrackpad(); stringBuilder.AppendFormat("Attitude: {0}\nTrigger: {1}\nTrackButton: {2}\nExtra1: {3}\nExtra2: {4}\nExtra3: {5}\nTrackpad: {6}\nTrackpadTouched: {7}\nConnected: {8}", current, controllerStatus.trigger, controllerStatus.trackpadButton, controllerStatus.extra1, controllerStatus.extra2, controllerStatus.extra3, controllerStatus.trackpad.ToVector2(), controllerStatus.trackpadTouched, connectedCant); text.text = stringBuilder.ToString(); if (!IsConnected) { return; } byte[] buffer = new byte[1024]; Stream stream = new MemoryStream(buffer); BinaryFormatter formatter = new BinaryFormatter(); formatter.Serialize(stream, controllerStatus); int bufferSize = 1024; networkController.SendMessage(buffer, bufferSize); }
public static void SaveArItem(Transform arItem) { // Convert the AR item's Unity data into serializable format that can be saved ArItemData arItemData = new ArItemData(); arItemData.ItemType = (int)arItem.GetComponent <ArItem>().ItemType; QuaternionSerializable newQuat = new QuaternionSerializable(); newQuat.Fill(arItem.rotation); arItemData.Orientation = newQuat; var rawGpsPos = XRSessionManager.GetSession().LocalPositionToGps(arItem.position); GpsSerializable gpsPos = new GpsSerializable(); gpsPos.Height = rawGpsPos.Height; gpsPos.Latitude = rawGpsPos.Latitude; gpsPos.Longitude = rawGpsPos.Longitude; arItemData.GpsPos = gpsPos; // Create (almost) unique ID for this AR item string itemId = arItem.GetInstanceID().ToString() + "." + rawGpsPos.Latitude.ToString() + "." + rawGpsPos.Longitude.ToString(); arItemData.Id = itemId; arItem.GetComponent <ArItem> ().Id = itemId; Debug.Log("Added AR item to save data"); ArItemList.Add(arItemData); Save(); }
public GameObjectSerializable(PersistedGameObject _go) { Position = new Vector3Serializable(_go.Position); Rotation = new QuaternionSerializable(_go.Rotation); Scale = new Vector3Serializable(_go.Scale); Enabled = _go.Enabled; }
public static void AddQuaternion(this SerializationInfo info, string name, QuaternionSerializable v) { if (info is null) { throw new ArgumentNullException(nameof(info)); } info.AddValue(name, v); }
static public QuaternionSerializable CreateQuaternionSerializable(Quaternion q) { QuaternionSerializable save = new QuaternionSerializable { x = q.x, y = q.y, z = q.z, w = q.w }; return(save); }
public static MagicCubeSaveData CreateSaveData(MagicCubeManager manager) { MagicCubeSaveData savedata = new MagicCubeSaveData(); //deep copies to be safe. foreach (var cubeTile in manager.GetCubeTileListReference()) { savedata.positions.Add(Vector3Serializable.CreateVector3Serializable(cubeTile.transform.position)); savedata.rotations.Add(QuaternionSerializable.CreateQuaternionSerializable(cubeTile.transform.rotation)); savedata.cubeTileIDs.Add(cubeTile.GetComponent <CubeTileInfo>().GetID()); } foreach (var action in manager.GetUndoListReference()) { savedata.undoActions.Add(ActionSaveData.CreateSaveData(action)); } savedata.magicCubeSize = manager.GetMagicCubeSize(); savedata.time = manager.GetTimePassed(); return(savedata); }
public TransformSerializable(Transform t) { position = new Vector3Serializable(t.localPosition); rotation = new QuaternionSerializable(t.localRotation); scale = new Vector3Serializable(t.localScale); }
public BezierSplinePointSerializable(BezierSplinePoint other) { this.position = other.position; this.rotation = other.rotation; this.controlPoint = other.controlPoint; }