00001 // 00002 // LocalServerController.m 00003 // MacTrek 00004 // 00005 // Created by Aqua on 26/05/2006. 00006 // Copyright 2006 Luky Soft. All rights reserved. 00007 // 00008 00009 #import "LocalServerController.h" 00010 00011 00012 @implementation LocalServerController 00013 00014 // privates 00015 bool serverRuns = NO; 00016 00017 - (id) init { 00018 self = [super init]; 00019 if (self != nil) { 00020 00021 } 00022 return self; 00023 } 00024 00025 00026 - (void) enableLogin { 00027 [loginButton setEnabled:YES]; 00028 } 00029 00030 - (void) disableLogin { 00031 [loginButton setEnabled:NO]; 00032 } 00033 00034 - (void) awakeFromNib { 00035 NSLog(@"LocalServerController awakeFromNib"); 00036 00037 // setup the server controller and tie it to the log window 00038 server = [[ServerController alloc] initWithTextView: serverLogView]; 00039 // setup the robots, no need to log their output (i think) 00040 robots = [[RobotsController alloc] initWithTextView:serverLogView]; 00041 } 00042 00043 - (IBAction)startServer:(id)sender 00044 { 00045 [server startServer]; 00046 serverRuns = YES; 00047 00048 // add localhost if it is not already there 00049 if ([selectServerController findServer:@"localhost"] == nil) { 00050 MetaServerEntry *entry = [[MetaServerEntry alloc] init]; 00051 [entry setAddress: @"localhost"]; 00052 [entry setPort: 2592]; 00053 [entry setStatus: DEFAULT]; 00054 [entry setGameType: BRONCO]; 00055 [selectServerController addServer:entry]; // gets selected automatically 00056 } 00057 00058 // wait until we have connected 00059 //[loginButton setEnabled:YES]; 00060 } 00061 00062 - (IBAction)stopServer:(id)sender 00063 { 00064 [server stopServer]; 00065 serverRuns = NO; 00066 00067 // remove localhost if there 00068 [selectServerController removeServer:@"localhost"]; // deselect automatically 00069 00070 [loginButton setEnabled:NO]; 00071 } 00072 00073 - (IBAction)startRobots:(id)sender 00074 { 00075 if (!serverRuns) { 00076 [self startServer:self]; 00077 } 00078 [robots startRobots:[numberOfRobots intValue]]; 00079 } 00080 00081 - (IBAction)stopRobots:(id)sender 00082 { 00083 [robots stopRobots]; 00084 } 00085 00086 @end