public unsafe override void LoadToObject(FakeStruct fake, Component game) { CapsuleColliderData *data = (CapsuleColliderData *)fake.ip; var obj = game as CapsuleCollider2D; 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.direction = data->direction; string mat = fake.buffer.GetData(data->sharedMaterial) as string; if (mat != null) { obj.sharedMaterial = new PhysicsMaterial2D(mat); } }
public static unsafe FakeStruct LoadFromObject(Component com, DataBuffer buffer) { var ae = com.GetComponent <CapsuleCollider2D>(); if (ae == null) { return(null); } FakeStruct fake = new FakeStruct(buffer, BoxColliderData.ElementSize); CapsuleColliderData *data = (CapsuleColliderData *)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->direction = ae.direction; return(fake); }