public void Unpack(DataUnpacker unpacker) { this.timeline = new HamTimeline(); this.timeline.Unpack(unpacker); int varSize; unpacker.Unpack(out varSize); for (int i = 0; i < varSize; ++i) { int key; unpacker.Unpack(out key); VariableValue val = new VariableValue(); val.Unpack(unpacker); this.variables[key] = val; } unpacker.Unpack(out this.currentNodeID); unpacker.Unpack(out this.currentSceneID); int charSize; unpacker.Unpack(out charSize); for (int i = 0; i < charSize; ++i) { int next; unpacker.Unpack(out next); this.currentCharactersInScene.Add(next); } int historySize; unpacker.Unpack(out historySize); for (int i = 0; i < historySize; ++i) { int history; unpacker.Unpack(out history); this.nodeHistory.Add(history); } }