public void loadObjects(KeyValuePair<string, string>[] objects)
{
cachedObjects = new JsDictionary<string, LevelObject>();
foreach (LevelObjectInfo t in SonicLevel.Objects)
{
var o = t.Key;
if (cachedObjects.ContainsKey(o))
{
t.SetObjectData(cachedObjects[o]);
continue;
}
var d = objects.First(p => p.Key == o);
if (d.Falsey())
{
t.SetObjectData(new LevelObject(o));
continue;
}
LevelObjectData dat;
if (d.Value.Length == 0) dat = new LevelObjectData();
else dat = (LevelObjectData)Json.Parse(d.Value);
var dr = ObjectManager.ExtendObject(dat);
cachedObjects[o] = dr;
t.SetObjectData(dr);
}
/*
OurSonic.SonicLevels.getObjects(objectKeys, function (objects) {
window.CachedObjects = [];
for (l = 0; l < sonicManager.SonicLevel.Objects.length; l++) {
o = sonicManager.SonicLevel.Objects[l].key;
if (window.CachedObjects[o]) {
sonicManager.SonicLevel.Objects[l].setObjectData(window.CachedObjects[o]);
continue;
}
var d = JSLINQ(objects).First(function (p) { return p.key == o; });
if (!d) {
sonicManager.SonicLevel.Objects[l].setObjectData(new LevelObject(o));
continue;
}
var dr = _H.extend(new LevelObject(""), jQuery.parseJSON(d.value));
dr = sonicManager.objectManager.extendObject(dr);
for (var n = 0; n < dr.assets.length; n++) {
for (var s = 0; s < dr.assets[n].frames.length; s++) {
dr.assets[n].frames[s].hurtSonicMap.length = dr.assets[n].frames[s].width;
dr.assets[n].frames[s].collisionMap.length = dr.assets[n].frames[s].width;
for (var t = 0; t < dr.assets[n].frames[s].hurtSonicMap.length; t++) {
dr.assets[n].frames[s].hurtSonicMap[t].length = dr.assets[n].frames[s].height;
dr.assets[n].frames[s].collisionMap[t].length = dr.assets[n].frames[s].height;
}
}
}
window.CachedObjects[o] = dr;
sonicManager.SonicLevel.Objects[l].setObjectData(dr);
}
});
*/
}