| 513 | } |
| 514 | |
| 515 | void Level::Message(const std::string& msg) { |
| 516 | Online* online = Online::Instance(); |
| 517 | ASArglist args; |
| 518 | args.AddObject((void*)&msg); |
| 519 | |
| 520 | if (online->IsHosting()) { |
| 521 | online->SendLevelMessage(msg); |
| 522 | } |
| 523 | |
| 524 | for (auto& as_context : as_contexts_) { |
| 525 | as_context.ctx->CallScriptFunction(as_context.as_funcs.receive_message, &args); |
| 526 | } |
| 527 | |
| 528 | for (int level_event_receiver : level_event_receivers) { |
| 529 | Object* obj = scenegraph->GetObjectFromID(level_event_receiver); |
| 530 | if (obj) { |
| 531 | obj->ReceiveScriptMessage("level_event " + msg); |
| 532 | } else { |
| 533 | const int kBufSize = 256; |
| 534 | char buf[kBufSize]; |
| 535 | FormatString(buf, kBufSize, "Could not find level event receiver with id %d", level_event_receiver); |
| 536 | DisplayError("Error", buf); |
| 537 | } |
| 538 | } |
| 539 | } |
| 540 | |
| 541 | int GetNumParamElements(const ScriptParams& sp, const char* name) { |
| 542 | const ScriptParamMap& spm = sp.GetParameterMap(); |
no test coverage detected