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
    }
Exemple #2
0
 protected override void Start()
 {
     data      = DroneWorkshop.ParseDronePart(part);
     blueprint = ScriptableObject.CreateInstance <EntityBlueprint>();
     JsonUtility.FromJsonOverwrite(data.drone, blueprint);
     base.Start();
 }
Exemple #3
0
    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));
    }