// // TextureCollection.m // XNI // // Created by Matej Jan on 21.9.10. // Copyright 2010 Retronator. All rights reserved. // #import "TextureCollection.h" #import "TextureCollection+Internal.h" #import "XniSamplerEventArgs.h" #import "XniSamplerEventArgs+Internal.h" #import "Retronator.Xni.Framework.Graphics.h" @interface TextureCollection (){ XniSamplerEventArgs *eventArgs; } @end @implementation TextureCollection - (id) init { self = [super init]; if (self != nil) { for (int i = 0; i < GL_MAX_TEXTURE_UNITS; i++) { textures[i] = nil; } eventArgs = [[XniSamplerEventArgs alloc] initWithSamplerIndex:0]; textureChanged = [[Event alloc] init]; } return self; } - (Event *) textureChanged { return textureChanged; } - (Texture*)itemAtIndex:(NSUInteger)index { return textures[index]; } - (void)setItem:(Texture*)item atIndex:(NSUInteger)index { if (textures[index] != item) { textures[index] = item; eventArgs.samplerIndex = index; [textureChanged raiseWithSender:self eventArgs:eventArgs]; } } - (void) dealloc { [eventArgs release]; [textureChanged release]; [super dealloc]; } @end