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); } }
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); }
public void Write(_root.Array array) { Write(Amf3TypeCode.Array); TypelessWrite(array); }