mirror of
				https://github.com/KevinMidboe/linguist.git
				synced 2025-10-29 17:50:22 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			88 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			88 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
@import <Foundation/CPObject.j>
 | 
						|
@import <AppKit/CPView.j>
 | 
						|
@import <AppKit/CPButton.j>
 | 
						|
@import <AppKit/CPWebView.j>
 | 
						|
@import "LOBoard.j"
 | 
						|
 | 
						|
@implementation LOInfoView : CPView
 | 
						|
{
 | 
						|
}
 | 
						|
 | 
						|
- (void)drawRect:(CGRect)r
 | 
						|
{
 | 
						|
    [[CPColor whiteColor] setFill]
 | 
						|
    var path = [CPBezierPath bezierPath];
 | 
						|
    [path appendBezierPathWithRoundedRect:CGRectMake(5, 0, CGRectGetWidth([self bounds]) - 10.0, CGRectGetHeight([self bounds])) xRadius:10 yRadius:10];
 | 
						|
    [path fill];
 | 
						|
}
 | 
						|
 | 
						|
@end
 | 
						|
 | 
						|
@implementation AppController : CPObject
 | 
						|
{
 | 
						|
}
 | 
						|
 | 
						|
- (CPPanel)initInfoWindow
 | 
						|
{
 | 
						|
    var infoWindow = [[CPPanel alloc] initWithContentRect:CGRectMake(400, 50, 320, 480) styleMask:CPHUDBackgroundWindowMask | CPResizableWindowMask];
 | 
						|
    [infoWindow setFloatingPanel:YES];
 | 
						|
 | 
						|
    var _infoContent = [infoWindow contentView],
 | 
						|
        _iconImage = [[CPImage alloc] initWithContentsOfFile:"Resources/icon.png" size:CPSizeMake(59, 60)],
 | 
						|
        _iconView = [[CPImageView alloc] initWithFrame:CGRectMake(125, 0, 59, 60)];
 | 
						|
 | 
						|
    [_iconView setImage:_iconImage];
 | 
						|
    [_infoContent addSubview:_iconView];
 | 
						|
 | 
						|
    var _infoView = [[LOInfoView alloc] initWithFrame:CGRectMake(0, 65, 320, 395)],
 | 
						|
        _webView = [[CPWebView alloc] initWithFrame:CGRectMake(20, 0, 270, 370)];
 | 
						|
 | 
						|
    [_webView loadHTMLString:@"<center><h3>Lights Off</h3></center> <p>Lights Off is a fantastic game exclusively for iPhone and iPod touch and inspired by Tiger Electronic's 'Lights Out'.</p> <p>The goal of the game is simply to switch all of the lights off, but it's harder than it looks! Give the first few levels a try in the playable demo to the left.</p><center><img src='Resources/avail_on_app_store.png'></center>"];
 | 
						|
 | 
						|
    [_infoView addSubview:_webView];
 | 
						|
 | 
						|
    [_infoContent addSubview:_infoView];
 | 
						|
 | 
						|
    return infoWindow;
 | 
						|
}
 | 
						|
 | 
						|
- (void)applicationDidFinishLaunching:(CPNotification)aNotification
 | 
						|
{
 | 
						|
    /* Enable Logging (DEBUG) */
 | 
						|
    // CPLogRegister(CPLogPopup);
 | 
						|
 | 
						|
    var rootWindow = [[CPWindow alloc] initWithContentRect:CGRectMakeZero() styleMask:CPBorderlessBridgeWindowMask];
 | 
						|
    [rootWindow setBackgroundColor:[CPColor grayColor]];
 | 
						|
    [rootWindow orderFront:self];
 | 
						|
 | 
						|
    var infoWindow = [self initInfoWindow],
 | 
						|
        gameWindow = [[CPPanel alloc] initWithContentRect:CGRectMake(50, 50, 324, 482) styleMask:CPHUDBackgroundWindowMask];
 | 
						|
    [gameWindow setFloatingPanel:YES];
 | 
						|
    [gameWindow setTitle:@"Lights Off"];
 | 
						|
 | 
						|
    contentView = [gameWindow contentView];
 | 
						|
 | 
						|
    var _board = [[LOBoard alloc] initWithFrame:CGRectMake(2, 0, 320, 480)],
 | 
						|
        _bgImage = [[CPImage alloc] initWithContentsOfFile:"Resources/lo-background.png" size:CPSizeMake(320, 480)];
 | 
						|
    [_board setImage:_bgImage];
 | 
						|
    [_board resetBoard];
 | 
						|
 | 
						|
    var _buttonImage = [[CPImage alloc] initWithContentsOfFile:"Resources/button-reset.png" size:CPSizeMake(90, 28)],
 | 
						|
        _buttonPressImage = [[CPImage alloc] initWithContentsOfFile:"Resources/button-reset-press.png" size:CPSizeMake(90, 28)],
 | 
						|
        _resetButton = [[CPButton alloc] initWithFrame:CGRectMake(195, 422, 90, 28)];
 | 
						|
 | 
						|
    [_resetButton setImage:_buttonImage];
 | 
						|
    [_resetButton setAlternateImage:_buttonPressImage];
 | 
						|
    [_resetButton setBordered:NO];
 | 
						|
 | 
						|
    [contentView addSubview:_board];
 | 
						|
    [contentView addSubview:_resetButton];
 | 
						|
 | 
						|
    [_resetButton setTarget:_board];
 | 
						|
    [_resetButton setAction:@selector(resetBoard)];
 | 
						|
 | 
						|
    [gameWindow orderFront:self];
 | 
						|
    [infoWindow orderFront:self];
 | 
						|
}
 | 
						|
 | 
						|
@end |