| 400 | //----------------------------------------------------------------------------- |
| 401 | |
| 402 | void SimDataBlock::write(Stream &stream, U32 tabStop, U32 flags) |
| 403 | { |
| 404 | // Only output selected objects if they want that. |
| 405 | if((flags & SelectedOnly) && !isSelected()) |
| 406 | return; |
| 407 | |
| 408 | stream.writeTabs(tabStop); |
| 409 | char buffer[1024]; |
| 410 | |
| 411 | // Client side datablocks are created with 'new' while |
| 412 | // regular server datablocks use the 'datablock' keyword. |
| 413 | if ( isClientOnly() ) |
| 414 | dSprintf(buffer, sizeof(buffer), "new %s(%s) {\r\n", getClassName(), getName() ? getName() : ""); |
| 415 | else |
| 416 | dSprintf(buffer, sizeof(buffer), "datablock %s(%s) {\r\n", getClassName(), getName() ? getName() : ""); |
| 417 | |
| 418 | stream.write(dStrlen(buffer), buffer); |
| 419 | writeFields(stream, tabStop + 1); |
| 420 | |
| 421 | stream.writeTabs(tabStop); |
| 422 | stream.write(4, "};\r\n"); |
| 423 | } |
| 424 | |
| 425 | //============================================================================= |
| 426 | // API. |