mirror of
https://github.com/copyrighttxt/watrbx-game-engine.git
synced 2026-09-05 13:17:49 +00:00
GEEKING
This commit is contained in:
@@ -0,0 +1,109 @@
|
||||
//
|
||||
// RBHybridModuleDialogs.m
|
||||
// RobloxMobile
|
||||
//
|
||||
// Created by Ariel Lichtin on 2/5/15.
|
||||
// Copyright (c) 2015 ROBLOX. All rights reserved.
|
||||
//
|
||||
|
||||
#import "RBHybridModuleDialogs.h"
|
||||
#import "RBHybridCommand.h"
|
||||
#import "NSDictionary+Parsing.h"
|
||||
#import "UIAlertView+Blocks.h"
|
||||
|
||||
#define MODULE_ID @"Dialogs"
|
||||
|
||||
@implementation RBHybridModuleDialogs
|
||||
|
||||
-(instancetype) init
|
||||
{
|
||||
self = [super initWithModuleID:MODULE_ID];
|
||||
if(self)
|
||||
{
|
||||
[self registerFunction:@"alert" withSelector:@selector(alert:)];
|
||||
[self registerFunction:@"confirm" withSelector:@selector(confirm:)];
|
||||
[self registerFunction:@"prompt" withSelector:@selector(prompt:)];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
/**
|
||||
* Present a single button dialog
|
||||
*
|
||||
* @param {string} text - Content text
|
||||
* @param {Function} callback - Callback
|
||||
* @param {string} title - Window title
|
||||
* @param {string} buttonName - Button name
|
||||
* @instance
|
||||
*/
|
||||
-(void)alert:(RBHybridCommand*)command
|
||||
{
|
||||
NSString* text = [command.params stringForKey:@"text"];
|
||||
NSString* title = [command.params stringForKey:@"title" withDefault:@"Roblox"];
|
||||
NSString* buttonName = [command.params stringForKey:@"buttonName" withDefault:NSLocalizedString(@"OkWord", nil)];
|
||||
|
||||
UIAlertView* alert = [[UIAlertView alloc]
|
||||
initWithTitle:title
|
||||
message:text
|
||||
delegate:nil
|
||||
cancelButtonTitle:buttonName
|
||||
otherButtonTitles:nil];
|
||||
|
||||
[alert showWithCompletion:^(UIAlertView *alertView, NSInteger buttonIndex)
|
||||
{
|
||||
[command executeCallback:YES];
|
||||
}];
|
||||
}
|
||||
|
||||
/**
|
||||
* Present a dialog with multiple options
|
||||
*
|
||||
* @param {string} text - Content text
|
||||
* @param {Function} callback - Callback
|
||||
* @param {string} title - Window title
|
||||
* @param {string[]} buttonName - Button labels
|
||||
* @instance
|
||||
*/
|
||||
-(void)confirm:(RBHybridCommand*)command
|
||||
{
|
||||
NSString* text = [command.params stringForKey:@"text"];
|
||||
NSString* title = [command.params stringForKey:@"title" withDefault:@"Roblox"];
|
||||
NSArray* buttons = [command.params arrayForKey:@"buttonName"];
|
||||
|
||||
// Validate button
|
||||
NSString* firstButton;
|
||||
if(buttons.count > 0 && [buttons[0] isKindOfClass:[NSString class]])
|
||||
{
|
||||
firstButton = buttons[0];
|
||||
|
||||
buttons = [buttons subarrayWithRange:NSMakeRange(1, buttons.count - 1)];
|
||||
}
|
||||
else
|
||||
{
|
||||
firstButton = NSLocalizedString(@"OkWord", nil);
|
||||
}
|
||||
|
||||
UIAlertView* alert = [[UIAlertView alloc]
|
||||
initWithTitle:title
|
||||
message:text
|
||||
delegate:nil
|
||||
cancelButtonTitle:firstButton
|
||||
otherButtonTitles:nil];
|
||||
|
||||
for(NSString* buttonName in buttons)
|
||||
{
|
||||
[alert addButtonWithTitle:buttonName];
|
||||
}
|
||||
|
||||
[alert showWithCompletion:^(UIAlertView *alertView, NSInteger buttonIndex)
|
||||
{
|
||||
[command executeCallback:YES];
|
||||
}];
|
||||
}
|
||||
|
||||
-(void)prompt:(RBHybridCommand*)command
|
||||
{
|
||||
// [command executeCallback:@[]];
|
||||
}
|
||||
|
||||
@end
|
||||
Reference in New Issue
Block a user