public static void EnumMap <EnumT, MapT>(ref MapT[] enumObjects, SerializeAction <MapT> serialize) { Array enumArray = Enum.GetValues(typeof(EnumT)); if (enumObjects.Length != enumArray.Length) { Array.Resize(ref enumObjects, enumArray.Length); } if (enumObjects == null) { enumObjects = new MapT[enumArray.Length]; } else if (enumObjects.Length != enumArray.Length) { Array.Resize(ref enumObjects, enumArray.Length); } bool[] foldout = GetFoldout(enumObjects); BeginIndent(); for (int i = 0; i < enumArray.Length; i++) { string content = enumArray.GetValue(i).ToString(); if (foldout [i] = EditorGUILayout.Foldout(foldout [i], content)) { serialize(ref enumObjects [i]); } } EndIndent(); }
public BlobSerializer(SerializeAction serializeAction, DeserializeAction deserializeAction, CanSerializeAction canDeserializeAction) { _serializeAction = serializeAction; _deserializeAction = deserializeAction; _canDeserializeAction = canDeserializeAction; }
public static void ArrayField <T>( string content, ref T[] values, SerializeAction <T> elementAction) { if (showEnumArray = EditorGUILayout.Foldout(showEnumArray, content)) { if (values == null) { values = new T[0]; } int size = EditorGUILayout.IntField("Size", values.Length); if (values.Length != size) { Array.Resize(ref values, size); } BeginIndent(); if (showElements == null) { showElements = new bool[values.Length]; } else if (showElements.Length != values.Length) { Array.Resize <bool>(ref showElements, values.Length); } for (int i = 0; i < values.Length; i++) { if (showElements [i] = EditorGUILayout.Foldout(showElements [i], "Element " + i.ToString())) { elementAction(ref values [i]); } } EndIndent(); } }
protected async Task PerformTask(SerializeAction serializeTask) { var success = false; //perform the task up to MAX_RETRY_ATTEMPTS attempts, while (!success && serializeTask.AttemptCount < MaxRetryAttempts) { try { await serializeTask.Perform(); success = true; } catch (Exception ex) { if (ex.GetType() == typeof(InternalServerException)) { //if any exception occurs, we might retry if (serializeTask.AttemptCount >= MaxRetryAttempts) { //to many times, bubble up exception throw; } //try again success = false; //delay between retry attempts await Task.Delay(RetryDelayMs); } else { throw; } } } }
public static SerializeAdapter GetURLAdapter(string url, SerializeAction action = SerializeAction.INPUT, AdapterFlags flags = AdapterFlags.DEFAULT, string password = "") { SerializeAdapter adapter = new SerializeAdapter(SerializeAdapter_getURLAdapter(url, action, flags, password)); return(adapter); }
private static extern bool SerializeAdapter_supportAction(IntPtr nativeRef, SerializeAction action);
private static extern IntPtr SerializeAdapter_getURLAdapter(string url, SerializeAction action, AdapterFlags flags, string password);
public EventSerializeProcessingArgs(object AActiveObject, SerializeAction ASerializeAction) { ActiveObject = AActiveObject; SerializeAction = ASerializeAction; }
public void OnBeforeSaveCallBackUnHook(SerializeAction foo) { OnSave -= foo; }
public void Init(SerializeAction serializer) { mSerializer = serializer; Close(); }