public void CopyLevel(Level src, CopyGuidControl guid_control) { for (int i = 0; i < MAX_VERTICES; i++) { vertex[i].alive = false; if (src.vertex[i].alive) { vertex[i].Copy(src.vertex[i], true); } } for (int i = 0; i < MAX_SEGMENTS; i++) { segment[i].Alive = false; if (src.segment[i].Alive) { segment[i].Copy(src.segment[i], true); } } for (int i = 0; i < MAX_ENTITIES; i++) { entity[i].alive = false; if (src.entity[i].alive) { entity[i].Copy(src.entity[i], true, guid_control); } } CopyLevelProperties(src); }
public void Copy(Entity src, bool full, CopyGuidControl guid_control) { Guid new_guid = Guid.Empty; if (src.alive) { switch (guid_control) { case CopyGuidControl.CloneGuid: new_guid = src.guid; break; case CopyGuidControl.GenerateNewGuid: new_guid = Guid.NewGuid(); break; } } Copy(src, full, new_guid); }