45+ (NSArray *)worldScriptsAtPath:(NSString *)path
47 NSFileManager *fmgr =
nil;
48 NSString *filePath =
nil;
50 NSArray *result =
nil;
52 BOOL foundScript = NO;
54 fmgr = [NSFileManager defaultManager];
57 filePath = [path stringByAppendingPathComponent:@"world-scripts.plist"];
71 filePath = [path stringByAppendingPathComponent:@"script.js"];
72 if ([fmgr oo_oxzFileExistsAtPath:filePath]) foundScript = YES;
75 filePath = [path stringByAppendingPathComponent:@"script.es"];
76 if ([fmgr oo_oxzFileExistsAtPath:filePath]) foundScript = YES;
86 result = [NSArray arrayWithObject:script];
98 filePath = [path stringByAppendingPathComponent:@"script.plist"];
99 if ([fmgr oo_oxzFileExistsAtPath:filePath])
117 if (result ==
nil && foundScript)
126+ (NSArray *)scriptsFromFileNamed:(NSString *)fileName
128 NSArray *result =
nil;
132 result = [
self scriptsFromFileAtPath:path];
137 OOLogERR(
@"script.load.notFound",
@"Could not find script file %@.", fileName);
144+ (NSArray *)scriptsFromList:(NSArray *)fileNames
147 NSMutableArray *result =
nil;
148 NSArray *scripts =
nil;
150 result = [NSMutableArray arrayWithCapacity:[fileNames count]];
152 foreach (
name, fileNames)
154 scripts = [
self scriptsFromFileNamed:name];
155 if (scripts !=
nil) [result addObjectsFromArray:scripts];
162+ (NSArray *)scriptsFromFileAtPath:(NSString *)filePath
165 if (![[NSFileManager defaultManager] oo_oxzFileExistsAtPath:filePath]) return
nil;
167 NSString *extension = [[filePath pathExtension] lowercaseString];
169 if ([extension isEqualToString:
@"js"] || [extension isEqualToString:
@"es"])
171 NSArray *result =
nil;
173 if (script !=
nil) result = [NSArray arrayWithObject:script];
176 else if ([extension isEqualToString:
@"plist"])
186 OOLogERR(
@"script.load.badName",
@"Don't know how to load a script from %@.", filePath);
191+ (id)jsScriptFromFileNamed:(NSString *)fileName properties:(NSDictionary *)properties
193 NSString *extension =
nil;
194 NSString *path =
nil;
196 if ([fileName length] == 0)
return nil;
198 extension = [[fileName pathExtension] lowercaseString];
199 if ([extension isEqualToString:
@"js"] || [extension isEqualToString:
@"es"])
204 OOLogERR(
@"script.load.notFound",
@"Could not find script file %@.", fileName);
209 else if ([extension isEqualToString:
@"plist"])
211 OOLogERR(
@"script.load.badName",
@"Can't load script named %@ - legacy scripts are not supported in this context.", fileName);
215 OOLogERR(
@"script.load.badName",
@"Don't know how to load a script from %@.", fileName);
220+ (id)jsAIScriptFromFileNamed:(NSString *)fileName properties:(NSDictionary *)properties
222 NSString *extension =
nil;
223 NSString *path =
nil;
225 if ([fileName length] == 0)
return nil;
227 extension = [[fileName pathExtension] lowercaseString];
228 if ([extension isEqualToString:
@"js"] || [extension isEqualToString:
@"es"])
233 OOLogERR(
@"script.load.notFound",
@"Could not find script file %@.", fileName);
238 else if ([extension isEqualToString:
@"plist"])
240 OOLogERR(
@"script.load.badName",
@"Can't load script named %@ - legacy scripts are not supported in this context.", fileName);
244 OOLogERR(
@"script.load.badName",
@"Don't know how to load a script from %@.", fileName);
251 return [NSString stringWithFormat:@"\"%@\" version %@", [
self name], [
self version]];