コード例 #1
0
        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();
        }
コード例 #2
0
 public BlobSerializer(SerializeAction serializeAction,
                       DeserializeAction deserializeAction,
                       CanSerializeAction canDeserializeAction)
 {
     _serializeAction      = serializeAction;
     _deserializeAction    = deserializeAction;
     _canDeserializeAction = canDeserializeAction;
 }
コード例 #3
0
        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();
            }
        }
コード例 #4
0
        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;
                    }
                }
            }
        }
コード例 #5
0
            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);
            }
コード例 #6
0
 private static extern bool SerializeAdapter_supportAction(IntPtr nativeRef, SerializeAction action);
コード例 #7
0
 private static extern IntPtr SerializeAdapter_getURLAdapter(string url, SerializeAction action, AdapterFlags flags, string password);
コード例 #8
0
 public EventSerializeProcessingArgs(object AActiveObject, SerializeAction ASerializeAction)
 {
     ActiveObject    = AActiveObject;
     SerializeAction = ASerializeAction;
 }
コード例 #9
0
ファイル: ActionsListener.cs プロジェクト: cgWoofus/_Actions
 public void OnBeforeSaveCallBackUnHook(SerializeAction foo)
 {
     OnSave -= foo;
 }
コード例 #10
0
ファイル: NetworkManager.cs プロジェクト: iwiniwin/LastBattle
 public void Init(SerializeAction serializer)
 {
     mSerializer = serializer;
     Close();
 }