Skip to content

Commit

Permalink
Merge pull request #41 from mackysoft/feature/new-object-from-json
Browse files Browse the repository at this point in the history
Restore values from json on create new managed reference
  • Loading branch information
mackysoft committed Dec 31, 2023
2 parents cdcbbed + 59da386 commit e6f57ed
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 5 deletions.
8 changes: 6 additions & 2 deletions .github/workflows/package.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -28,9 +28,13 @@ jobs:

# Build
- name: Build .unitypackage
uses: game-ci/unity-builder@v2
uses: game-ci/unity-builder@v4
env:
UNITY_LICENSE: ${{ secrets.UNITY_LICENSE }}
UNITY_EMAIL: ${{ secrets.UNITY_EMAIL }}
UNITY_PASSWORD: ${{ secrets.UNITY_PASSWORD }}
with:
unityVersion: 2020.3.8f1
unityVersion: 2021.3.29f1
buildMethod: MackySoft.PackageTools.Editor.UnityPackageExporter.Export

# Upload
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,27 @@
using System;
using System.Reflection;
using UnityEditor;
using UnityEngine;

namespace MackySoft.SerializeReferenceExtensions.Editor {
public static class ManagedReferenceUtility {

public static object SetManagedReference (this SerializedProperty property,Type type) {
object obj = (type != null) ? Activator.CreateInstance(type) : null;
property.managedReferenceValue = obj;
return obj;
object result;
if (property.managedReferenceValue != null)
{
// Restore an previous values from json.
string json = JsonUtility.ToJson(property.managedReferenceValue);
result = JsonUtility.FromJson(json, type);
}
else
{
result = (type != null) ? Activator.CreateInstance(type) : null;
}

property.managedReferenceValue = result;
return result;

}

public static Type GetType (string typeName) {
Expand Down

0 comments on commit e6f57ed

Please sign in to comment.