mirror of
https://github.com/KevinMidboe/linguist.git
synced 2025-10-29 09:40:21 +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 |