private static void OverwriteWindowFromStoredJson(AssetCreationWindow windowToOverwrite) { if (!String.IsNullOrEmpty(windowToOverwrite.StoredWindowJson)) { JsonUtility.FromJsonOverwrite(windowToOverwrite.StoredWindowJson, windowToOverwrite); } }
public static void Open <WindowType> (Vector2 windowPosition, AssetCreationWindowArgs windowArgs, Action <WindowType> assetCreated) where WindowType : AssetCreationWindow { CloseAllOpenWindows(); AssetCreationWindow window = CreateInstance <WindowType> (); OverwriteWindowFromStoredJson(window); window.position = new Rect(windowPosition, new Vector2(270, 200)); window.ShowPopup(); window.Focus(); window.AssetCreated += creationWindow => assetCreated.Invoke((WindowType)creationWindow); window.Initialize(windowArgs); }