GodotNotificationCenter
所属分类:collect
开发工具:GDScript
文件大小:0KB
下载次数:0
上传日期:2019-03-13 17:56:19
上 传 者:
sh-1993
说明: Godot Engine的通知中心,
(A notification center for Godot Engine,)
文件列表:
.import/ (0, 2019-03-13)
.import/icon.png-487276ed1e3a0c39cad0279d744ee560.md5 (91, 2019-03-13)
.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex (2774, 2019-03-13)
LICENSE (1089, 2019-03-13)
demo/ (0, 2019-03-13)
demo/demo.tscn (606, 2019-03-13)
demo/observer.gd (377, 2019-03-13)
demo/observer.tscn (949, 2019-03-13)
demo/sender.gd (248, 2019-03-13)
demo/sender.tscn (731, 2019-03-13)
icon.png (2736, 2019-03-13)
icon.png.flags (18, 2019-03-13)
icon.png.import (640, 2019-03-13)
notification_center.gd (1036, 2019-03-13)
project.godot (707, 2019-03-13)
# GodotNotificationCenter
A notification center for [Godot Engine](https://github.com/godotengine/godot)
Compatible with Godot 3
Check branch 2.0 for a project compatible with Godot 1.1 and 2.x
# Installation
Just add notification_center.gd to the autoload settings of your project
You only need the notification_center.gd script.
Check the demo project for more info.
# Usage
Notifications are sent to observers. Any object can be an observer. Notifications can be sent from anywhere in your code.
If you need to add an observer or send a notification, get the root object:
`var nc = get_node("/root/nc") # if you named it nc in the autoload settings`
OR
`var nc = $"/root/nc" # new Godot 3 syntax`
## To add an object as observer
`nc.add_observer(observer,notificationName,action)`
* observer is the object added as an observer
* notificationName is the ID of the notification. It is a String.
* action is the name of a function that must be defined by the observer with 3 parameters:
`func action(observer,notificationName,notificationData):`
* notificationData can by of any type. You can make a dictionary and include every needed data in it. It is sent with the notification.
## To remove an observer
`nc.remove_observer(observer, notificationName)`
you MUST remove an observer, at least when it leaves the scene. Example:
func _exit_tree():
nc.remove_observer(self, notificationName)
## To send a notification
`nc.post_notification(notificationName,notificationData)`
Every observer of notificationName will execute its action.
# Licence
MIT
近期下载者:
相关文件:
收藏者: