private IEnumerable<IObject> ConvertObjects(IEnumerable<IObject> objects) { return _accessor.Select<IObject, IObject>(obj => { if (obj == null || !obj.Exists) return obj; if (_objects.ContainsKey(obj.GlobalID)) return _objects[obj.GlobalID]; SandboxedObject newObj = new SandboxedObject(obj, this); _objects.Add(obj.GlobalID, newObj); return newObj; }); }
public IObject Create(Vector3 position, Quaternion rotation) { SandboxedObject obj = new SandboxedObject(_accessor.Create(position, rotation), this); lock (_objects) _objects.Add(obj.GlobalID, obj); return obj; }