fix blades data cloning on c++

This commit is contained in:
2022-06-09 01:17:56 +00:00
parent 74601ddbeb
commit ef5bc6ce1b
5 changed files with 23 additions and 6 deletions

View File

@@ -121,7 +121,11 @@ class CreatureData {
public function clone():CreatureData {
var cd = new CreatureData();
for (field in CreatureData.getInstanceFields()) {
cd.setField(field, this.field(field));
try {
cd.setField(field, this.field(field));
} catch (e) {
// can't set functions in c++
}
}
return cd;
}

View File

@@ -34,7 +34,11 @@ class FloorData {
public function clone():FloorData {
var fd = new FloorData();
for (field in FloorData.getInstanceFields()) {
fd.setField(field, this.field(field));
try {
fd.setField(field, this.field(field));
} catch (e) {
// can't set functions in c++
}
}
return fd;
}

View File

@@ -37,7 +37,11 @@ class ItemData {
public function clone():ItemData {
var id = new ItemData();
for (field in ItemData.getInstanceFields()) {
id.setField(field, this.field(field));
try {
id.setField(field, this.field(field));
} catch (e) {
// can't set functions in c++
}
}
return id;
}

View File

@@ -255,9 +255,10 @@ class ScenData {
try {
interp.execute(parser.parseString(line));
} catch (e) {
}
catch (e) {
trace('line `$line` failed because $e');
}
}
}
}

View File

@@ -66,7 +66,11 @@ class TerrainData {
public function clone():TerrainData {
var td = new TerrainData();
for (field in TerrainData.getInstanceFields()) {
td.setField(field, this.field(field));
try {
td.setField(field, this.field(field));
} catch (e) {
// can't set functions in c++
}
}
return td;
}