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); }
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); } }