Пример #1
0
        public void TypelessWriteArray(_root.Array array)
        {
            if (TrackArrayReferences)
            {
                if (CheckObjectTable(array))
                {
                    return;
                }

                StoreObject(array);
            }
            else
            {
                StoreObject(null);
            }

            TypelessWrite((array.length << 1) | 1);

            var dc = (PlayScript.IDynamicClass)array;

            WriteDynamicClass(dc);

            foreach (object i in array)
            {
                Write(i);
            }
        }
Пример #2
0
        public _root.Array ReadArray()
        {
            int num = ReadInteger();

            if ((num & 1) == 0)
            {
                return((_root.Array)GetTableEntry(objectTable, num >> 1));
            }

            num >>= 1;

            var array = new _root.Array(num);

            objectTable.Add(array);

            string key = ReadString();

            while (key != "")
            {
                object value = ReadNextObject();
                array[key] = value;

                key = ReadString();
            }

            for (int i = 0; i < num; i++)
            {
                array[i] = ReadNextObject();
            }

            return(array);
        }
Пример #3
0
 public void Write(_root.Array array)
 {
     Write(Amf3TypeCode.Array);
     TypelessWrite(array);
 }