1
0
mirror of https://github.com/thes3m/XNI synced 2024-12-26 13:26:06 +01:00
XNI/Classes/System/Event.m

46 lines
864 B
Mathematica
Raw Normal View History

//
// Event.m
// XNI
//
// Created by Matej Jan on 20.7.10.
// Copyright 2010 Retronator. All rights reserved.
//
#import "Event.h"
#import "Retronator.Xni.Framework.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