#1121 fixed -- [Sync] and ISync inheritance rules made the same

This commit is contained in:
Chris Forbes
2011-08-21 10:58:16 +12:00
parent 8cc455d23f
commit 96860033fb

View File

@@ -31,12 +31,14 @@ namespace OpenRA.Mods.RA
bool HasAnySyncFields(Type t) bool HasAnySyncFields(Type t)
{ {
var flags = BindingFlags.Public | BindingFlags.NonPublic var flags = BindingFlags.Public | BindingFlags.NonPublic
| BindingFlags.Instance | BindingFlags.FlattenHierarchy; | BindingFlags.Instance;
var fs = t.GetFields(flags); var fs = t.GetFields(flags);
var ps = t.GetProperties(flags); var ps = t.GetProperties(flags);
return fs.Any(f => f.HasAttribute<SyncAttribute>()) || return fs.Any(f => f.HasAttribute<SyncAttribute>()) ||
ps.Any(p => p.HasAttribute<SyncAttribute>()); ps.Any(p => p.HasAttribute<SyncAttribute>()) ||
HasAnySyncFields(t.BaseType);
} }
} }
} }