Catrobat.IDE.Core.ProgramChecker.CheckProgram C# (CSharp) Method

CheckProgram() public static method

public static CheckProgram ( System.Program program ) : void
program System.Program
return void
        public static void CheckProgram(Program program)
        {
            const int moleIndex = 2;


                var foreverBegin = program.Sprites[moleIndex].Scripts[0].Bricks.FirstOrDefault(
                    a => a is ForeverBrick) as ForeverBrick;
                var foreverEnd = program.Sprites[moleIndex].Scripts[0].Bricks.FirstOrDefault(
                    a => a is EndForeverBrick) as EndForeverBrick;

                if (foreverBegin == null)
                    Debugger.Break();

                if (foreverEnd == null)
                    Debugger.Break();

                if (foreverBegin.End != foreverEnd)
                    Debugger.Break();

                if (foreverEnd.Begin != foreverBegin)
                    Debugger.Break();
        }

Same methods

ProgramChecker::CheckProgram ( XmlProgram program ) : void

Usage Example

Example #1
0
        private static async Task LoadContext()
        {
            await ServiceLocator.TraceService.LoadLocal();

            _context = new CatrobatContext();

            var localSettings = await ServiceLocator.ContextService.RestoreLocalSettings();

            _context.LocalSettings = localSettings;

            if (localSettings == null)
            {
                _context.LocalSettings = new LocalSettings();

                var defaultProject = await ServiceLocator.ContextService.
                                     RestoreDefaultProgram(AppResources.Main_DefaultProgramName);

                ProgramChecker.CheckProgram(defaultProject);

                _context.LocalSettings.CurrentProgramName = defaultProject.Name;
                await defaultProject.Save();
            }

            if (_context.LocalSettings.CurrentLanguageString == null)
            {
                _context.LocalSettings.CurrentLanguageString =
                    ServiceLocator.CultureService.GetCulture().TwoLetterISOLanguageName;
            }

            var themeChooser = ServiceLocator.ThemeChooser;

            if (_context.LocalSettings.CurrentThemeIndex != -1)
            {
                themeChooser.SelectedThemeIndex = _context.LocalSettings.CurrentThemeIndex;
            }

            if (_context.LocalSettings.CurrentLanguageString != null)
            {
                ServiceLocator.GetInstance <SettingsViewModel>().CurrentCulture =
                    new CultureInfo(_context.LocalSettings.CurrentLanguageString);
            }

            var themeChooserChangedMessage = new GenericMessage <ThemeChooser>(themeChooser);

            Messenger.Default.Send(themeChooserChangedMessage, ViewModelMessagingToken.ThemeChooserListener);

            var contextChangedMessage = new GenericMessage <CatrobatContextBase>(_context);

            Messenger.Default.Send(contextChangedMessage, ViewModelMessagingToken.ContextListener);

            var localProjectsChangedMessage = new MessageBase();

            Messenger.Default.Send(localProjectsChangedMessage, ViewModelMessagingToken.LocalProgramsChangedListener);

            //var message = new GenericMessage<Project>(currentProject);
            //Messenger.Default.Send(message, ViewModelMessagingToken.CurrentProgramChangedListener);

            // allow viewmodels to load from settings
            Messenger.Default.Send(new GenericMessage <LocalSettings>(_context.LocalSettings), ViewModelMessagingToken.LoadSettings);
        }
ProgramChecker