1
0
mirror of https://github.com/thes3m/XNI synced 2024-12-26 13:26:06 +01:00
XNI/Classes/System/Event.m
Matej Jan cc255d1616 Fixed imports in events system.
git-svn-id: http://xni.googlecode.com/svn/XNI@5 ac433895-eea3-a490-d80a-17149a75e588
2010-07-22 14:16:02 +00:00

46 lines
846 B
Objective-C

//
// Event.m
// XNI
//
// Created by Matej Jan on 20.7.10.
// Copyright 2010 Retronator. All rights reserved.
//
#import "Event.h"
#import "System.h"
@implementation Event
- (id) init {
if (self = [super init]) {
delegates = [[NSMutableSet alloc] init];
}
return self;
}
- (void) subscribeDelegate:(Delegate*)delegate {
[delegates addObject:delegate];
}
- (void) unsubscribeDelegate:(Delegate*)delegate {
[delegates removeObject:delegate];
}
- (void) raiseWithSender:(id)sender {
EventArgs *e = [EventArgs empty];
[self raiseWithSender:sender eventArgs:e];
}
- (void) raiseWithSender:(id)sender eventArgs:(EventArgs*)e {
for (Delegate *delegate in delegates) {
[delegate invokeWithArgument:sender argument:e];
}
}
- (void) dealloc {
[delegates release];
[super dealloc];
}
@end