Beginnings of the new mac launcher.
This commit is contained in:
66
OpenRA.Launcher.Mac/ModEntry.m
Normal file
66
OpenRA.Launcher.Mac/ModEntry.m
Normal file
@@ -0,0 +1,66 @@
|
||||
/*
|
||||
* Copyright 2007-2010 The OpenRA Developers (see AUTHORS)
|
||||
* This file is part of OpenRA, which is free software. It is made
|
||||
* available to you under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation. For more information,
|
||||
* see LICENSE.
|
||||
*/
|
||||
|
||||
#import "ModEntry.h"
|
||||
|
||||
|
||||
@implementation ModEntry
|
||||
@synthesize isHeader;
|
||||
@synthesize title;
|
||||
@synthesize version;
|
||||
@synthesize author;
|
||||
@synthesize description;
|
||||
@synthesize requires;
|
||||
@synthesize standalone;
|
||||
@synthesize children;
|
||||
@synthesize icon;
|
||||
|
||||
+ (id)headerWithTitle:(NSString *)aTitle
|
||||
{
|
||||
id newObject = [[self alloc] initWithFields:[NSDictionary dictionaryWithObject:aTitle forKey:@"Title"] isHeader:YES];
|
||||
[newObject autorelease];
|
||||
return newObject;
|
||||
}
|
||||
|
||||
+ (id)modWithFields:(id)fields
|
||||
{
|
||||
id newObject = [[self alloc] initWithFields:fields isHeader:NO];
|
||||
[newObject autorelease];
|
||||
return newObject;
|
||||
}
|
||||
|
||||
- (id)initWithFields:(NSDictionary *)fields isHeader:(BOOL)header
|
||||
{
|
||||
self = [super init];
|
||||
if (self)
|
||||
{
|
||||
isHeader = header;
|
||||
title = [fields objectForKey:@"Title"];
|
||||
version = [fields objectForKey:@"Version"];
|
||||
author = [fields objectForKey:@"Author"];
|
||||
description = [fields objectForKey:@"Description"];
|
||||
requires = [fields objectForKey:@"Requires"];
|
||||
standalone = ([fields objectForKey:@"Standalone"] == @"True");
|
||||
icon = [[fields objectForKey:@"Icon"] retain];
|
||||
children = [[NSMutableArray alloc] init];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
- (void)addChild:(ModEntry *)child
|
||||
{
|
||||
[children addObject:child];
|
||||
}
|
||||
|
||||
- (void) dealloc
|
||||
{
|
||||
[icon release]; icon = nil;
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
@end
|
||||
Reference in New Issue
Block a user