public void Deserialize(JSONVehicle _json) { Clear(); m_currentPartID = _json.parts.Count; vehicleName = _json.name; selectedParts.Clear(); foreach (JSONPart jsonPart in _json.parts) { Part prefab = DataManager.instance.GetPrefabFromName(jsonPart.prefabName); if (prefab != null) { Part part = Instantiate(prefab.gameObject, transform).GetComponent <Part>(); part.Deserialize(jsonPart); part.AttachTo(GetPartByID(jsonPart.partTargetId).GetJointFromID(jsonPart.constraintJoint)); } } ComputeCenterOfMass(); }
public JSONVehicle Serialize() { JSONVehicle vehicleJson = new JSONVehicle(); vehicleJson.version = "0.0.1"; vehicleJson.name = vehicleName; vehicleJson.parts = new List <JSONPart>(); for (int i = 1; i < transform.childCount; i++) { Part part = transform.GetChild(i).GetComponent <Part>(); if (part != null) { vehicleJson.parts.Add(part.Serialize()); } } return(vehicleJson); }