This repository has been archived on 2025-09-12. You can view files and clone it, but cannot push or open issues or pull requests.
ld50/game/GroupMessenger.gd

23 lines
500 B
GDScript

class_name GroupMessenger
var message: String
var groups: Array = []
var owner: Node
func _init(owner: Node, message: String, groups: Array = []):
self.owner = owner
self.message = message
self.groups = groups
func add_group(group: String):
groups.push_back(group)
func remove_group(group: String):
var i = groups.find(group)
if i != -1:
groups.remove(i)
func dispatch(args: Array = []):
var tree = owner.get_tree()
for group in groups:
tree.call_group(group, "on_" + message, args)