public static unsafe FakeStruct LoadFromObject(Component com, DataBuffer buffer)
        {
            var ae = com as BoxCollider2D;

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

            if (ae.sharedMaterial != null)
            {
                data->sharedMaterial = buffer.AddData(ae.sharedMaterial.name);
            }
            data->offset          = ae.offset;
            data->usedByComposite = ae.usedByComposite;
            data->usedByEffector  = ae.usedByEffector;
            data->isTrigger       = ae.isTrigger;
            data->density         = ae.density;
            data->size            = ae.size;
            data->edgeRadius      = ae.edgeRadius;
            data->autoTiling      = ae.autoTiling;
            return(fake);
        }
Ejemplo n.º 2
0
        public unsafe override void LoadToComponent(FakeStruct fake, Component game, FakeStruct main)
        {
            BoxColliderData *data = (BoxColliderData *)fake.ip;
            var obj = game.GetComponent <BoxCollider2D>();

            if (obj == null)
            {
                return;
            }
            obj.offset          = data->offset;
            obj.usedByComposite = data->usedByComposite;
            obj.usedByEffector  = data->usedByEffector;
            obj.isTrigger       = data->isTrigger;
            //obj.density = data->density;
            obj.size       = data->size;
            obj.edgeRadius = data->edgeRadius;
            obj.autoTiling = data->autoTiling;
            string mat = fake.buffer.GetData(data->sharedMaterial) as string;

            if (mat != null)
            {
                obj.sharedMaterial = new PhysicsMaterial2D(mat);
            }
        }