private void Export() { var data = ParseDronePart(currentPart); var blueprint = ScriptableObject.CreateInstance <EntityBlueprint>(); JsonUtility.FromJsonOverwrite(DroneWorkshop.ParseDronePart(currentPart).drone, blueprint); blueprint.parts = new List <EntityBlueprint.PartInfo>(); foreach (ShipBuilderPart part in cursorScript.parts) { blueprint.parts.Add(part.info); } data.drone = JsonUtility.ToJson(blueprint); var list = player.GetInventory(); var index = list.FindIndex(x => x.Equals(currentPart)); if (index == -1) { list = player.blueprint.parts; index = list.FindIndex(x => x.Equals(currentPart)); } currentPart.secondaryData = JsonUtility.ToJson(data); list[index] = currentPart; CloseUI(true); #if UNITY_EDITOR if (Input.GetKey(KeyCode.LeftShift)) { ShipBuilder.SaveBlueprint(blueprint); } #endif }
protected override void Start() { data = DroneWorkshop.ParseDronePart(part); blueprint = ScriptableObject.CreateInstance <EntityBlueprint>(); JsonUtility.FromJsonOverwrite(data.drone, blueprint); base.Start(); }
public string GetCurrentJSON() { var data = ScriptableObject.CreateInstance <DroneSpawnData>(); JsonUtility.FromJsonOverwrite(JsonUtility.ToJson(ParseDronePart(currentPart)), data); var blueprint = ScriptableObject.CreateInstance <EntityBlueprint>(); JsonUtility.FromJsonOverwrite(DroneWorkshop.ParseDronePart(currentPart).drone, blueprint); blueprint.parts = new List <EntityBlueprint.PartInfo>(); foreach (ShipBuilderPart part in cursorScript.parts) { blueprint.parts.Add(part.info); } data.drone = JsonUtility.ToJson(blueprint); return(JsonUtility.ToJson(data)); }