2

I'm saving a StringMap to SharedObject using OpenFl

Save to SharedObject

SO.data.users_arr = new StringMap<Dynamic>();
SO.data.users_arr.set("user1",{varOne:1,varTwo:2});

Retrieve from SharedObject

var users_arr : StringMap<Dynamic> = cast(SO.data.users_arr, StringMap<Dynamic>);

The retrieve gives me an error:

[Fault] exception, information=TypeError: Error #1034: Type Coercion failed: cannot convert Object@b868371 to haxe.ds.StringMap.
lib/sim/model/SOControl.hx:37: characters 20-21 : Unexpected .

The question is: How can I reconvert a previously saved StringMap from a Dynamic Object?

Thanks!

Antipirina
  • 75
  • 5

1 Answers1

3

The easiest solution is probably to use the Serialization mechanism built into Haxe. Here's some pseudo-code of how that could look like:

Saving:

SO.data.users_arr = Serializer.run(users_arr);

Loading:

var users_arr:StringMap<Dynamic> = Unserializer.run(SO.data.users_arr);
Gama11
  • 31,714
  • 9
  • 78
  • 100