Customized Messages
In the Cocos Creator editor architecture, all interactions are implemented through message communication, and this article will explain how to customize a message.
View the Public Message List
Find Developer -> Message Manager in the top menu bar of the editor to open the message management panel, which shows the public messages of each system of the editor and their descriptions.
Define a message
Only messages defined in the contributions.messages
field of the package.json
file can be used. The messages are defined as follows.
{
"name": "hello-world",
"contributions": {
"messages": {
"test-messasge": {
"public": false,
"description": "",
"doc": "",
"methods": []
}
}
}
}
test-messasge
is the name of the message, and we will explain the meaning of each property one by one.
public
Type {string}
Optional
Whether to display this message externally, if true, the basic information of this message will be displayed on the message list interface.
description
Type {string}
Optional
If public is true, some simple descriptions will be displayed in the message list, supporting i18n: key
syntax.
doc
Type {string}
Optional
If public is true, some documents of this message will be displayed, supporting i18n:key syntax.
This document is written and rendered in markdown format.
methods
Type {string[]}
Optional
The method queue triggered by the message.
This is an array of strings. The strings are methods on the extension or panel.
If it is a method on the extension, directly define methodName
, if you want to trigger a method on the panel, you must fill in panelName.methodName
. For example, the ready
method of the scene manager is scene:ready
.
Define broadcast message
When developing an extension, you need to send some notifications to other extension after completing an action. If these notifications also need to be displayed on the Developer -> Message List panel, you can define the message like this:
{
"name": "hello-world",
"contributions": {
"messages": {
"hello-world:ready": {
"public": true,
"description": "hello-world ready notification"
}
}
}
}
For more information, please refer to the document Message System.