Example #1
0
        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();
        }
Example #2
0
        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));
        }