Example #1
0
        public static unsafe FakeStruct LoadFromObject(Component com, DataBuffer buffer)
        {
            var ae = com.GetComponent <CompositeCollider2D>();

            if (ae == null)
            {
                return(null);
            }
            FakeStruct             fake = new FakeStruct(buffer, CompositeColliderData.ElementSize);
            CompositeColliderData *data = (CompositeColliderData *)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->geometryType    = ae.geometryType;
            data->generationType  = ae.generationType;
            data->vertexDistance  = ae.vertexDistance;
            return(fake);
        }
Example #2
0
        public unsafe override void LoadToComponent(FakeStruct fake, Component game, FakeStruct main)
        {
            CompositeColliderData *data = (CompositeColliderData *)fake.ip;
            var obj = game as CompositeCollider2D;

            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.geometryType    = data->geometryType;
            obj.generationType  = data->generationType;
            obj.vertexDistance  = data->vertexDistance;
            string mat = fake.buffer.GetData(data->sharedMaterial) as string;

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