This is WorldMapController.m in view mode; [Download] [Up]
// // $Id: WorldMapController.m,v 1.9 1997/10/31 04:52:15 nygard Exp $ // // // This file is a part of Empire, a game of exploration and conquest. // Copyright (C) 1996 Steve Nygard // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation; either version 2 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. // // You may contact the author by: // e-mail: nygard@telusplanet.net // #import "Empire.h" RCSID ("$Id: WorldMapController.m,v 1.9 1997/10/31 04:52:15 nygard Exp $"); #import "WorldMapController.h" #import "EmpireImageVendor.h" #import "EmPlayer.h" #import "GameManager.h" #import "Unit.h" #import "WorldMapView.h" static int panelCount = 0; //====================================================================== // The WorldMapController loads the World Map window, and passes // messages from the world map view along to the delegate. // // That may be a little redundant, and the setDelegate could just // set the delegate of the WorldMapView... //====================================================================== #define WorldMapController_VERSION 1 @implementation WorldMapController + (void) initialize { if (self == [WorldMapController class]) { [self setVersion:WorldMapController_VERSION]; } } //---------------------------------------------------------------------- - (void) awakeFromNib { NSString *imagePath; NSImage *image; imagePath = [[NSBundle mainBundle] pathForImageResource:@"mwi_world_map.tiff"]; NSAssert (imagePath != nil, @"Couldn't find mwi_world_map.tiff"); image = [[[NSImage alloc] initWithContentsOfFile:imagePath] autorelease]; NSAssert (image != nil, @"Couldn't load mwi_world_map.tiff"); [worldMapWindow setMiniwindowImage:image]; } //---------------------------------------------------------------------- - init { NSString *nibFile; BOOL loaded; NSRect frameRect; [super init]; worldMapView = nil; nibFile = @"WorldMap.nib"; loaded = [NSBundle loadNibNamed:nibFile owner:self]; if (loaded == NO) { NSLog (@"Could not load %@.", nibFile); [super dealloc]; return nil; } frameRect = [worldMapWindow frame]; frameRect.origin.x += panelCount * 24; frameRect.origin.y -= panelCount * 24; [worldMapWindow setFrameOrigin:frameRect.origin]; panelCount = (panelCount + 1) % 5; return self; } //---------------------------------------------------------------------- - (void) dealloc { SNRelease (worldMapWindow); [super dealloc]; } //---------------------------------------------------------------------- - (void) setMap:(Map *)aMap { [worldMapView setMap:aMap]; } //---------------------------------------------------------------------- - (void) setDelegate:newDelegate { delegate = newDelegate; if (delegate == nil) [worldMapWindow setDelegate:self]; else [worldMapWindow setDelegate:delegate]; } //---------------------------------------------------------------------- - (void) setTitle:(NSString *)newTitle autosaveFrame:(BOOL)autosaveFlag { BOOL okay; [worldMapWindow setTitle:newTitle]; if (autosaveFlag == YES) { okay = [worldMapWindow setFrameAutosaveName:newTitle]; if (okay == NO) NSLog (@"Could not set frame autosave name of World Map panel."); } } //---------------------------------------------------------------------- - (void) showPanel { [worldMapWindow makeKeyAndOrderFront:self]; } //====================================================================== // MapView Delegate //====================================================================== - (void) mouseDown:(unsigned int)modifierFlags atLocation:(EMMapLocation)target { if (delegate != nil) [delegate mouseDown:modifierFlags atLocation:target]; } //---------------------------------------------------------------------- - (void) mouseUp:(unsigned int)modifierFlags atLocation:(EMMapLocation)target { if (delegate != nil) [delegate mouseUp:modifierFlags atLocation:target]; } //---------------------------------------------------------------------- - (void) rightMouseDown:(unsigned int)modifierFlags atLocation:(EMMapLocation)target { } //---------------------------------------------------------------------- - (void) rightMouseUp:(unsigned int)modifierFlags atLocation:(EMMapLocation)target { } //---------------------------------------------------------------------- - (void) keyDown:(NSEvent *)theEvent { } @end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.