private ObjectInstance(LevelX.ObjectInstanceX proxy, ObjectClass objClass) : this(objClass, proxy.X, proxy.Y) { _uid = proxy.Uid; _rotation = MathEx.DegToRad(proxy.Rotation); if (proxy.Properties != null) { foreach (var propertyProxy in proxy.Properties) { PropertyManager.CustomProperties.Add(Property.FromXmlProxy(propertyProxy)); } } UpdateBounds(); }
public static ObjectInstance FromXProxy(LevelX.ObjectInstanceX proxy, IObjectPoolManager manager) { if (proxy == null) { return(null); } ObjectPool pool = manager.PoolFromItemKey(proxy.Class); if (pool == null) { return(null); } ObjectClass objClass = pool.Objects[proxy.Class]; if (objClass == null) { return(null); } return(new ObjectInstance(proxy, objClass)); }