private void UpdateAddText(AppBarTargetType targetType) { var text = ""; switch (targetType) { case AppBarTargetType.Object: text = AppResourcesHelper.Get("Editor_ButtonAddObject"); break; case AppBarTargetType.Action: text = AppResourcesHelper.Get("Editor_ButtonAddScript"); break; case AppBarTargetType.Look: text = AppResourcesHelper.Get("Editor_ButtonAddLook"); break; case AppBarTargetType.Sound: text = AppResourcesHelper.Get("Editor_ButtonAddSound"); break; } _newButton.Label = text; }
private void SendEvaluation(LocalVariable localVariable = null, GlobalVariable globalVariable = null) { FormulaEvaluationResult result; if (ParsingError != null) { // FormulaEditorKey key as parameter for this function //if (key != FormulaEditorKey.Delete) //{ // SelectionStart = ParsingError.Index; // SelectionLength = ParsingError.Length; //} result = new FormulaEvaluationResult { Error = AppResourcesHelper.Get("FormulaInterpreter_Error") }; } else { var value = FormulaEvaluator.Evaluate(Formula); var stringValue = value == null ? string.Empty : value.ToString(); result = new FormulaEvaluationResult { Value = stringValue, }; } Messenger.Default.Send(result, ViewModelMessagingToken.FormulaEvaluated); }
private async void ShareStorageItemsHandler(DataTransferManager sender, DataRequestedEventArgs e) { var request = e.Request; request.Data.Properties.Title = AppResourcesHelper.Get("Export_FileTitle"); request.Data.Properties.Description = ApplicationResourcesHelper.Get("CATROBAT_URL"); var deferral = request.GetDeferral(); try { var rootFolder = ApplicationData.Current.LocalFolder; var fileToShare = await rootFolder.GetFileAsync(_pathToShareFile); var storageItems = new List <IStorageItem> { fileToShare }; request.Data.SetStorageItems(storageItems); } catch { if (Debugger.IsAttached) { Debugger.Break(); } } finally { deferral.Complete(); } }
private async void ReportAction() { IsSending = true; if (string.IsNullOrEmpty(_reason)) { ServiceLocator.NotifictionService.ShowMessageBox(AppResourcesHelper.Get("Main_ReportErrorCaption"), AppResourcesHelper.Get("Main_ReportMissingData"), MissingReportDataCallback, MessageBoxOptions.Ok); } else { JSONStatusResponse statusResponse = await ServiceLocator.WebCommunicationService.ReportAsInappropriateAsync(_selectedOnlineProgram.ProjectId, _reason, ServiceLocator.CultureService.GetCulture().TwoLetterISOLanguageName); switch (statusResponse.statusCode) { case StatusCodes.ServerResponseOk: ServiceLocator.NotifictionService.ShowMessageBox(AppResourcesHelper.Get("Main_ReportProgram"), AppResourcesHelper.Get("Main_ReportContribution"), ReportSuccessfullCallback, MessageBoxOptions.Ok); GoBackAction(); break; case StatusCodes.HTTPRequestFailed: ServiceLocator.NotifictionService.ShowMessageBox(AppResourcesHelper.Get("Main_ReportErrorCaption"), AppResourcesHelper.Get("Main_NoInternetConnection"), MissingReportDataCallback, MessageBoxOptions.Ok); break; default: string messageString = string.IsNullOrEmpty(statusResponse.answer) ? string.Format(AppResourcesHelper.Get("Main_UploadProgramUndefinedError"), statusResponse.statusCode.ToString()) : string.Format(AppResourcesHelper.Get("Main_ReportError"), statusResponse.answer); ServiceLocator.NotifictionService.ShowMessageBox(AppResourcesHelper.Get("Main_ReportErrorCaption"), messageString, MissingReportDataCallback, MessageBoxOptions.Ok); break; } } IsSending = false; }
private void ShowMessagesAction() { string notificationString = ""; int length = 15; if (_showDownloadMessage) { //var portbleImage = new PortableImage(); //await portbleImage.LoadFromResources(ResourceScope.Ide, // "Content/Images/ApplicationBar/dark/appbar.download.rest.png"); if (_lastImportedProgram.Length > length) { _lastImportedProgram = _lastImportedProgram.Substring(0, length) + "..."; } notificationString = String.Format(AppResourcesHelper.Get("Main_DownloadQueueMessage"), _lastImportedProgram); ServiceLocator.NotifictionService.ShowToastNotification("", notificationString, ToastDisplayDuration.Short, ToastTag.Default); _showDownloadMessage = false; } if (_showUploadMessage) { //var portbleImage = new PortableImage(); //await portbleImage.LoadFromResources(ResourceScope.Ide, // "Content/Images/ApplicationBar/dark/appbar.upload.rest.png"); if (_lastUploadedProgram.Length > length) { _lastUploadedProgram = _lastUploadedProgram.Substring(0, length) + "..."; } notificationString = String.Format(AppResourcesHelper.Get("Main_UploadQueueMessage"), _lastUploadedProgram); ServiceLocator.NotifictionService.ShowToastNotification("", notificationString, ToastDisplayDuration.Short, ToastTag.Default); _showUploadMessage = false; } }
private void CopyLocalProgramAction(string programName) { _copyProgramName = programName; ServiceLocator.NotifictionService.ShowMessageBox(AppResourcesHelper.Get("Main_MainCopyProgramDialogTitle"), String.Format(AppResourcesHelper.Get("Main_MainCopyProgramDialogMessage"), programName), CopyProgramMessageCallback, MessageBoxOptions.OkCancel); }
private static async Task TryAddProgram(Stream programStream) { ServiceLocator.NotifictionService.ShowToastNotification( AppResourcesHelper.Get("Import_started"), AppResourcesHelper.Get("Import_started"), ToastDisplayDuration.Long); ServiceLocator.ProgramImportService.SetProgramStream(programStream); await ServiceLocator.ProgramImportService.TryImportWithStatusNotifications(); }
private async void RegisterAction() { IsSending = true; if (string.IsNullOrEmpty(_username) || string.IsNullOrEmpty(_password) || string.IsNullOrEmpty(_email)) { ServiceLocator.NotifictionService.ShowMessageBox(AppResourcesHelper.Get("Main_UploadProgramLoginErrorCaption"), AppResourcesHelper.Get("Main_UploadProgramMissingLoginData"), MissingLoginDataCallback, MessageBoxOptions.Ok); } else { JSONStatusResponse statusResponse = await ServiceLocator.WebCommunicationService.LoginOrRegisterAsync(_username, _password, _email, ServiceLocator.CultureService.GetCulture().TwoLetterISOLanguageName, RegionInfo.CurrentRegion.TwoLetterISORegionName); Context.CurrentToken = statusResponse.token; Context.CurrentUserName = _username; Context.CurrentUserEmail = _email; switch (statusResponse.statusCode) { case StatusCodes.ServerResponseOk: if (NavigationCallback != null) { NavigationCallback(); } else { //TODO: Throw error because of navigation callback shouldn't be null throw new Exception("This error shouldn't be thrown. The navigation callback must not be null."); } break; case StatusCodes.ServerResponseRegisterOk: ServiceLocator.NotifictionService.ShowMessageBox(AppResourcesHelper.Get("Main_UploadProgramRegistrationSucessful"), string.Format(AppResourcesHelper.Get("Main_UploadProgramWelcome"), _username), RegistrationSuccessfulCallback, MessageBoxOptions.Ok); break; case StatusCodes.ServerResponseLoginFailed: ServiceLocator.NotifictionService.ShowMessageBox(AppResourcesHelper.Get("Main_UploadProgramLoginErrorCaption"), AppResourcesHelper.Get("Main_UploadProgramRegisterExistingUser"), WrongLoginDataCallback, MessageBoxOptions.Ok); break; case StatusCodes.HTTPRequestFailed: ServiceLocator.NotifictionService.ShowMessageBox(AppResourcesHelper.Get("Main_UploadProgramLoginErrorCaption"), AppResourcesHelper.Get("Main_NoInternetConnection"), WrongLoginDataCallback, MessageBoxOptions.Ok); break; default: string messageString = string.IsNullOrEmpty(statusResponse.answer) ? string.Format(AppResourcesHelper.Get("Main_UploadProgramUndefinedError"), statusResponse.statusCode.ToString()) : string.Format(AppResourcesHelper.Get("Main_UploadProgramLoginError"), statusResponse.answer); ServiceLocator.NotifictionService.ShowMessageBox(AppResourcesHelper.Get("Main_UploadProgramLoginErrorCaption"), messageString, WrongLoginDataCallback, MessageBoxOptions.Ok); break; } } IsSending = false; }
public override void NavigateTo() { UploadedLabelText = String.Format(CultureInfo.InvariantCulture, AppResourcesHelper.Get("Main_OnlineProgramUploadedBy"), ServiceLocator.WebCommunicationService.ConvertUnixTimeStamp(Convert.ToDouble(_selectedOnlineProgram.Uploaded.Split('.')[0]))); VersionLabelText = String.Format(CultureInfo.InvariantCulture, AppResourcesHelper.Get("Main_OnlineProgramVersion"), SelectedOnlineProgram.Version); ViewsLabelText = String.Format(CultureInfo.InvariantCulture, AppResourcesHelper.Get("Main_OnlineProgramViews"), SelectedOnlineProgram.Views); DownloadsLabelText = String.Format(CultureInfo.InvariantCulture, AppResourcesHelper.Get("Main_OnlineProgramDownloads"), SelectedOnlineProgram.Downloads); ButtonDownloadIsEnabled = true; base.NavigateTo(); }
public object Convert(object value, Type targetType, object parameter, string language) { if (value != null) { return(value); } return(new GlobalVariable { Name = AppResourcesHelper.Get("Editor_NoVariableSelected") }); }
private async Task CleanUpImport() { ServiceLocator.NotifictionService.ShowToastNotification( AppResourcesHelper.Get("Import_CanceledText"), AppResourcesHelper.Get("Import_CanceledText"), ToastDisplayDuration.Long); using (var storage = StorageSystem.GetStorage()) { await storage.DeleteDirectoryAsync(StorageConstants.TempProgramImportPath); } }
void ToggleSensorButtonLabel() { if (_sensorsAreActive) { SensorButtonLabel = AppResourcesHelper.Get("Editor_StopSensors"); } else { SensorButtonLabel = AppResourcesHelper.Get("Editor_StartSensors"); } }
/// <summary> /// Ensures all parameters are separated by exactly one <see cref="FormulaTokenParameterSeparator"/> and suppresses all occurences of <see cref="FormulaTokenParameterSeparator"/>. /// </summary> private IEnumerable <IFormulaToken> InterpretParameters(IEnumerable <IFormulaToken> tokens) { var expectSeparator = false; foreach (var context in tokens.WithContext()) { if (IsCancellationRequested) { yield break; } var previousToken = context[0]; var token = context[1]; // parameter separator if (token is FormulaTokenParameterSeparator) { if (!expectSeparator) { SetParsingError( source: Range.Empty(GetOrigin(token).Start), message: AppResourcesHelper.Get("FormulaInterpreter_Brackets_EmptyArgument")); yield break; } expectSeparator = false; continue; } // any argument if (token != null) { if (expectSeparator) { SetParsingError( source: Range.Empty(GetOrigin(token).Start), message: AppResourcesHelper.Get("FormulaInterpreter_Brackets_ArgumentDoubleValue")); yield break; } yield return(token); expectSeparator = true; continue; } // last token if (token == null && !expectSeparator) { SetParsingError( source: Range.Empty(GetOrigin(previousToken).End), message: AppResourcesHelper.Get("FormulaInterpreter_Brackets_EmptyArgument")); yield break; } } }
/// <summary> /// Ensures there are no occurences of <see cref="FormulaTokenParameterSeparator"/>. /// </summary> private IEnumerable <IFormulaToken> InterpretNonParameter(IEnumerable <IFormulaToken> tokens) { foreach (var token in tokens) { if (token is FormulaTokenParameterSeparator) { SetParsingError(token, AppResourcesHelper.Get("FormulaInterpreter_Brackets_NonArgumentParameterSeparator")); yield break; } yield return(token); } }
/// <summary> /// Attaches the children of <see cref="FormulaNodeUnaryFunction"/> and <see cref="FormulaNodeBinaryFunction"/>. /// </summary> private IEnumerable <IFormulaToken> InterpretFunctions(IEnumerable <IFormulaToken> tokens) { foreach (var context in tokens.WithContext()) { if (IsCancellationRequested) { yield break; } var previousToken = context[0]; var token = context[1]; // attach argument to function if (previousToken is IFormulaFunction) { if (!(token is FormulaTokenParameter)) { SetParsingError( source: Range.Empty(GetOrigin(previousToken).End), message: AppResourcesHelper.Get("FormulaInterpreter_Function_Empty")); yield break; } var unaryFunctionToken = previousToken as FormulaNodeUnaryFunction; if (unaryFunctionToken != null) { var unaryParameterToken = (FormulaTokenUnaryParameter)token; unaryFunctionToken.Child = unaryParameterToken.Parameter; } var binaryFunctionToken = previousToken as FormulaNodeBinaryFunction; if (binaryFunctionToken != null) { var binaryParameterToken = (FormulaTokenBinaryParameter)token; binaryFunctionToken.FirstChild = binaryParameterToken.FirstParameter; binaryFunctionToken.SecondChild = binaryParameterToken.SecondParameter; } SetOrigin(previousToken, new[] { previousToken, token }); yield return(previousToken); continue; } // yield any other token if (token != null && !(token is IFormulaFunction)) { yield return(token); } } }
private async void RecoverAction() { IsSending = true; if (string.IsNullOrEmpty(_passwordRecoveryData)) { ServiceLocator.NotifictionService.ShowMessageBox(AppResourcesHelper.Get("Main_UploadProgramPasswordRecoveryErrorCaption"), AppResourcesHelper.Get("Main_UploadProgramMissingRecoveryData"), MissingRecoveryDataCallback, MessageBoxOptions.Ok); } else { JSONStatusResponse statusResponse = await ServiceLocator.WebCommunicationService.RecoverPasswordAsync(_passwordRecoveryData, ServiceLocator.CultureService.GetCulture().TwoLetterISOLanguageName); if (statusResponse.statusCode == StatusCodes.ServerResponseOk) { // since 08-2014 this only works on the test-server (https://catroid-test.catrob.at/) //string recoveryLink = statusResponse.answer; //string hashMarker = "?c="; //int position = recoveryLink.LastIndexOf(hashMarker) + hashMarker.Length; //string recoveryHash = recoveryLink.Substring(position, recoveryLink.Length - position); //ServiceLocator.WebCommunicationService.SetRecoveryHash(recoveryHash); //ResetViewModel(); //ServiceLocator.NavigationService.NavigateTo<UploadProgramNewPasswordViewModel>(); //ServiceLocator.NavigationService.RemoveBackEntry(); // since 08-2014 pocketcode-server sends an email with the recovery hash in it ServiceLocator.NotifictionService.ShowMessageBox(AppResourcesHelper.Get("Main_UploadProgramRecoverPassword"), statusResponse.answer, MissingRecoveryDataCallback, MessageBoxOptions.Ok); this.GoBackAction(); } else { switch (statusResponse.statusCode) { case StatusCodes.HTTPRequestFailed: ServiceLocator.NotifictionService.ShowMessageBox(AppResourcesHelper.Get("Main_UploadProgramPasswordRecoveryErrorCaption"), AppResourcesHelper.Get("Main_NoInternetConnection"), MissingRecoveryDataCallback, MessageBoxOptions.Ok); break; default: string messageString = string.IsNullOrEmpty(statusResponse.answer) ? string.Format(AppResourcesHelper.Get("Main_UploadProgramUndefinedError"), statusResponse.statusCode.ToString()) : string.Format(AppResourcesHelper.Get("Main_UploadProgramLoginError"), statusResponse.answer); ServiceLocator.NotifictionService.ShowMessageBox(AppResourcesHelper.Get("Main_UploadProgramPasswordRecoveryErrorCaption"), messageString, MissingRecoveryDataCallback, MessageBoxOptions.Ok); break; } } } IsSending = false; }
private void AxesAction() { if (_axesVisible) { ServiceLocator.PlayerLauncherService.AxesAction(false, AppResourcesHelper.Get("Player_AppBarButton_AxesOn")); _axesVisible = false; } else { ServiceLocator.PlayerLauncherService.AxesAction(true, AppResourcesHelper.Get("Player_AppBarButton_AxesOff")); _axesVisible = true; } }
private async void NewPasswordAction() { IsSending = true; if (string.IsNullOrEmpty(_newPassword) || string.IsNullOrEmpty(_repeatedPassword)) { ServiceLocator.NotifictionService.ShowMessageBox(AppResourcesHelper.Get("Main_UploadProgramPasswordRecoveryErrorCaption"), AppResourcesHelper.Get("Main_UploadProgramMissingPassword"), MissingPasswordDataCallback, MessageBoxOptions.Ok); } else { JSONStatusResponse statusResponse = await ServiceLocator.WebCommunicationService.ChangePasswordAsync(_newPassword, _repeatedPassword, ServiceLocator.CultureService.GetCulture().TwoLetterISOLanguageName); switch (statusResponse.statusCode) { case StatusCodes.ServerResponseOk: this.GoBackAction(); ServiceLocator.NotifictionService.ShowMessageBox(AppResourcesHelper.Get("Main_UploadProgramNewPassword"), AppResourcesHelper.Get("Main_UploadProgramPasswordChangeSucess"), PasswordInvalidCallback, MessageBoxOptions.Ok); break; // because of typing-error in server-message case StatusCodes.ServerResponseRecoveryHashNotFound: ServiceLocator.NotifictionService.ShowMessageBox(AppResourcesHelper.Get("Main_UploadProgramPasswordRecoveryErrorCaption"), AppResourcesHelper.Get("Main_UploadProgramRecoveryHashError"), RecoveryHashNotFoundCallback, MessageBoxOptions.Ok); break; // may be checked locally case StatusCodes.ServerResponsePasswordMatchFailed: ServiceLocator.NotifictionService.ShowMessageBox(AppResourcesHelper.Get("Main_UploadProgramPasswordRecoveryErrorCaption"), AppResourcesHelper.Get("Main_UploadProgramRecoveryPasswordMatchError"), PasswordInvalidCallback, MessageBoxOptions.Ok); break; case StatusCodes.HTTPRequestFailed: ServiceLocator.NotifictionService.ShowMessageBox(AppResourcesHelper.Get("Main_UploadProgramPasswordRecoveryErrorCaption"), AppResourcesHelper.Get("Main_NoInternetConnection"), MissingPasswordDataCallback, MessageBoxOptions.Ok); break; default: string messageString = string.IsNullOrEmpty(statusResponse.answer) ? string.Format(AppResourcesHelper.Get("Main_UploadProgramUndefinedError"), statusResponse.statusCode.ToString()) : statusResponse.answer; ServiceLocator.NotifictionService.ShowMessageBox(AppResourcesHelper.Get("Main_UploadProgramPasswordRecoveryErrorCaption"), messageString, MissingPasswordDataCallback, MessageBoxOptions.Ok); break; } } IsSending = false; }
private void UpdateTextProperties() { var recordButtonHeaderRecord = AppResourcesHelper.Get("Editor_RecorderRecord"); var recordButtonHeaderStop = AppResourcesHelper.Get("Editor_RecorderStop"); var recordButtonTextRecord = AppResourcesHelper.Get("Editor_RecorderStart"); var recordButtonTextStop = AppResourcesHelper.Get("Editor_RecorderStop"); if (IsRecording) { RecordButtonHeader = recordButtonHeaderStop; RecordButtonText = recordButtonTextStop; } else { RecordButtonHeader = recordButtonHeaderRecord; RecordButtonText = recordButtonTextRecord; } }
public async Task ExportToPocketCodeOrgWithNotifications(string programName, string currentUserName, string currentToken) { _cancellationTokenSource = new CancellationTokenSource(); JSONStatusResponse statusResponse = await Task.Run(() => ServiceLocator.WebCommunicationService.UploadProgramAsync( programName, currentUserName, currentToken, _cancellationTokenSource.Token, ServiceLocator.CultureService.GetCulture().TwoLetterISOLanguageName), _cancellationTokenSource.Token); if (_cancellationTokenSource.Token.IsCancellationRequested == true) { ServiceLocator.NotifictionService.ShowToastNotification( AppResourcesHelper.Get("Export_CanceledText"), AppResourcesHelper.Get("Export_CanceledText"), ToastDisplayDuration.Long); return; } switch (statusResponse.statusCode) { case StatusCodes.ServerResponseOk: break; case StatusCodes.HTTPRequestFailed: ServiceLocator.NotifictionService.ShowMessageBox(AppResourcesHelper.Get("Main_UploadProgramErrorCaption"), AppResourcesHelper.Get("Main_NoInternetConnection"), UploadErrorCallback, MessageBoxOptions.Ok); break; default: string messageString = string.IsNullOrEmpty(statusResponse.answer) ? string.Format(AppResourcesHelper.Get("Main_UploadProgramUndefinedError"), statusResponse.statusCode.ToString()) : string.Format(AppResourcesHelper.Get("Main_UploadProgramError"), statusResponse.answer); ServiceLocator.NotifictionService.ShowMessageBox(AppResourcesHelper.Get("Main_UploadProgramErrorCaption"), messageString, UploadErrorCallback, MessageBoxOptions.Ok); break; } if (ServiceLocator.WebCommunicationService.NoUploadsPending()) { ServiceLocator.NotifictionService.ShowToastNotification(null, AppResourcesHelper.Get("Main_NoUploadsPending"), ToastDisplayDuration.Short); } }
public async Task <string> FindUniqueProgramName(string programName) { using (var storage = StorageSystem.GetStorage()) { int counter = 0; while (true) { string programPath = Path.Combine(StorageConstants.ProgramsPath, programName); if (counter != 0) { programPath = Path.Combine(StorageConstants.ProgramsPath, programName + counter); } if (!await storage.DirectoryExistsAsync(programPath)) { break; } counter++; } string programNameUnique = programName; if (counter != 0) { programNameUnique = programName + counter; } if (programName != programNameUnique) { ServiceLocator.NotifictionService.ShowToastNotification("", AppResourcesHelper.Get("Main_ProgramNameDuplicate"), ToastDisplayDuration.Short, ToastTag.Default); } return(programNameUnique.Trim()); } }
private async void UploadAction() { lock (_exportLock) { if (IsSending) { ServiceLocator.NotifictionService.ShowMessageBox( AppResourcesHelper.Get("Main_Sending"), AppResourcesHelper.Get("Export_Busy"), CancelExportCallback, MessageBoxOptions.Ok); return; } IsSending = true; } try { //await CurrentProgram.SetProgramNameAndRenameDirectory(ProgramName); //CurrentProgram.Description = ProgramDescription; //await App.SaveContext(CurrentProgram); var message = new GenericMessage <string>(ProgramName); Messenger.Default.Send(message, ViewModelMessagingToken.UploadProgramStartedListener); Task uploadTask = ServiceLocator.ProgramExportService.ExportToPocketCodeOrgWithNotifications( ProgramName, Context.CurrentUserName, Context.CurrentToken); this.GoBackAction(); await Task.Run(() => uploadTask); } finally { ServiceLocator.DispatcherService.RunOnMainThread(() => { lock (_exportLock) { IsSending = false; } }); } }
private async void DownloadAction(OnlineProgramHeader programHeader) { lock (_importLock) { if (IsImporting) { ServiceLocator.NotifictionService.ShowMessageBox( AppResourcesHelper.Get("Main_OnlineProgramLoading"), AppResourcesHelper.Get("Main_OnlineProgramDownloadBusy"), CancelImportCallback, MessageBoxOptions.Ok); return; } IsImporting = true; } var message = new GenericMessage <string>(programHeader.ProjectName); Messenger.Default.Send(message, ViewModelMessagingToken.DownloadProgramStartedListener); try { ServiceLocator.DispatcherService.RunOnMainThread(() => ServiceLocator.NavigationService.NavigateBack <OnlineProgramViewModel>()); ServiceLocator.ProgramImportService.SetDownloadHeader(programHeader); await Task.Run(() => ServiceLocator.ProgramImportService.TryImportWithStatusNotifications()).ConfigureAwait(false); } finally { ServiceLocator.DispatcherService.RunOnMainThread(() => { lock (_importLock) { IsImporting = false; } }); } }
public override string Serialize() { return(AppResourcesHelper.Get("Formula_Constant_False")); }
public override string Serialize() { return(AppResourcesHelper.Get("Formula_Property_PositionX")); }
public override string Serialize() { return(AppResourcesHelper.Get("Formula_Property_Transparency")); }
public override string Serialize() { return(AppResourcesHelper.Get("Formula_Property_Brightness")); }
private void ResetViewModel() { UserVariableName = AppResourcesHelper.Get("Editor_DefaultGlobalVariableName"); }
public string GetProgramDefaultName() { return(AppResourcesHelper.Get("Main_WhackAMoleName")); }
private static void FillSprites(Program program) { var objectBackground = new Sprite { Name = AppResourcesHelper.Get("DefaultProgram_Background") }; var objectMole1 = new Sprite { Name = AppResourcesHelper.Get("WhackAMole_Mole") + " 1" }; var objectMole2 = new Sprite { Name = AppResourcesHelper.Get("WhackAMole_Mole") + " 2" }; var objectMole3 = new Sprite { Name = AppResourcesHelper.Get("WhackAMole_Mole") + " 3" }; var objectMole4 = new Sprite { Name = AppResourcesHelper.Get("WhackAMole_Mole") + " 4" }; #region Background objectBackground.Looks.Add(new Look { Name = AppResourcesHelper.Get("DefaultProgram_Background"), FileName = LookFileNameBackground }); objectBackground.Looks.Add(new Look { Name = AppResourcesHelper.Get("DefaultProgram_Background") + "End", FileName = LookFileNameBackgroundFinished }); StartScript startScriptBackground = new StartScript(); { SetLookBrick look = new SetLookBrick(); look.Value = objectBackground.Looks[0]; startScriptBackground.Bricks.Add(look); } { SetSizeBrick sizeBack = new SetSizeBrick(); sizeBack.Percentage = FormulaTreeFactory.CreateNumberNode(75); startScriptBackground.Bricks.Add(sizeBack); } objectBackground.Scripts.Add(startScriptBackground); #endregion #region mole1 objectMole1.Looks.Add(new Look { Name = AppResourcesHelper.Get("WhackAMole_MovingMole"), FileName = LookFileNameMole1 }); objectMole1.Looks.Add(new Look { Name = AppResourcesHelper.Get("WhackAMole_DizzyMole"), FileName = LookFileNameMole2 }); objectMole1.Looks.Add(new Look { Name = AppResourcesHelper.Get("WhackAMole_Mole"), FileName = LookFileNameMole3 }); StartScript startScriptMole1 = new StartScript(); { SetSizeBrick sizeBrick = new SetSizeBrick(); sizeBrick.Percentage = FormulaTreeFactory.CreateNumberNode(20); startScriptMole1.Bricks.Add(sizeBrick); } ForeverBrick startForeverBrick1 = new ForeverBrick(); EndForeverBrick endForeverBrick1 = new EndForeverBrick(); startForeverBrick1.End = endForeverBrick1; endForeverBrick1.Begin = startForeverBrick1; startScriptMole1.Bricks.Add(startForeverBrick1); { SetPositionBrick pos = new SetPositionBrick(); pos.ValueX = FormulaTreeFactory.CreateNumberNode(-115); pos.ValueY = FormulaTreeFactory.CreateNumberNode(-80); startScriptMole1.Bricks.Add(pos); } { DelayBrick wait = new DelayBrick(); wait.Duration = FormulaTreeFactory.CreateRandomNode( firstChild: FormulaTreeFactory.CreateNumberNode(1), secondChild: FormulaTreeFactory.CreateNumberNode(2)); startScriptMole1.Bricks.Add(wait); } startScriptMole1.Bricks.Add(new ShowBrick()); { SetLookBrick look = new SetLookBrick(); look.Value = objectMole1.Looks[0]; startScriptMole1.Bricks.Add(look); } { AnimatePositionBrick slide = new AnimatePositionBrick(); slide.Duration = FormulaTreeFactory.CreateNumberNode(0.1); slide.ToX = FormulaTreeFactory.CreateNumberNode(0); slide.ToY = FormulaTreeFactory.CreateNumberNode(10); startScriptMole1.Bricks.Add(slide); } { SetLookBrick look = new SetLookBrick(); look.Value = objectMole1.Looks[2]; startScriptMole1.Bricks.Add(look); } { DelayBrick wait = new DelayBrick(); wait.Duration = FormulaTreeFactory.CreateRandomNode( firstChild: FormulaTreeFactory.CreateNumberNode(1), secondChild: FormulaTreeFactory.CreateNumberNode(5)); startScriptMole1.Bricks.Add(wait); } startScriptMole1.Bricks.Add(new HideBrick()); { DelayBrick wait = new DelayBrick(); wait.Duration = FormulaTreeFactory.CreateRandomNode( firstChild: FormulaTreeFactory.CreateNumberNode(1), secondChild: FormulaTreeFactory.CreateNumberNode(5)); startScriptMole1.Bricks.Add(wait); } startScriptMole1.Bricks.Add(endForeverBrick1); objectMole1.Scripts.Add(startScriptMole1); TappedScript tappedScriptMole1 = new TappedScript(); { SetLookBrick look = new SetLookBrick(); look.Value = objectMole1.Looks[1]; tappedScriptMole1.Bricks.Add(look); } { DelayBrick wait = new DelayBrick(); wait.Duration = FormulaTreeFactory.CreateNumberNode(1.5); tappedScriptMole1.Bricks.Add(wait); } tappedScriptMole1.Bricks.Add(new HideBrick()); objectMole1.Scripts.Add(tappedScriptMole1); #endregion #region mole2 objectMole2.Looks.Add(new Look { Name = AppResourcesHelper.Get("WhackAMole_MovingMole"), FileName = LookFileNameMole1 }); objectMole2.Looks.Add(new Look { Name = AppResourcesHelper.Get("WhackAMole_DizzyMole"), FileName = LookFileNameMole2 }); objectMole2.Looks.Add(new Look { Name = AppResourcesHelper.Get("WhackAMole_Mole"), FileName = LookFileNameMole3 }); StartScript startScriptMole2 = new StartScript(); { SetSizeBrick sizeBrick = new SetSizeBrick(); sizeBrick.Percentage = FormulaTreeFactory.CreateNumberNode(20); startScriptMole2.Bricks.Add(sizeBrick); } ForeverBrick startForeverBrick2 = new ForeverBrick(); EndForeverBrick endForeverBrick2 = new EndForeverBrick(); startForeverBrick2.End = endForeverBrick2; endForeverBrick2.Begin = startForeverBrick2; startScriptMole2.Bricks.Add(startForeverBrick2); { SetPositionBrick pos = new SetPositionBrick(); pos.ValueX = FormulaTreeFactory.CreateNumberNode(115); pos.ValueY = FormulaTreeFactory.CreateNumberNode(-80); startScriptMole2.Bricks.Add(pos); } { DelayBrick wait = new DelayBrick(); wait.Duration = FormulaTreeFactory.CreateRandomNode( firstChild: FormulaTreeFactory.CreateNumberNode(1), secondChild: FormulaTreeFactory.CreateNumberNode(2)); startScriptMole2.Bricks.Add(wait); } startScriptMole2.Bricks.Add(new ShowBrick()); { SetLookBrick look = new SetLookBrick(); look.Value = objectMole2.Looks[0]; startScriptMole2.Bricks.Add(look); } { AnimatePositionBrick slide = new AnimatePositionBrick(); slide.Duration = FormulaTreeFactory.CreateNumberNode(0.1); slide.ToX = FormulaTreeFactory.CreateNumberNode(0); slide.ToY = FormulaTreeFactory.CreateNumberNode(10); startScriptMole2.Bricks.Add(slide); } { SetLookBrick look = new SetLookBrick(); look.Value = objectMole2.Looks[2]; startScriptMole2.Bricks.Add(look); } { DelayBrick wait = new DelayBrick(); wait.Duration = FormulaTreeFactory.CreateRandomNode( firstChild: FormulaTreeFactory.CreateNumberNode(1), secondChild: FormulaTreeFactory.CreateNumberNode(5)); startScriptMole2.Bricks.Add(wait); } startScriptMole2.Bricks.Add(new HideBrick()); { DelayBrick wait = new DelayBrick(); wait.Duration = FormulaTreeFactory.CreateRandomNode( firstChild: FormulaTreeFactory.CreateNumberNode(1), secondChild: FormulaTreeFactory.CreateNumberNode(5)); startScriptMole2.Bricks.Add(wait); } startScriptMole2.Bricks.Add(endForeverBrick2); objectMole2.Scripts.Add(startScriptMole2); TappedScript tappedScriptMole2 = new TappedScript(); { SetLookBrick look = new SetLookBrick(); look.Value = objectMole2.Looks[1]; tappedScriptMole2.Bricks.Add(look); } { DelayBrick wait = new DelayBrick(); wait.Duration = FormulaTreeFactory.CreateNumberNode(1.5); tappedScriptMole2.Bricks.Add(wait); } tappedScriptMole2.Bricks.Add(new HideBrick()); objectMole2.Scripts.Add(tappedScriptMole2); #endregion #region mole3 objectMole3.Looks.Add(new Look { Name = AppResourcesHelper.Get("WhackAMole_MovingMole"), FileName = LookFileNameMole1 }); objectMole3.Looks.Add(new Look { Name = AppResourcesHelper.Get("WhackAMole_DizzyMole"), FileName = LookFileNameMole2 }); objectMole3.Looks.Add(new Look { Name = AppResourcesHelper.Get("WhackAMole_Mole"), FileName = LookFileNameMole3 }); StartScript startScriptMole3 = new StartScript(); { SetSizeBrick sizeBrick = new SetSizeBrick(); sizeBrick.Percentage = FormulaTreeFactory.CreateNumberNode(20); startScriptMole3.Bricks.Add(sizeBrick); } ForeverBrick startForeverBrick3 = new ForeverBrick(); EndForeverBrick endForeverBrick3 = new EndForeverBrick(); startForeverBrick3.End = endForeverBrick3; endForeverBrick3.Begin = startForeverBrick3; startScriptMole3.Bricks.Add(startForeverBrick3); { SetPositionBrick pos = new SetPositionBrick(); pos.ValueX = FormulaTreeFactory.CreateNumberNode(-115); pos.ValueY = FormulaTreeFactory.CreateNumberNode(-215); startScriptMole3.Bricks.Add(pos); } { DelayBrick wait = new DelayBrick(); wait.Duration = FormulaTreeFactory.CreateRandomNode( firstChild: FormulaTreeFactory.CreateNumberNode(1), secondChild: FormulaTreeFactory.CreateNumberNode(2)); startScriptMole3.Bricks.Add(wait); } startScriptMole3.Bricks.Add(new ShowBrick()); { SetLookBrick look = new SetLookBrick(); look.Value = objectMole3.Looks[0]; startScriptMole3.Bricks.Add(look); } { AnimatePositionBrick slide = new AnimatePositionBrick(); slide.Duration = FormulaTreeFactory.CreateNumberNode(0.1); slide.ToX = FormulaTreeFactory.CreateNumberNode(0); slide.ToY = FormulaTreeFactory.CreateNumberNode(10); startScriptMole3.Bricks.Add(slide); } { SetLookBrick look = new SetLookBrick(); look.Value = objectMole3.Looks[2]; startScriptMole3.Bricks.Add(look); } { DelayBrick wait = new DelayBrick(); wait.Duration = FormulaTreeFactory.CreateRandomNode( firstChild: FormulaTreeFactory.CreateNumberNode(1), secondChild: FormulaTreeFactory.CreateNumberNode(5)); startScriptMole3.Bricks.Add(wait); } startScriptMole3.Bricks.Add(new HideBrick()); { DelayBrick wait = new DelayBrick(); wait.Duration = FormulaTreeFactory.CreateRandomNode( firstChild: FormulaTreeFactory.CreateNumberNode(1), secondChild: FormulaTreeFactory.CreateNumberNode(5)); startScriptMole3.Bricks.Add(wait); } startScriptMole3.Bricks.Add(endForeverBrick3); objectMole3.Scripts.Add(startScriptMole3); TappedScript tappedScriptMole3 = new TappedScript(); { SetLookBrick look = new SetLookBrick(); look.Value = objectMole3.Looks[1]; tappedScriptMole3.Bricks.Add(look); } { DelayBrick wait = new DelayBrick(); wait.Duration = FormulaTreeFactory.CreateNumberNode(1.5); tappedScriptMole3.Bricks.Add(wait); } tappedScriptMole3.Bricks.Add(new HideBrick()); objectMole3.Scripts.Add(tappedScriptMole3); #endregion #region mole4 objectMole4.Looks.Add(new Look { Name = AppResourcesHelper.Get("WhackAMole_MovingMole"), FileName = LookFileNameMole1 }); objectMole4.Looks.Add(new Look { Name = AppResourcesHelper.Get("WhackAMole_DizzyMole"), FileName = LookFileNameMole2 }); objectMole4.Looks.Add(new Look { Name = AppResourcesHelper.Get("WhackAMole_Mole"), FileName = LookFileNameMole3 }); StartScript startScriptMole4 = new StartScript(); { SetSizeBrick sizeBrick = new SetSizeBrick(); sizeBrick.Percentage = FormulaTreeFactory.CreateNumberNode(20); startScriptMole4.Bricks.Add(sizeBrick); } ForeverBrick startForeverBrick4 = new ForeverBrick(); EndForeverBrick endForeverBrick4 = new EndForeverBrick(); startForeverBrick4.End = endForeverBrick4; endForeverBrick4.Begin = startForeverBrick4; startScriptMole4.Bricks.Add(startForeverBrick4); { SetPositionBrick pos = new SetPositionBrick(); pos.ValueX = FormulaTreeFactory.CreateNumberNode(115); pos.ValueY = FormulaTreeFactory.CreateNumberNode(-215); startScriptMole4.Bricks.Add(pos); } { DelayBrick wait = new DelayBrick(); wait.Duration = FormulaTreeFactory.CreateRandomNode( firstChild: FormulaTreeFactory.CreateNumberNode(1), secondChild: FormulaTreeFactory.CreateNumberNode(2)); startScriptMole4.Bricks.Add(wait); } startScriptMole4.Bricks.Add(new ShowBrick()); { SetLookBrick look = new SetLookBrick(); look.Value = objectMole4.Looks[0]; startScriptMole4.Bricks.Add(look); } { AnimatePositionBrick slide = new AnimatePositionBrick(); slide.Duration = FormulaTreeFactory.CreateNumberNode(0.1); slide.ToX = FormulaTreeFactory.CreateNumberNode(0); slide.ToY = FormulaTreeFactory.CreateNumberNode(10); startScriptMole4.Bricks.Add(slide); } { SetLookBrick look = new SetLookBrick(); look.Value = objectMole4.Looks[2]; startScriptMole4.Bricks.Add(look); } { DelayBrick wait = new DelayBrick(); wait.Duration = FormulaTreeFactory.CreateRandomNode( firstChild: FormulaTreeFactory.CreateNumberNode(1), secondChild: FormulaTreeFactory.CreateNumberNode(5)); startScriptMole4.Bricks.Add(wait); } startScriptMole4.Bricks.Add(new HideBrick()); { DelayBrick wait = new DelayBrick(); wait.Duration = FormulaTreeFactory.CreateRandomNode( firstChild: FormulaTreeFactory.CreateNumberNode(1), secondChild: FormulaTreeFactory.CreateNumberNode(5)); startScriptMole4.Bricks.Add(wait); } startScriptMole4.Bricks.Add(endForeverBrick4); objectMole4.Scripts.Add(startScriptMole4); TappedScript tappedScriptMole4 = new TappedScript(); { SetLookBrick look = new SetLookBrick(); look.Value = objectMole4.Looks[1]; tappedScriptMole4.Bricks.Add(look); } { DelayBrick wait = new DelayBrick(); wait.Duration = FormulaTreeFactory.CreateNumberNode(1.5); tappedScriptMole4.Bricks.Add(wait); } tappedScriptMole4.Bricks.Add(new HideBrick()); objectMole4.Scripts.Add(tappedScriptMole4); #endregion program.Sprites.Add(objectBackground); program.Sprites.Add(objectMole1); program.Sprites.Add(objectMole2); program.Sprites.Add(objectMole3); program.Sprites.Add(objectMole4); }