Beispiel #1
0
        public override List <Polygon2> GetPolygonsLocal()
        {
            if (LocalPolygons != null)
            {
                return(LocalPolygons);
            }

            LocalPolygons = new List <Polygon2>();

                        #if UNITY_2017_4_OR_NEWER
            if (physicsShape == null)
            {
                if (GetOriginalSprite() == null)
                {
                    return(LocalPolygons);
                }

                physicsShape = GetPhysicsShape();
            }

            LocalPolygons = physicsShape.Get();
                        #endif

            return(LocalPolygons);
        }
Beispiel #2
0
        override public void ResetLocal()
        {
            base.ResetLocal();

            physicsShape = null;

            sprite = null;
        }
Beispiel #3
0
        public SpriteExtension.PhysicsShape GetPhysicsShape()
        {
            if (physicsShape == null)
            {
                Sprite sprite = GetOriginalSprite();

                if (sprite != null)
                {
                    physicsShape = SpriteExtension.PhysicsShapeManager.RequesCustomShape(sprite);
                }
            }
            return(physicsShape);
        }