示例#1
0
        public unsafe override void LoadToObject(FakeStruct fake, Component game)
        {
            PointEffectorData *data = (PointEffectorData *)fake.ip;
            var obj = game.GetComponent <PointEffector2D>();

            if (obj == null)
            {
                return;
            }
            obj.useColliderMask = data->useColliderMask;
            obj.colliderMask    = data->colliderMask;
            obj.forceMagnitude  = data->forceMagnitude;
            obj.forceVariation  = data->forceVariation;
            obj.distanceScale   = data->distanceScale;
            obj.drag            = data->drag;
            obj.angularDrag     = data->angularDrag;
            obj.forceSource     = data->forceSource;
            obj.forceTarget     = data->forceTarget;
            obj.forceMode       = data->forceMode;
        }
        public static unsafe FakeStruct LoadFromObject(Component com, DataBuffer buffer)
        {
            var ae = com as PointEffector2D;

            if (ae == null)
            {
                return(null);
            }
            FakeStruct         fake = new FakeStruct(buffer, PointEffectorData.ElementSize);
            PointEffectorData *data = (PointEffectorData *)fake.ip;

            data->useColliderMask = ae.useColliderMask;
            data->colliderMask    = ae.colliderMask;
            data->forceMagnitude  = ae.forceMagnitude;
            data->forceVariation  = ae.forceVariation;
            data->distanceScale   = ae.distanceScale;
            data->drag            = ae.drag;
            data->angularDrag     = ae.angularDrag;
            data->forceSource     = ae.forceSource;
            data->forceTarget     = ae.forceTarget;
            data->forceMode       = ae.forceMode;
            return(fake);
        }