diff --git a/lib/game.dart b/lib/game.dart index f88a61d..0fdc67a 100644 --- a/lib/game.dart +++ b/lib/game.dart @@ -152,7 +152,7 @@ class ModManagerState extends State { itemBuilder: (ctx, idx) { Mod mod = settings.mods[idx]; return Padding( - key: Key("${mod.mod_instance_id}"), + key: Key("${mod.mod_instance_id()}"), padding: EdgeInsets.all(12), child: ListTile( title: Text(mod.mod_name), @@ -222,7 +222,7 @@ class ModPage extends StatelessWidget { id.text = args.mod_id.toString(); name.text = args.mod_name; isNewMod = args.newMod; - instance = args.mod_instance_id; + instance = args.mod_instance_id(); } } diff --git a/lib/mod.dart b/lib/mod.dart index bde6acc..05d6f2f 100644 --- a/lib/mod.dart +++ b/lib/mod.dart @@ -12,7 +12,14 @@ class Mod { int mod_id; bool newMod = false; - final mod_instance_id = UuidV4().generate(); + String _id = ""; + String mod_instance_id() { + if (_id.isEmpty) { + _id = UuidV4().generate(); + } + + return _id; + } Mod({this.mod_name = "undef", this.mod_id = 0, this.newMod = false}); }